altos: Place STM config values at fixed addresses for re-use
[fw/altos] / src / cc1111 / ao_arch.h
index 44116b812d9a07820a41c99d24089e1790ebc5b5..06b04b93651d75fcad23fd40433ad3a0d9fd5622 100644 (file)
 
 #define AO_ROMCONFIG_VERSION   2
 
-extern __code __at (0x00a0) uint16_t ao_romconfig_version;
-extern __code __at (0x00a2) uint16_t ao_romconfig_check;
-extern __code __at (0x00a4) uint16_t ao_serial_number;
-extern __code __at (0x00a6) uint32_t ao_radio_cal;
+#define AO_ROMCONFIG_SYMBOL(a) __code __at(a)
+
+extern AO_ROMCONFIG_SYMBOL(0x00a0) uint16_t ao_romconfig_version;
+extern AO_ROMCONFIG_SYMBOL(0x00a2) uint16_t ao_romconfig_check;
+extern AO_ROMCONFIG_SYMBOL(0x00a4) uint16_t ao_serial_number;
+extern AO_ROMCONFIG_SYMBOL(0x00a6) uint32_t ao_radio_cal;
 
 #ifndef HAS_USB
 #error Please define HAS_USB
@@ -205,7 +207,9 @@ struct ao_adc {
        int16_t         v_batt;         /* battery voltage */
        int16_t         sense_d;        /* drogue continuity sense */
        int16_t         sense_m;        /* main continuity sense */
-       int16_t         accel_ref;      /* acceleration reference */
+#if HAS_ACCEL_REF
+       uint16_t        accel_ref;      /* acceleration reference */
+#endif
 };
 
 #define AO_DATA_RING   32