robot

Dependencies:   FastPWM3 mbed

Committer:
bwang
Date:
Tue Oct 02 06:21:44 2018 +0000
Revision:
222:b58a95551632
Parent:
199:c160a2c03781
Child:
246:167b5d50d0f2
10/02/2018 02:21 - processCmd() now uses else-if statements, prints message if command is invalid

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bwang 181:d3510c8beab6 1 #include "mbed.h"
bwang 181:d3510c8beab6 2 #include "CommandProcessor.h"
bwang 181:d3510c8beab6 3 #include "PreferenceWriter.h"
bwang 181:d3510c8beab6 4
bwang 181:d3510c8beab6 5 void processCmd(Serial *pc, PreferenceWriter *pref, char *buf) {
bwang 181:d3510c8beab6 6 char *tokens[10];
bwang 181:d3510c8beab6 7 int len = tokenize(buf, tokens, 10);
bwang 181:d3510c8beab6 8
bwang 181:d3510c8beab6 9 switch (len) {
bwang 181:d3510c8beab6 10 case 1:
bwang 181:d3510c8beab6 11 if (strcmp(tokens[0], "ls") == 0) cmd_ls(pc);
bwang 222:b58a95551632 12 else if (strcmp(tokens[0], "defaults") == 0) cmd_defaults(pc);
bwang 222:b58a95551632 13 else if (strcmp(tokens[0], "reload") == 0) cmd_reload(pc, pref);
bwang 222:b58a95551632 14 else if (strcmp(tokens[0], "load") == 0) cmd_reload(pc, pref);
bwang 222:b58a95551632 15 else if (strcmp(tokens[0], "flush") == 0) cmd_flush(pc, pref);
bwang 222:b58a95551632 16 else if (strcmp(tokens[0], "mode") == 0) cmd_ls2(pc, tokens[0]);
bwang 222:b58a95551632 17 else if (strcmp(tokens[0], "src") == 0) cmd_ls2(pc, tokens[0]);
bwang 222:b58a95551632 18 else if (strcmp(tokens[0], "op") == 0) cmd_ls2(pc, tokens[0]);
bwang 222:b58a95551632 19 else if (strcmp(tokens[0], "run") == 0) cmd_mode(pc, tokens[0]);
bwang 222:b58a95551632 20 else if (strcmp(tokens[0], "cfg") == 0) cmd_mode(pc, tokens[0]);
bwang 222:b58a95551632 21 else if (strcmp(tokens[0], "zero") == 0) cmd_mode(pc, tokens[0]);
bwang 222:b58a95551632 22 else if (strcmp(tokens[0], "wizard") == 0) cmd_mode(pc, tokens[0]);
bwang 222:b58a95551632 23 else if (strcmp(tokens[0], "exit") == 0) cmd_exit(pc);
bwang 222:b58a95551632 24 else if (strcmp(tokens[0], "clear") == 0) cmd_clear(pc);
bwang 222:b58a95551632 25 else pc->printf("%s\n", "Bad command");
bwang 181:d3510c8beab6 26 break;
bwang 181:d3510c8beab6 27 case 2:
bwang 181:d3510c8beab6 28 if (strcmp(tokens[0], "ls") == 0) cmd_ls2(pc, tokens[1]);
bwang 222:b58a95551632 29 else if (strcmp(tokens[0], "get") == 0) cmd_ls2(pc, tokens[1]);
bwang 222:b58a95551632 30 else if (strcmp(tokens[0], "setp") == 0) cmd_setp(pc, tokens[1]);
bwang 222:b58a95551632 31 else if (strcmp(tokens[0], "mode") == 0) cmd_mode(pc, tokens[1]);
bwang 222:b58a95551632 32 else if (strcmp(tokens[0], "src") == 0) cmd_src(pc, tokens[1]);
bwang 222:b58a95551632 33 else if (strcmp(tokens[0], "op") == 0) cmd_op(pc, tokens[1]);
bwang 222:b58a95551632 34 else if (strcmp(tokens[0], "query") == 0) cmd_query(pc, tokens[1]);
bwang 222:b58a95551632 35 else pc->printf("%s\n", "Bad command");
bwang 181:d3510c8beab6 36 break;
bwang 181:d3510c8beab6 37 case 3:
bwang 181:d3510c8beab6 38 if (strcmp(tokens[0], "set") == 0) cmd_set(pc, tokens[1], tokens[2]);
bwang 222:b58a95551632 39 else pc->printf("%s\n", "Bad command");
bwang 181:d3510c8beab6 40 default:
bwang 181:d3510c8beab6 41 break;
bwang 181:d3510c8beab6 42 }
bwang 181:d3510c8beab6 43 }