From e6bad553009704af69b08b4a22fb5eb8ac6921f8 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Mon, 21 Dec 2015 21:48:37 -0800 Subject: altos: Support pad/lco boxes with fixed box numbers This allows for a configuration without adjustable box numbers on either end of the link, simplifying the UI. Signed-off-by: Keith Packard --- src/kernel/ao_config.c | 27 +++++++++++++++++++++++++++ src/kernel/ao_config.h | 3 +++ 2 files changed, 30 insertions(+) (limited to 'src/kernel') diff --git a/src/kernel/ao_config.c b/src/kernel/ao_config.c index b0d3e541..d51fbb41 100644 --- a/src/kernel/ao_config.c +++ b/src/kernel/ao_config.c @@ -223,6 +223,10 @@ _ao_config_get(void) #if HAS_APRS if (minor < 22) ao_config.aprs_format = AO_CONFIG_DEFAULT_APRS_FORMAT; +#endif +#if HAS_FIXED_PAD_BOX + if (minor < 22) + ao_config.pad_box = 1; #endif ao_config.minor = AO_CONFIG_MINOR; ao_config_dirty = 1; @@ -899,6 +903,25 @@ ao_config_aprs_format_show(void) } #endif /* HAS_APRS */ +#if HAS_FIXED_PAD_BOX +void +ao_config_pad_box_show(void) +{ + printf ("Pad box: %d\n", ao_config.pad_box); +} + +void +ao_config_pad_box_set(void) +{ + ao_cmd_decimal(); + if (ao_cmd_status != ao_cmd_success) + return; + _ao_config_edit_start(); + ao_config.pad_box = ao_cmd_lex_i; + _ao_config_edit_finish(); +} +#endif + struct ao_config_var { __code char *str; void (*set)(void) __reentrant; @@ -992,6 +1015,10 @@ __code struct ao_config_var ao_config_vars[] = { ao_config_aprs_ssid_set, ao_config_aprs_ssid_show }, { "C <0 compressed, 1 uncompressed>\0APRS format", ao_config_aprs_format_set, ao_config_aprs_format_show }, +#endif +#if HAS_FIXED_PAD_BOX + { "B \0Set pad box (1-99)", + ao_config_pad_box_set, ao_config_pad_box_show }, #endif { "s\0Show", ao_config_show, 0 }, diff --git a/src/kernel/ao_config.h b/src/kernel/ao_config.h index cfe8555c..f4e9af44 100644 --- a/src/kernel/ao_config.h +++ b/src/kernel/ao_config.h @@ -118,6 +118,9 @@ struct ao_config { #if HAS_APRS uint8_t aprs_format; /* minor version 22 */ #endif +#if HAS_FIXED_PAD_BOX + uint8_t pad_box; /* minor version 22 */ +#endif }; #define AO_APRS_FORMAT_COMPRESSED 0 -- cgit v1.2.3