nuclear@0: #include nuclear@0: #include nuclear@0: #include nuclear@0: #include nuclear@0: #include nuclear@0: #include "serial.h" nuclear@0: nuclear@0: void procmd(const char *cmd); nuclear@0: nuclear@0: #define MAX_INPUT_SIZE 128 nuclear@0: static char input[MAX_INPUT_SIZE]; nuclear@0: static unsigned char inp_cidx; nuclear@0: nuclear@0: int main(void) nuclear@0: { nuclear@0: init_serial(38400); nuclear@0: sei(); nuclear@0: nuclear@0: printf("welcome!\n"); nuclear@0: nuclear@0: for(;;) { nuclear@0: while(have_input()) { nuclear@0: int c = getchar(); nuclear@0: putchar(c); nuclear@0: nuclear@0: if(c == '\r' || c == '\n') { nuclear@0: input[inp_cidx] = 0; nuclear@0: procmd(input); nuclear@0: inp_cidx = 0; nuclear@0: } else if(inp_cidx < sizeof input - 1) { nuclear@0: input[inp_cidx++] = c; nuclear@0: } nuclear@0: } nuclear@0: } nuclear@0: return 0; nuclear@0: } nuclear@0: nuclear@0: void procmd(const char *cmd) nuclear@0: { nuclear@0: if(strcmp(cmd, "info") == 0) { nuclear@0: printf("test firmware v0\n"); nuclear@0: } else { nuclear@0: printf("unknown command: %s\n", cmd); nuclear@0: } nuclear@0: }