altos: Add configurable beep tone
[fw/altos] / src / cc1111 / ao_pins.h
index 5c0cb7dfe73e1f5c283c1da10c5a5d429c307fc1..91bf81d2102a3a37cc09a14f353b2ac75a82cde4 100644 (file)
 #ifndef _AO_PINS_H_
 #define _AO_PINS_H_
 
+#define HAS_RADIO      1
+
 #if defined(TELEMETRUM_V_1_0)
        #define HAS_FLIGHT              1
        #define HAS_USB                 1
        #define HAS_BEEP                1
+       #define HAS_BEEP_CONFIG         0
        #define HAS_GPS                 1
        #define HAS_SERIAL_1            1
        #define HAS_ADC                 1
-       #define USE_SERIAL_STDIN        0
        #define HAS_EEPROM              1
        #define HAS_LOG                 1
        #define USE_INTERNAL_FLASH      0
@@ -40,8 +42,9 @@
 
        #define HAS_COMPANION           1
        #define COMPANION_CS_ON_P1      1
-       #define COMPANION_CS_MASK       0x4     /* CS1 is P1_2 */
-       #define COMPANION_CS            P1_2
+       #define AO_COMPANION_CS_PORT    P1
+       #define AO_COMPANION_CS_PIN     2
+       #define AO_COMPANION_CS         P1_2
 
        #define AO_LED_RED              1
        #define LEDS_AVAILABLE          (AO_LED_RED)
        #define HAS_FLIGHT              1
        #define HAS_USB                 1
        #define HAS_BEEP                1
+       #define HAS_BEEP_CONFIG         0
+       #define HAS_BATTERY_REPORT      1
        #define HAS_GPS                 1
        #define HAS_SERIAL_1            1
-       #define USE_SERIAL_STDIN        0
        #define HAS_ADC                 1
        #define HAS_EEPROM              1
        #define HAS_LOG                 1
@@ -72,9 +76,9 @@
        #define PACKET_HAS_SLAVE        1
 
        #define HAS_COMPANION           1
-       #define COMPANION_CS_ON_P1      1
-       #define COMPANION_CS_MASK       0x4     /* CS1 is P1_2 */
-       #define COMPANION_CS            P1_2
+       #define AO_COMPANION_CS_PORT    P1
+       #define AO_COMPANION_CS_PIN     2
+       #define AO_COMPANION_CS         P1_2
 
        #define AO_LED_RED              1
        #define LEDS_AVAILABLE          (AO_LED_RED)
        #define HAS_FLIGHT              1
        #define HAS_USB                 1
        #define HAS_BEEP                1
+       #define HAS_BEEP_CONFIG         0
+       #define HAS_BATTERY_REPORT      1
        #define HAS_GPS                 1
        #define HAS_SERIAL_1            1
-       #define USE_SERIAL_STDIN        0
        #define HAS_ADC                 1
        #define HAS_EEPROM              1
        #define HAS_LOG                 1
        #define PACKET_HAS_SLAVE        1
 
        #define HAS_COMPANION           1
-       #define COMPANION_CS_ON_P1      1
-       #define COMPANION_CS_MASK       0x4     /* CS1 is P1_2 */
-       #define COMPANION_CS            P1_2
+       #define AO_COMPANION_CS_PORT    P1
+       #define AO_COMPANION_CS_PIN     2
+       #define AO_COMPANION_CS         P1_2
 
        #define AO_LED_RED              1
        #define LEDS_AVAILABLE          (AO_LED_RED)
        #define HAS_USB                 1
        #define HAS_BEEP                0
        #define HAS_SERIAL_1            0
-       #define USE_SERIAL_STDIN        0
        #define HAS_ADC                 0
        #define HAS_DBG                 1
        #define HAS_EEPROM              0
        #define HAS_MONITOR             1
        #define LEGACY_MONITOR          1
        #define HAS_RSSI                1
-       #define HAS_AES                 1
+       #define HAS_AES                 0
 #endif
 
 #if defined(TELEMINI_V_1_0)
        #define HAS_BEEP                0
        #define HAS_GPS                 0
        #define HAS_SERIAL_1            0
-       #define USE_SERIAL_STDIN        0
        #define HAS_ADC                 1
        #define HAS_EEPROM              1
        #define HAS_LOG                 1
+       #define HAS_FORCE_FREQ          1
        #define USE_INTERNAL_FLASH      1
        #define HAS_DBG                 0
        #define IGNITE_ON_P2            0
        #define HAS_BEEP                0
        #define HAS_GPS                 0
        #define HAS_SERIAL_1            0
-       #define USE_SERIAL_STDIN        0
        #define HAS_ADC                 1
        #define HAS_EEPROM              1
        #define HAS_LOG                 1
        #define HAS_FLIGHT              1
        #define HAS_USB                 1
        #define HAS_BEEP                1
+       #define HAS_BEEP_CONFIG         0
        #define HAS_GPS                 1
        #define HAS_SERIAL_1            1
-       #define USE_SERIAL_STDIN        0
        #define HAS_ADC                 1
        #define HAS_DBG                 0
        #define HAS_EEPROM              1
        #define HAS_USB                 1
        #define HAS_BEEP                0
        #define HAS_SERIAL_1            0
-       #define USE_SERIAL_STDIN        0
        #define HAS_ADC                 0
        #define HAS_DBG                 0
        #define HAS_EEPROM              0
        #define HAS_MONITOR             1
        #define LEGACY_MONITOR          1
        #define HAS_RSSI                1
-       #define HAS_AES                 1
+       #define HAS_AES                 0
 #endif
 
 #if defined(TIDONGLE)
        #define HAS_USB                 1
        #define HAS_BEEP                0
        #define HAS_SERIAL_1            0
-       #define USE_SERIAL_STDIN        0
        #define HAS_ADC                 0
        #define HAS_DBG                 1
        #define HAS_EEPROM              0
        #define HAS_MONITOR             1
        #define LEGACY_MONITOR          1
        #define HAS_RSSI                1
-       #define HAS_AES                 1
+       #define HAS_AES                 0
 #endif
 
 #if defined(TELEBT_V_0_0)
        #define HAS_USB                 1
        #define HAS_BEEP                0
        #define HAS_SERIAL_1            1
-       #define USE_SERIAL_STDIN        1
+       #define USE_SERIAL_1_STDIN      1
+       #define DELAY_SERIAL_1_STDIN    1
        #define HAS_ADC                 0
        #define HAS_DBG                 1
        #define HAS_EEPROM              0
        #define HAS_MONITOR             1
        #define LEGACY_MONITOR          1
        #define HAS_RSSI                0
-       #define HAS_AES                 1
+       #define HAS_AES                 0
 #endif
 
 #if defined(TELEBT_V_0_1)
        #define HAS_FLIGHT              0
        #define HAS_USB                 1
        #define HAS_BEEP                1
+       #define HAS_BEEP_CONFIG         0
        #define HAS_SERIAL_1            1
        #define HAS_SERIAL_1_ALT_1      1
        #define HAS_SERIAL_1_ALT_2      0
        #define HAS_SERIAL_1_HW_FLOW    1
-       #define USE_SERIAL_STDIN        1
+       #define USE_SERIAL_1_STDIN      1
+       #define DELAY_SERIAL_1_STDIN    1
        #define HAS_ADC                 0
        #define HAS_DBG                 1
        #define HAS_EEPROM              1
        #define HAS_MONITOR             1
        #define LEGACY_MONITOR          1
        #define HAS_RSSI                0
-       #define HAS_AES                 1
+       #define HAS_AES                 0
 #endif
 
 #if defined(TELELAUNCH_V_0_1)
        #define HAS_BEEP                1
        #define HAS_GPS                 0
        #define HAS_SERIAL_1            1
-       #define USE_SERIAL_STDIN        0
        #define HAS_ADC                 1
        #define HAS_DBG                 0
        #define HAS_EEPROM              1
 #error Please define IGNITE_ON_P0
 #endif
 
-#ifndef HAS_SERIAL_1
-#error Please define HAS_SERIAL_1
-#endif
-
-#ifndef USE_SERIAL_STDIN
-#error Please define USE_SERIAL_STDIN
-#endif
-
 #ifndef HAS_ADC
 #error Please define HAS_ADC
 #endif
 #endif /* HAS_ADC */
 
 #if IGNITE_ON_P2
+#define AO_IGNITER_PORT                P2
+#define AO_IGNITER_DROGUE_PORT AO_IGNITER_PORT
 #define AO_IGNITER_DROGUE      P2_3
 #define AO_IGNITER_MAIN                P2_4
 #define AO_IGNITER_DIR         P2DIR
 #define AO_IGNITER_DROGUE_BIT  (1 << 3)
 #define AO_IGNITER_MAIN_BIT    (1 << 4)
+#define AO_IGNITER_DROGUE_PIN  3
+#define AO_IGNITER_MAIN_PIN    4
 #endif
 
 #if IGNITE_ON_P0
+#define AO_IGNITER_PORT                P0
 #define AO_IGNITER_DROGUE      P0_5
 #define AO_IGNITER_MAIN                P0_4
 #define AO_IGNITER_DIR         P0DIR
 #define AO_IGNITER_DROGUE_BIT  (1 << 5)
 #define AO_IGNITER_MAIN_BIT    (1 << 4)
+#define AO_IGNITER_DROGUE_PIN  5
+#define AO_IGNITER_MAIN_PIN    4
 #endif
 
+#define AO_IGNITER_DROGUE_PORT AO_IGNITER_PORT
+#define AO_IGNITER_MAIN_PORT   AO_IGNITER_PORT
+
 /* test these values with real igniters */
 #define AO_IGNITER_OPEN                1000
 #define AO_IGNITER_CLOSED      7000
 #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_ */