#define USE_EEPROM_CONFIG 0
#endif
+#ifndef FLIGHT_LOG_APPEND
+#define FLIGHT_LOG_APPEND 0
+#endif
+
#if USE_STORAGE_CONFIG
#include <ao_storage.h>
#endif
#define AO_CONFIG_MAJOR 1
-#define AO_CONFIG_MINOR 17
+#define AO_CONFIG_MINOR 23
#define AO_AES_LEN 16
uint8_t mid_beep; /* minor version 16 */
#endif
#if HAS_TRACKER
- uint16_t tracker_start_horiz; /* minor version 17 */
- uint16_t tracker_start_vert; /* minor version 17 */
+ uint16_t tracker_motion; /* minor version 17 */
+ uint8_t tracker_interval; /* minor version 17 */
+#endif
+#if AO_PYRO_NUM
+ uint16_t pyro_time; /* minor version 18 */
+#endif
+#if HAS_APRS
+ uint8_t aprs_ssid; /* minor version 19 */
+#endif
+#if HAS_RADIO_RATE
+ uint8_t radio_rate; /* minor version 20 */
+#endif
+#if HAS_RADIO_FORWARD
+ uint32_t send_frequency; /* minor version 21 */
+#endif
+#if HAS_APRS
+ uint8_t aprs_format; /* minor version 22 */
+#endif
+#if HAS_FIXED_PAD_BOX
+ uint8_t pad_box; /* minor version 22 */
+ uint8_t pad_idle; /* minor version 23 */
#endif
};
+#define AO_APRS_FORMAT_COMPRESSED 0
+#define AO_APRS_FORMAT_UNCOMPRESSED 1
+#define AO_CONFIG_DEFAULT_APRS_FORMAT AO_APRS_FORMAT_COMPRESSED
+
+#if HAS_RADIO_FORWARD
+extern __xdata uint32_t ao_send_radio_setting;
+#endif
+
#define AO_IGNITE_MODE_DUAL 0
#define AO_IGNITE_MODE_APOGEE 1
#define AO_IGNITE_MODE_MAIN 2
#define AO_PAD_ORIENTATION_ANTENNA_UP 0
#define AO_PAD_ORIENTATION_ANTENNA_DOWN 1
+#ifndef AO_CONFIG_MAX_SIZE
#define AO_CONFIG_MAX_SIZE 128
+#endif
+
+/* Make sure AO_CONFIG_MAX_SIZE is big enough */
+typedef uint8_t config_check_space[(int) (AO_CONFIG_MAX_SIZE - sizeof (struct ao_config))];
extern __xdata struct ao_config ao_config;
extern __pdata uint8_t ao_config_loaded;
void
ao_config_set_radio(void);
+void
+ao_config_log_fix_append(void);
+
void
ao_config_init(void);