cc1111: Rework ADC configuration a bit, fix Tm V2 ADC usage
[fw/altos] / src / telemini-v2.0 / ao_pins.h
index 386c8dc35ebdac1fabeaeff03f572a01c057093c..fac6c535e60176aab569885a7970f7024be858bc 100644 (file)
@@ -31,7 +31,6 @@
 #define USE_INTERNAL_FLASH     0
 #define HAS_DBG                        0
 #define PACKET_HAS_SLAVE       1
-#define USE_FAST_ASCENT_LOG    1
 
 #define AO_LED_GREEN           1
 #define AO_LED_RED             2
  * SPI
  */
 
+#define HAS_SPI_0              1
+#define SPI_0_ALT_1            1
+#define HAS_SPI_1              1
+#define SPI_1_ALT_2            1
 #define SPI_CS_PORT            P1
 #define SPI_CS_SEL             P1SEL
 #define SPI_CS_DIR             P1DIR
@@ -53,6 +56,7 @@
 /*
  * Flash
  */
+#define AO_M25_SPI_BUS         1
 #define AO_M25_SPI_CS_PORT     SPI_CS_PORT
 #define AO_M25_SPI_CS_MASK     0x04    /* cs_flash is P1_2 */
 #define M25_MAX_CHIPS          1
@@ -72,6 +76,7 @@
 #define AO_MS5607_MISO_PIN     2
 #define AO_MS5607_MISO_MASK    (1 << AO_MS5607_MISO_PIN)
 #define AO_MS5607_SPI_INDEX    0
+#define HAS_EXTI_0             1
 
 /*
  * Igniters
@@ -115,10 +120,14 @@ struct ao_adc {
 #define AO_SENSE_DROGUE(p)     ((p)->adc.sense_a)
 #define AO_SENSE_MAIN(p)       ((p)->adc.sense_m)
 
+#define AO_NUM_TASKS   10
+
 #define AO_ADC_DUMP(p) \
        printf("tick: %5u apogee: %5d main: %5d batt: %5d\n", \
               (p)->tick, (p)->adc.sense_a, (p)->adc.sense_m, (p)->adc.v_batt)
 
+#define AO_ADC_PINS    ((1 << 0) | (1 << 1) | (1 << 4))
+
 #define FETCH_ADC()                                                    \
        a = (uint8_t __xdata *) (&ao_data_ring[ao_data_head].adc);      \
        switch (sequence) {                                             \
@@ -134,7 +143,11 @@ struct ao_adc {
                sequence = 1;                                           \
                break;                                                  \
        }                                                               \
-       if (sequence)                                                   \
-               ;
+       a[0] = ADCL;                                                    \
+       a[1] = ADCH;                                                    \
+       if (sequence) {                                                 \
+               ADCCON3 = ADCCON3_EREF_VDD | ADCCON3_EDIV_512 | sequence; \
+               return;                                                 \
+       }
 
 #endif /* _AO_PINS_H_ */