flash based config testing

Dependencies:   mbed

main.cpp

Committer:
bwang
Date:
2017-03-02
Revision:
2:cfc39b0843ae
Parent:
1:df6bbacb7bb9
Child:
3:82c00c8e2cb4

File content as of revision 2:cfc39b0843ae:

#include "mbed.h"

#include "PreferenceWriter.h"
#include "FlashWriter.h"
#include "CommandProcessor.h"
#include "config.h"

Serial pc(USBTX, USBRX);
PreferenceWriter pref(6);
DigitalOut led(LED1);

int index = 0, mode = MODE_RUN;
char linebuf[128];

void rxCallback() {
    while (pc.readable()) {
        char c = pc.getc();
        if (c != 127 && c != '\r' && c != '\t') {
            linebuf[index] = c;
            index++;
            pc.putc(c);
        } else if (c == 127) {
            if (index > 0) {
                index--;
                pc.putc(c);
            }
        } else if (c == '\r') {
            linebuf[index] = 0;
            pc.putc(c);
            processCmd(&pc, &pref, linebuf);
            index = 0;
            pc.putc('>');
        }
    }
}

void commutate() {
    if (mode != MODE_RUN) {
        led = 0;
    } else {
        led = 1;
    }
}

int main() {
    pc.baud(115200);
    pc.attach(rxCallback);
    pc.printf("%s\n", "Serial Configuration Test");
    pc.printf("%s", ">");
    
    Ticker tick;
    tick.attach_us(commutate, 200);
    
    for(;;) {
    }
}