From 8cdf4fb051c22b35c251d90bc288551f7c2898bf Mon Sep 17 00:00:00 2001 From: Anthony Towns Date: Sun, 27 Feb 2011 11:11:12 +1000 Subject: [PATCH 1/1] src/ao_cmd: Shave off bytes from doc strings Switch to using { func, "X args\0Desc" } to specify command, saving a char field by looking at help[0] instead, and reduce help length by doing alignment with printf instead of hardcoded spaces. --- src/ao.h | 1 - src/ao_adc.c | 4 ++-- src/ao_cmd.c | 22 ++++++++++++---------- src/ao_config.c | 4 ++-- src/ao_dbg.c | 14 +++++++------- src/ao_flight_test.c | 1 - src/ao_gps_skytraq.c | 4 ++-- src/ao_host.h | 1 - src/ao_ignite.c | 6 +++--- src/ao_log.c | 6 +++--- src/ao_monitor.c | 4 ++-- src/ao_packet_master.c | 4 ++-- src/ao_radio.c | 4 ++-- src/ao_serial.c | 4 ++-- src/ao_storage.c | 12 +++++------- 15 files changed, 44 insertions(+), 47 deletions(-) diff --git a/src/ao.h b/src/ao.h index c2d7d22b..791064e8 100644 --- a/src/ao.h +++ b/src/ao.h @@ -380,7 +380,6 @@ uint8_t ao_match_word(__code char *word); struct ao_cmds { - char cmd; void (*func)(void); const char *help; }; diff --git a/src/ao_adc.c b/src/ao_adc.c index 3adf9b2e..9990a1fd 100644 --- a/src/ao_adc.c +++ b/src/ao_adc.c @@ -90,8 +90,8 @@ ao_adc_dump(void) __reentrant } __code struct ao_cmds ao_adc_cmds[] = { - { 'a', ao_adc_dump, "a Display current ADC values" }, - { 0, ao_adc_dump, NULL }, + { ao_adc_dump, "a\0Display current ADC values" }, + { 0, NULL }, }; void diff --git a/src/ao_cmd.c b/src/ao_cmd.c index a54a2316..6007773c 100644 --- a/src/ao_cmd.c +++ b/src/ao_cmd.c @@ -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)); } } @@ -282,8 +284,8 @@ ao_cmd(void) 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; } @@ -301,12 +303,12 @@ ao_cmd(void) __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 diff --git a/src/ao_config.c b/src/ao_config.c index cd56b473..c6d36247 100644 --- a/src/ao_config.c +++ b/src/ao_config.c @@ -439,8 +439,8 @@ ao_config_write(void) __reentrant #endif __code struct ao_cmds ao_config_cmds[] = { - { 'c', ao_config_set, "c Set config variable (? for help, s to show)" }, - { '\0', ao_config_set, NULL }, + { ao_config_set, "c \0Set config variable (? for help, s to show)" }, + { 0, NULL }, }; void diff --git a/src/ao_dbg.c b/src/ao_dbg.c index 0d9ec8c0..49371560 100644 --- a/src/ao_dbg.c +++ b/src/ao_dbg.c @@ -348,13 +348,13 @@ debug_output(void) } __code struct ao_cmds ao_dbg_cmds[7] = { - { 'D', debug_enable, "D Enable debug mode" }, - { 'G', debug_get, "G Get data from debug port" }, - { 'I', debug_input, "I Input bytes to target at " }, - { 'O', debug_output, "O Output bytes to target at " }, - { 'P', debug_put, "P ... Put data to debug port" }, - { 'R', debug_reset, "R Reset target" }, - { 0, debug_reset, 0 }, + { debug_enable, "D\0Enable debug mode" }, + { debug_get, "G \0Get data from debug port" }, + { debug_input, "I \0Input bytes to target at " }, + { debug_output, "O \0Output bytes to target at " }, + { debug_put, "P ...\0Put data to debug port" }, + { debug_reset, "R\0Reset target" }, + { 0, NULL }, }; void diff --git a/src/ao_flight_test.c b/src/ao_flight_test.c index 8ce94895..0c2006d5 100644 --- a/src/ao_flight_test.c +++ b/src/ao_flight_test.c @@ -114,7 +114,6 @@ const char const * const ao_state_names[] = { }; struct ao_cmds { - char cmd; void (*func)(void); const char *help; }; diff --git a/src/ao_gps_skytraq.c b/src/ao_gps_skytraq.c index 4d4ca592..d286a30a 100644 --- a/src/ao_gps_skytraq.c +++ b/src/ao_gps_skytraq.c @@ -471,8 +471,8 @@ gps_dump(void) __reentrant } __code struct ao_cmds ao_gps_cmds[] = { - { 'g', gps_dump, "g Display current GPS values" }, - { 0, gps_dump, NULL }, + { gps_dump, "g\0Display current GPS values" }, + { 0, NULL }, }; void diff --git a/src/ao_host.h b/src/ao_host.h index a96b7629..65c25fe5 100644 --- a/src/ao_host.h +++ b/src/ao_host.h @@ -112,7 +112,6 @@ const char const * const ao_state_names[] = { }; struct ao_cmds { - char cmd; void (*func)(void); const char *help; }; diff --git a/src/ao_ignite.c b/src/ao_ignite.c index 603fcd25..798ba9b4 100644 --- a/src/ao_ignite.c +++ b/src/ao_ignite.c @@ -154,9 +154,9 @@ ao_ignite_test(void) } __code struct ao_cmds ao_ignite_cmds[] = { - { 'i', ao_ignite_manual, "i {main|drogue} Fire igniter. is doit with D&I" }, - { 't', ao_ignite_test, "t Test igniter continuity" }, - { 0, ao_ignite_manual, NULL }, + { ao_ignite_manual, "i {main|drogue}\0Fire igniter. is doit with D&I" }, + { ao_ignite_test, "t\0Test igniter continuity" }, + { 0, NULL }, }; __xdata struct ao_task ao_igniter_task; diff --git a/src/ao_log.c b/src/ao_log.c index 099c5f6f..1b10961d 100644 --- a/src/ao_log.c +++ b/src/ao_log.c @@ -390,9 +390,9 @@ ao_log_delete(void) __reentrant __code struct ao_cmds ao_log_cmds[] = { - { 'l', ao_log_list, "l List stored flight logs" }, - { 'd', ao_log_delete, "d Delete stored flight" }, - { 0, ao_log_delete, NULL }, + { ao_log_list, "l\0List stored flight logs" }, + { ao_log_delete, "d \0Delete stored flight" }, + { 0, NULL }, }; void diff --git a/src/ao_monitor.c b/src/ao_monitor.c index 4ba3da6d..9c4be6fb 100644 --- a/src/ao_monitor.c +++ b/src/ao_monitor.c @@ -96,8 +96,8 @@ set_monitor(void) } __code struct ao_cmds ao_monitor_cmds[] = { - { 'm', set_monitor, "m <0 off, 1 on> Enable/disable radio monitoring" }, - { 0, set_monitor, NULL }, + { set_monitor, "m <0 off, 1 on>\0Enable/disable radio monitoring" }, + { 0, NULL }, }; void diff --git a/src/ao_packet_master.c b/src/ao_packet_master.c index 5f79885c..5c4ab0dd 100644 --- a/src/ao_packet_master.c +++ b/src/ao_packet_master.c @@ -133,8 +133,8 @@ ao_packet_forward(void) __reentrant __code struct ao_cmds ao_packet_master_cmds[] = { - { 'p', ao_packet_forward, "p Remote packet link." }, - { 0, ao_packet_forward, NULL }, + { ao_packet_forward, "p\0Remote packet link." }, + { 0, NULL }, }; void diff --git a/src/ao_radio.c b/src/ao_radio.c index d156f543..d7c00213 100644 --- a/src/ao_radio.c +++ b/src/ao_radio.c @@ -455,8 +455,8 @@ ao_radio_test(void) } __code struct ao_cmds ao_radio_cmds[] = { - { 'C', ao_radio_test, "C <1 start, 0 stop, none both> Radio carrier test" }, - { 0, ao_radio_test, NULL }, + { ao_radio_test, "C <1 start, 0 stop, none both>\0Radio carrier test" }, + { 0, NULL }, }; void diff --git a/src/ao_serial.c b/src/ao_serial.c index a48734c2..dd383fca 100644 --- a/src/ao_serial.c +++ b/src/ao_serial.c @@ -93,8 +93,8 @@ monitor_serial(void) } __code struct ao_cmds ao_serial_cmds[] = { - { 'M', monitor_serial, "M Monitor serial data" }, - { 0, monitor_serial, NULL }, + { monitor_serial, "M \0Monitor serial data" }, + { 0, NULL }, }; static const struct { diff --git a/src/ao_storage.c b/src/ao_storage.c index 709259ee..9f0f75fb 100644 --- a/src/ao_storage.c +++ b/src/ao_storage.c @@ -166,14 +166,12 @@ ao_storage_info(void) __reentrant } __code struct ao_cmds ao_storage_cmds[] = { - { 'f', ao_storage_info, "f Show storage info" }, - { 'e', ao_storage_dump, "e Dump a block of flash data" }, -#if 0 - { 'w', ao_storage_store, "w ... Write data to flash" }, +#ifdef HAS_STORAGE_DBG + { ao_storage_store, "w ...\0Write data to flash" }, #endif - { 'z', ao_storage_zap, "z Erase flash containing " }, - { 'Z', ao_storage_zapall,"Z Erase all logs. is doit with D&I" }, - { 0, ao_storage_zap, NULL }, + { ao_storage_zap, "z \0Erase flash containing " }, + { ao_storage_zapall,"Z \0Erase all logs. is doit with D&I" }, + { 0, NULL }, }; void -- 2.30.2