altos: use %lu for APRS altitude in sprintf
[fw/altos] / src / cc1111 / ao_pins.h
index e28a7b65da256149e7a49de478bfa563644b1cd6..9d6e1c1d7681576360c2170abf25b1ba709a5700 100644 (file)
@@ -3,7 +3,8 @@
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
  *
  * This program is distributed in the hope that it will be useful, but
  * WITHOUT ANY WARRANTY; without even the implied warranty of
 #ifndef _AO_PINS_H_
 #define _AO_PINS_H_
 
-#define HAS_RADIO      1
+#define HAS_RADIO              1
+#define DISABLE_LOG_SPACE      1
+#define AO_VALUE_32            0
+#define HAS_WIDE_GPS           0
 
 #if defined(TELEMETRUM_V_1_0)
+       /* Discontinued and was never built with CC1111 chips needing this */
+       #define NEEDS_CC1111_CLOCK_HACK 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 HAS_ACCEL               1
        #define HAS_IGNITE              1
        #define HAS_MONITOR             0
+       #define HAS_TELEMETRY           1
+       #define HAS_RADIO_RATE          0       /* not enough space for this */
+       #define HAS_MUTEX_TRY           0
+       #define HAS_TASK_INFO           0       /* not enough space for this either */
+       #define AO_LOG_FORMAT           AO_LOG_FORMAT_FULL
 #endif
 
 #if defined(TELEMETRUM_V_1_1)
+       /* Discontinued and was never built with CC1111 chips needing this */
+       #define NEEDS_CC1111_CLOCK_HACK 0
        #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 HAS_ADC                 1
        #define HAS_ACCEL               1
        #define HAS_IGNITE              1
        #define HAS_MONITOR             0
+       #define HAS_TELEMETRY           1
+       #define HAS_RADIO_RATE          0       /* not enough space for this */
+       #define HAS_MUTEX_TRY           0
+       #define AO_LOG_FORMAT           AO_LOG_FORMAT_FULL
 #endif
 
 #if defined(TELEMETRUM_V_1_2)
+       /* Discontinued and was never built with CC1111 chips needing this */
+       #define NEEDS_CC1111_CLOCK_HACK 0
        #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 HAS_ADC                 1
        #define HAS_ACCEL               1
        #define HAS_IGNITE              1
        #define HAS_MONITOR             0
+       #define HAS_TELEMETRY           1
+       #define HAS_RADIO_RATE          0       /* not enough space for this */
+       #define HAS_MUTEX_TRY           0
+       #define AO_LOG_FORMAT           AO_LOG_FORMAT_FULL
 #endif
 
 #if defined(TELEDONGLE_V_0_2)
        #define LEGACY_MONITOR          1
        #define HAS_RSSI                1
        #define HAS_AES                 0
+       #define HAS_TELEMETRY           0
+       #define AO_RADIO_REG_TEST       1
 #endif
 
 #if defined(TELEMINI_V_1_0)
+       /* Discontinued and was never built with CC1111 chips needing this */
+       #define NEEDS_CC1111_CLOCK_HACK 0
        #define HAS_FLIGHT              1
        #define HAS_USB                 0
        #define HAS_BEEP                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_ACCEL               0
        #define HAS_IGNITE              1
        #define HAS_MONITOR             0
+       #define HAS_TELEMETRY           1
+       #define HAS_RADIO_RATE          0       /* not enough space for this */
+       #define AO_LOG_FORMAT           AO_LOG_FORMAT_TINY
 #endif
 
 #if defined(TELENANO_V_0_1)
+       /* Discontinued and was never built with CC1111 chips needing this */
+       #define NEEDS_CC1111_CLOCK_HACK 0
        #define HAS_FLIGHT              1
        #define HAS_USB                 0
        #define HAS_BEEP                0
        #define HAS_ACCEL               0
        #define HAS_IGNITE              0
        #define HAS_MONITOR             0
+       #define HAS_TELEMETRY           1
+       #define HAS_RADIO_RATE          0       /* not enough space for this */
 #endif
 
 #if defined(TELEMETRUM_V_0_1)
+       /* Discontinued and was never built with CC1111 chips needing this */
+       #define NEEDS_CC1111_CLOCK_HACK 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 HAS_ACCEL               1
        #define HAS_IGNITE              1
        #define HAS_MONITOR             0
+       #define HAS_TELEMETRY           1
+       #define HAS_RADIO_RATE          0       /* not enough space for this */
        #define AO_CONFIG_DEFAULT_FLIGHT_LOG_MAX        ((uint32_t) 127 * (uint32_t) 1024)
+       #define AO_LOG_FORMAT           AO_LOG_FORMAT_FULL
 #endif
 
 #if defined(TELEDONGLE_V_0_1)
+       /* Discontinued and was never built with CC1111 chips needing this */
+       #define NEEDS_CC1111_CLOCK_HACK 0
        #define HAS_FLIGHT              0
        #define HAS_USB                 1
        #define HAS_BEEP                0
        #define LEGACY_MONITOR          1
        #define HAS_RSSI                1
        #define HAS_AES                 0
+       #define HAS_TELEMETRY           0
 #endif
 
 #if defined(TIDONGLE)
+       /* Discontinued and was never built with CC1111 chips needing this */
+       #define NEEDS_CC1111_CLOCK_HACK 0
        #define HAS_FLIGHT              0
        #define HAS_USB                 1
        #define HAS_BEEP                0
        #define LEGACY_MONITOR          1
        #define HAS_RSSI                1
        #define HAS_AES                 0
+       #define HAS_TELEMETRY           0
 #endif
 
 #if defined(TELEBT_V_0_0)
+       /* Discontinued and was never built with CC1111 chips needing this */
+       #define NEEDS_CC1111_CLOCK_HACK 0
        #define HAS_FLIGHT              0
        #define HAS_USB                 1
        #define HAS_BEEP                0
        #define LEGACY_MONITOR          1
        #define HAS_RSSI                0
        #define HAS_AES                 0
+       #define HAS_TELEMETRY           0
+       #define AO_RADIO_REG_TEST       1
 #endif
 
 #if defined(TELEBT_V_0_1)
+       /* Discontinued and was never built with CC1111 chips needing this */
+       #define NEEDS_CC1111_CLOCK_HACK 0
        #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 LEGACY_MONITOR          1
        #define HAS_RSSI                0
        #define HAS_AES                 0
+       #define HAS_TELEMETRY           0
+       #define AO_RADIO_REG_TEST       1
 #endif
 
 #if defined(TELELAUNCH_V_0_1)
+       /* Discontinued and was never built with CC1111 chips needing this */
+       #define NEEDS_CC1111_CLOCK_HACK 0
        #define HAS_FLIGHT              0
        #define HAS_USB                 1
        #define HAS_BEEP                1
        #define HAS_IGNITE              1
        #define HAS_MONITOR             0
        #define HAS_AES                 1
+       #define HAS_TELEMETRY           0
 #endif
 
 #if DBG_ON_P1
 #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_ */