X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fao_cmd.c;h=6007773c96cdaba0a8eb6ca63ea4c83580bc7b9f;hb=e980b251e5a4d25410710a9aa89ef940e06b0d93;hp=b6d2b886e766be90fd2cf4054a51b1c158208bb0;hpb=c671a3f31f54715284beef5baa4a72ca922e4018;p=fw%2Faltos diff --git a/src/ao_cmd.c b/src/ao_cmd.c index b6d2b886..6007773c 100644 --- a/src/ao_cmd.c +++ b/src/ao_cmd.c @@ -208,7 +208,7 @@ ao_reboot(void) if (!ao_match_word("eboot")) return; WDCTL = WDCTL_EN | WDCTL_MODE_WATCHDOG | WDCTL_INT_64; - ao_sleep(AO_SEC_TO_TICKS(2)); + ao_delay(AO_SEC_TO_TICKS(2)); ao_panic(AO_PANIC_REBOOT); } @@ -237,8 +237,10 @@ help(void) puts(help_txt); for (cmds = 0; cmds < ao_ncmds; cmds++) { cs = ao_cmds[cmds]; - for (cmd = 0; cs[cmd].cmd != '\0'; cmd++) - puts(cs[cmd].help); + for (cmd = 0; cs[cmd].func; cmd++) + printf("%-45s %s\n", + cs[cmd].help, + cs[cmd].help+1+strlen(cs[cmd].help)); } } @@ -263,13 +265,12 @@ ao_cmd_register(__code struct ao_cmds *cmds) } void -ao_cmd(void *parameters) +ao_cmd(void) { __xdata char c; __xdata uint8_t cmd, cmds; __code struct ao_cmds * __xdata cs; void (*__xdata func)(void); - (void) parameters; lex_echo = 1; for (;;) { @@ -283,8 +284,8 @@ ao_cmd(void *parameters) func = (void (*)(void)) NULL; for (cmds = 0; cmds < ao_ncmds; cmds++) { cs = ao_cmds[cmds]; - for (cmd = 0; cs[cmd].cmd != '\0'; cmd++) - if (cs[cmd].cmd == c) { + for (cmd = 0; cs[cmd].func; cmd++) + if (cs[cmd].help[0] == c) { func = cs[cmd].func; break; } @@ -302,12 +303,12 @@ ao_cmd(void *parameters) __xdata struct ao_task ao_cmd_task; __code struct ao_cmds ao_base_cmds[] = { - { '?', help, "? Print this message" }, - { 'T', ao_task_info, "T Show task states" }, - { 'E', echo, "E <0 off, 1 on> Set command echo mode" }, - { 'r', ao_reboot, "r eboot Reboot" }, - { 'v', version, "v Show version" }, - { 0, help, NULL }, + { help, "?\0Print this message" }, + { ao_task_info, "T\0Show task states" }, + { echo, "E <0 off, 1 on>\0Set command echo mode" }, + { ao_reboot, "r eboot\0Reboot" }, + { version, "v\0Show version" }, + { 0, NULL }, }; void