X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fcore%2Fao_config.c;h=2d3d2870459715838f3bbdb8fcdd69b269b3d821;hb=a0a650a2be007b0436bd527d6c18f36eef6fbe2b;hp=6fcebe1e8c4b9347183e77b8105ddc82071b3821;hpb=c1d12a117b36de7fe8dd992959b890bfd1163e81;p=fw%2Faltos diff --git a/src/core/ao_config.c b/src/core/ao_config.c index 6fcebe1e..2d3d2870 100644 --- a/src/core/ao_config.c +++ b/src/core/ao_config.c @@ -91,7 +91,7 @@ _ao_config_get(void) sizeof(AO_CONFIG_DEFAULT_CALLSIGN) - 1); ao_config_dirty = 1; } - if (ao_config.minor < AO_CONFIG_MINOR) { + if (ao_config.minor != AO_CONFIG_MINOR) { /* Fixups for minor version 1 */ if (ao_config.minor < 1) ao_config.apogee_delay = AO_CONFIG_DEFAULT_APOGEE_DELAY; @@ -113,8 +113,10 @@ _ao_config_get(void) ao_config.pad_orientation = AO_CONFIG_DEFAULT_PAD_ORIENTATION; if (ao_config.minor < 8) ao_config.radio_enable = TRUE; +#if HAS_AES if (ao_config.minor < 9) - memset(&ao_config.aes_key, 0, AO_AES_LEN); + ao_xmemset(&ao_config.aes_key, '\0', AO_AES_LEN); +#endif if (ao_config.minor < 10) { ao_config.frequency = 434550; #if HAS_RADIO_CHANNELS @@ -216,6 +218,7 @@ ao_config_frequency_set(void) __reentrant return; _ao_config_edit_start(); ao_config.frequency = ao_cmd_lex_u32; + ao_config.radio_channel = 0; ao_config_set_radio(); _ao_config_edit_finish(); ao_radio_recv_abort(); @@ -525,12 +528,12 @@ ao_config_write(void) __reentrant; __code struct ao_config_var ao_config_vars[] = { #if HAS_ADC - { "m \0Main deploy (in meters)", + { "m \0Main deploy (m)", ao_config_main_deploy_set, ao_config_main_deploy_show, }, - { "d \0Apogee delay (in seconds)", + { "d \0Apogee delay (s)", ao_config_apogee_delay_set, ao_config_apogee_delay_show }, #endif /* HAS_ADC */ - { "r \0Radio channel (freq = 434.550 + chan * .1)", + { "r \0Radio channel", ao_config_radio_channel_set, ao_config_radio_channel_show }, { "F \0Frequency (kHz)", ao_config_frequency_set, ao_config_frequency_show }, @@ -545,7 +548,7 @@ __code struct ao_config_var ao_config_vars[] = { { "f \0Radio calib (cal = rf/(xtal/2^16))", ao_config_radio_cal_set, ao_config_radio_cal_show }, #if HAS_LOG - { "l \0Flight log size in kB", + { "l \0Flight log size (kB)", ao_config_log_set, ao_config_log_show }, #endif #if HAS_IGNITE @@ -609,6 +612,7 @@ static void ao_config_show(void) __reentrant { uint8_t cmd; + ao_config_get(); printf("Config version: %d.%d\n", ao_config.major, ao_config.minor); for (cmd = 0; ao_config_vars[cmd].str != NULL; cmd++) @@ -636,7 +640,7 @@ ao_config_write(void) __reentrant #endif __code struct ao_cmds ao_config_cmds[] = { - { ao_config_set, "c \0Set config variable (? for help, s to show)" }, + { ao_config_set, "c \0Set config (? for help, s to show)" }, { 0, NULL }, };