altos: Add telerepeat-v1.0
[fw/altos] / src / kernel / ao_config.h
index 85673764e62c5d0f8a781ae328646c8d49506a0e..164584a53fcf042725f00be1488101644e34ae83 100644 (file)
 #define USE_EEPROM_CONFIG 0
 #endif
 
+#ifndef FLIGHT_LOG_APPEND
+#define FLIGHT_LOG_APPEND 0
+#endif
+
 #if USE_STORAGE_CONFIG
 
 #include <ao_storage.h>
@@ -53,7 +57,7 @@
 #endif
 
 #define AO_CONFIG_MAJOR        1
-#define AO_CONFIG_MINOR        17
+#define AO_CONFIG_MINOR        21
 
 #define AO_AES_LEN 16
 
@@ -96,11 +100,27 @@ struct ao_config {
        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_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
@@ -112,7 +132,12 @@ struct ao_config {
 #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;
@@ -132,6 +157,9 @@ ao_config_put(void);
 void
 ao_config_set_radio(void);
 
+void
+ao_config_log_fix_append(void);
+
 void
 ao_config_init(void);