X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fao_cmd.c;h=60f1071631d180cccf6f16741a0f022c5701fa3b;hb=64860be02b3efa6f784a259249cfa6d14545fbd3;hp=23346c3d53c918ea9ae906005e6eb4b9bd03ac20;hpb=44fb71ca3e5bccd5f601fc5a2d5da7292050b1d6;p=fw%2Faltos diff --git a/src/ao_cmd.c b/src/ao_cmd.c index 23346c3d..60f10716 100644 --- a/src/ao_cmd.c +++ b/src/ao_cmd.c @@ -110,9 +110,8 @@ putnibble(uint8_t v) void ao_cmd_put16(uint16_t v) { - int8_t i; - for (i = 3; i >= 0; i--) - putnibble((v >> (i << 2)) & 0xf); + ao_cmd_put8(v >> 8); + ao_cmd_put8(v); } void @@ -133,18 +132,20 @@ void ao_cmd_hex(void) { __xdata uint8_t r = ao_cmd_lex_error; + uint8_t n; ao_cmd_lex_i = 0; ao_cmd_white(); for(;;) { if ('0' <= ao_cmd_lex_c && ao_cmd_lex_c <= '9') - ao_cmd_lex_i = (ao_cmd_lex_i << 4) | (ao_cmd_lex_c - '0'); + n = (ao_cmd_lex_c - '0'); else if ('a' <= ao_cmd_lex_c && ao_cmd_lex_c <= 'f') - ao_cmd_lex_i = (ao_cmd_lex_i << 4) | (ao_cmd_lex_c - 'a' + 10); + n = (ao_cmd_lex_c - 'a' + 10); else if ('A' <= ao_cmd_lex_c && ao_cmd_lex_c <= 'F') - ao_cmd_lex_i = (ao_cmd_lex_i << 4) | (ao_cmd_lex_c - 'A' + 10); + n = (ao_cmd_lex_c - 'A' + 10); else break; + ao_cmd_lex_i = (ao_cmd_lex_i << 4) | n; r = ao_cmd_success; ao_cmd_lex(); } @@ -221,8 +222,6 @@ version(void) printf("software-version %s\n", ao_version); } -static const char help_txt[] = "All numbers are in hex"; - #define NUM_CMDS 11 static __code struct ao_cmds *__xdata (ao_cmds[NUM_CMDS]); @@ -234,7 +233,7 @@ help(void) __xdata uint8_t cmds; __xdata uint8_t cmd; __code struct ao_cmds * __xdata cs; - puts(help_txt); + for (cmds = 0; cmds < ao_ncmds; cmds++) { cs = ao_cmds[cmds]; for (cmd = 0; cs[cmd].func; cmd++) @@ -267,8 +266,8 @@ ao_cmd_register(__code struct ao_cmds *cmds) void ao_cmd(void) { - __xdata char c; - __xdata uint8_t cmd, cmds; + char c; + uint8_t cmd, cmds; __code struct ao_cmds * __xdata cs; void (*__xdata func)(void); @@ -302,11 +301,11 @@ ao_cmd(void) __xdata struct ao_task ao_cmd_task; __code struct ao_cmds ao_base_cmds[] = { - { help, "?\0Print this message" }, - { ao_task_info, "T\0Show task states" }, - { echo, "E <0 off, 1 on>\0Set command echo mode" }, + { help, "?\0Help" }, + { ao_task_info, "T\0Show tasks" }, + { echo, "E <0 off, 1 on>\0Set echo mode" }, { ao_reboot, "r eboot\0Reboot" }, - { version, "v\0Show version" }, + { version, "v\0Version" }, { 0, NULL }, };