kernel: Widen pyro time values to 32 bits
[fw/altos] / src / kernel / ao_config.h
index f730c73c99df9764a4991bf0940e136a216117ce..c668b71a1979c418c5f39b145b8e72cb9a65b95e 100644 (file)
@@ -38,7 +38,7 @@
 #include <ao_storage.h>
 
 #define ao_config_setup()              ao_storage_setup()
-#define ao_config_erase()              ao_storage_erase(ao_storage_config)
+#define ao_config_erase()              ao_storage_erase(ao_storage_config, ao_storage_block)
 #define ao_config_write(pos,bytes, len)        ao_storage_write(ao_storage_config+(pos), bytes, len)
 #define ao_config_read(pos,bytes, len) ao_storage_read(ao_storage_config+(pos), bytes, len)
 #define ao_config_flush()              ao_storage_flush()
 #endif
 
 #define AO_CONFIG_MAJOR        1
-#define AO_CONFIG_MINOR        23
+#define AO_CONFIG_MINOR        25
 
 #define AO_AES_LEN 16
 
-extern __xdata uint8_t ao_config_aes_seq;
+extern uint8_t ao_config_aes_seq;
 
 struct ao_config {
        uint8_t         major;
@@ -92,7 +92,7 @@ struct ao_config {
 #if HAS_RADIO_AMP
        uint8_t         radio_amp;              /* minor version 14 */
 #endif
-#if HAS_GYRO
+#if HAS_IMU
        int16_t         accel_zero_along;       /* minor version 15 */
        int16_t         accel_zero_across;      /* minor version 15 */
        int16_t         accel_zero_through;     /* minor version 15 */
@@ -123,6 +123,9 @@ struct ao_config {
        uint8_t         pad_box;                /* minor version 22 */
        uint8_t         pad_idle;               /* minor version 23 */
 #endif
+#if HAS_APRS
+       uint8_t         aprs_offset;            /* minor version 24 */
+#endif
 };
 
 #define AO_APRS_FORMAT_COMPRESSED      0
@@ -130,12 +133,13 @@ struct ao_config {
 #define AO_CONFIG_DEFAULT_APRS_FORMAT  AO_APRS_FORMAT_COMPRESSED
 
 #if HAS_RADIO_FORWARD
-extern __xdata uint32_t        ao_send_radio_setting;
+extern 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_IGNITE_MODE_BOOSTER         3
 
 #define AO_RADIO_ENABLE_CORE           1
 #define AO_RADIO_DISABLE_TELEMETRY     2
@@ -151,8 +155,8 @@ extern __xdata uint32_t     ao_send_radio_setting;
 /* 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;
+extern struct ao_config ao_config;
+extern uint8_t ao_config_loaded;
 
 void
 _ao_config_edit_start(void);