X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=src%2Fkernel%2Fao_config.c;h=86d4838fbe8d6630a458c0904bf459e9aeb29ee8;hp=d51fbb415a8fe4bb83ce03a68e83f55219ebaa38;hb=aeb07f2b94b0121d4e5a6ce175ce4e013d6557cf;hpb=e6bad553009704af69b08b4a22fb5eb8ac6921f8 diff --git a/src/kernel/ao_config.c b/src/kernel/ao_config.c index d51fbb41..86d4838f 100644 --- a/src/kernel/ao_config.c +++ b/src/kernel/ao_config.c @@ -3,7 +3,8 @@ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of @@ -34,6 +35,10 @@ __pdata uint8_t ao_config_loaded; __pdata uint8_t ao_config_dirty; __xdata uint8_t ao_config_mutex; +#if HAS_FORCE_FREQ +__xdata uint8_t ao_force_freq; +#endif + #ifndef AO_CONFIG_DEFAULT_APRS_INTERVAL #define AO_CONFIG_DEFAULT_APRS_INTERVAL 0 #endif @@ -227,6 +232,8 @@ _ao_config_get(void) #if HAS_FIXED_PAD_BOX if (minor < 22) ao_config.pad_box = 1; + if (minor < 23) + ao_config.pad_idle = 120; #endif ao_config.minor = AO_CONFIG_MINOR; ao_config_dirty = 1; @@ -236,6 +243,9 @@ _ao_config_get(void) if (ao_force_freq) { ao_config.frequency = 434550; ao_config.radio_cal = ao_radio_cal; +#if HAS_RADIO_RATE + ao_config.radio_rate = AO_CONFIG_DEFAULT_RADIO_RATE; +#endif ao_xmemcpy(&ao_config.callsign, CODE_TO_XDATA(AO_CONFIG_DEFAULT_CALLSIGN), sizeof(AO_CONFIG_DEFAULT_CALLSIGN) - 1); } @@ -920,6 +930,23 @@ ao_config_pad_box_set(void) ao_config.pad_box = ao_cmd_lex_i; _ao_config_edit_finish(); } + +void +ao_config_pad_idle_show(void) +{ + printf ("Idle timeout: %d\n", ao_config.pad_idle); +} + +void +ao_config_pad_idle_set(void) +{ + ao_cmd_decimal(); + if (ao_cmd_status != ao_cmd_success) + return; + _ao_config_edit_start(); + ao_config.pad_idle = ao_cmd_lex_i; + _ao_config_edit_finish(); +} #endif struct ao_config_var { @@ -1019,6 +1046,8 @@ __code struct ao_config_var ao_config_vars[] = { #if HAS_FIXED_PAD_BOX { "B \0Set pad box (1-99)", ao_config_pad_box_set, ao_config_pad_box_show }, + { "i \0Set idle timeout (0 disable)", + ao_config_pad_idle_set, ao_config_pad_idle_show }, #endif { "s\0Show", ao_config_show, 0 },