uint8_t byte = ao_74hc165_read();
uint8_t h, l;
+ PRINTD("box %02x\n", byte);
h = byte >> 4;
l = byte & 0xf;
return h * 10 + l;
}
#else
-#if HAS_FIXED_PAD_BOX
-#define ao_pad_read_box() ao_config.pad_box
-#endif
-
#ifdef PAD_BOX
#define ao_pad_read_box() PAD_BOX
#endif
continue;
ao_pad_packet_time = ao_time();
- ao_pad_box = ao_pad_read_box();
+ ao_pad_box = ao_config.pad_box;
+#ifndef HAS_FIXED_PAD_BOX
+ if (ao_pad_box == 0 || ao_pad_box == 0xff)
+ ao_pad_box = ao_pad_read_box();
+#endif
PRINTD ("tick %d box %d (me %d) cmd %d channels %02x\n",
command.tick, command.box, ao_pad_box, command.cmd, command.channels);
if (minor < 22)
ao_config.aprs_format = AO_CONFIG_DEFAULT_APRS_FORMAT;
#endif
+#if HAS_PAD
+ if (minor < 22) {
#if HAS_FIXED_PAD_BOX
- if (minor < 22)
ao_config.pad_box = 1;
+#else
+ ao_config.pad_box = 0;
+#endif
+ }
if (minor < 23)
ao_config.pad_idle = 120;
#endif
}
#endif /* HAS_APRS */
-#if HAS_FIXED_PAD_BOX
+#if HAS_PAD
void
ao_config_pad_box_show(void)
{
{ "C <0 compressed, 1 uncompressed>\0APRS format",
ao_config_aprs_format_set, ao_config_aprs_format_show },
#endif
-#if HAS_FIXED_PAD_BOX
+#if HAS_PAD
{ "B <box>\0Set pad box (1-99)",
ao_config_pad_box_set, ao_config_pad_box_show },
{ "i <seconds>\0Set idle timeout (0 disable)",
#if HAS_APRS
uint8_t aprs_format; /* minor version 22 */
#endif
-#if HAS_FIXED_PAD_BOX
+#if HAS_PAD
uint8_t pad_box; /* minor version 22 */
uint8_t pad_idle; /* minor version 23 */
#endif
#define HAS_EEPROM 1
#define HAS_LOG 0
#define HAS_PAD 1
-#define HAS_FIXED_PAD_BOX 1
#define USE_INTERNAL_FLASH 1
#define DBG_ON_P1 0
#define IGNITE_ON_P2 0