altos: Report battery voltage instead of S at startup
[fw/altos] / src / cc1111 / ao_pins.h
index fc6ed3ec280a0287fe1fe6b3b800cce4cc0364f6..5b1586e08b8073d70526911125a7b7b2a3795e56 100644 (file)
@@ -58,6 +58,7 @@
        #define HAS_FLIGHT              1
        #define HAS_USB                 1
        #define HAS_BEEP                1
+       #define HAS_BATTERY_REPORT      1
        #define HAS_GPS                 1
        #define HAS_SERIAL_1            1
        #define HAS_ADC                 1
@@ -94,6 +95,7 @@
        #define HAS_FLIGHT              1
        #define HAS_USB                 1
        #define HAS_BEEP                1
+       #define HAS_BATTERY_REPORT      1
        #define HAS_GPS                 1
        #define HAS_SERIAL_1            1
        #define HAS_ADC                 1
 #define AO_IGNITER_FIRE_TIME   AO_MS_TO_TICKS(50)
 #define AO_IGNITER_CHARGE_TIME AO_MS_TO_TICKS(2000)
 
+struct ao_adc {
+       int16_t         accel;          /* accelerometer */
+       int16_t         pres;           /* pressure sensor */
+       int16_t         temp;           /* temperature sensor */
+       int16_t         v_batt;         /* battery voltage */
+       int16_t         sense_d;        /* drogue continuity sense */
+       int16_t         sense_m;        /* main continuity sense */
+#if HAS_ACCEL_REF
+       uint16_t        accel_ref;      /* acceleration reference */
+#endif
+};
+
+/*
+ * Voltage divider on ADC battery sampler
+ */
+#define AO_BATTERY_DIV_PLUS    5       /* 5k */
+#define AO_BATTERY_DIV_MINUS   10      /* 10k */
+
+/*
+ * Voltage divider on ADC igniter samplers
+ */
+#define AO_IGNITE_DIV_PLUS     100     /* 100k */
+#define AO_IGNITE_DIV_MINUS    27      /* 27k */
+
+/*
+ * ADC reference in decivolts
+ */
+#define AO_ADC_REFERENCE_DV    33
+
 #endif /* _AO_PINS_H_ */