altosdroid: initial implementation of telemetry logging.
[fw/altos] / src / megametrum-v0.1 / ao_pins.h
index 34b75255094751d2600a6b30b8491f4b2b5e7c82..af8eebae2e6e4d2f3fe9681d64165a26d579663a 100644 (file)
 #define HAS_TELEMETRY          1
 
 #define HAS_SPI_1              1
-#define SPI_1_PA5_PA6_PA7      1
+#define SPI_1_PA5_PA6_PA7      1       /* Barometer */
 #define SPI_1_PB3_PB4_PB5      0
-#define SPI_1_PE13_PE14_PE15   0
+#define SPI_1_PE13_PE14_PE15   1       /* Accelerometer */
 
 #define HAS_SPI_2              1
-#define SPI_2_PB13_PB14_PB15   1
+#define SPI_2_PB13_PB14_PB15   1       /* Flash, Companion */
 #define SPI_2_PD1_PD3_PD4      0
-#define SPI_2_GPIO             (&stm_gpiob)
-#define SPI_2_SCK              13
-#define SPI_2_MISO             14
-#define SPI_2_MOSI             15
+
+#define SPI_2_PORT             (&stm_gpiob)
+#define SPI_2_SCK_PIN          13
+#define SPI_2_MISO_PIN         14
+#define SPI_2_MOSI_PIN         15
 
 #define HAS_I2C_1              1
 #define I2C_1_PB8_PB9          1
 #define AO_IGNITER_CLOSED      400
 #define AO_IGNITER_OPEN                60
 
-#define AO_IGNITER_PORT_A      (&stm_gpiod)
-#define AO_IGNITER_PIN_A       6
-
-#define AO_IGNITER_PORT_B      (&stm_gpiod)
-#define AO_IGNITER_PIN_B       7
+#define AO_IGNITER_DROGUE_PORT (&stm_gpiod)
+#define AO_IGNITER_DROGUE_PIN  6
 
-#define AO_IGNITER_PORT_C      (&stm_gpiob)
-#define AO_IGNITER_PIN_C       5
+#define AO_IGNITER_MAIN_PORT   (&stm_gpiod)
+#define AO_IGNITER_MAIN_PIN    7
 
-#define AO_IGNITER_PORT_D      (&stm_gpioe)
-#define AO_IGNITER_PIN_D       4
+#define AO_PYRO_PORT_0 (&stm_gpiob)
+#define AO_PYRO_PIN_0  5
 
-#define AO_IGNITER_PORT_E      (&stm_gpioe)
-#define AO_IGNITER_PIN_E       6
+#define AO_PYRO_PORT_1 (&stm_gpioe)
+#define AO_PYRO_PIN_1  4
 
-#define AO_IGNITER_PORT_F      (&stm_gpioe)
-#define AO_IGNITER_PIN_F       5
+#define AO_PYRO_PORT_2 (&stm_gpioe)
+#define AO_PYRO_PIN_2  6
 
-#define AO_IGNITER_DROGUE_PORT AO_IGNITER_PORT_A
-#define AO_IGNITER_DROGUE_PIN  AO_IGNITER_PIN_A
+#define AO_PYRO_PORT_3 (&stm_gpioe)
+#define AO_PYRO_PIN_3  5
 
-#define AO_IGNITER_MAIN_PORT   AO_IGNITER_PORT_B
-#define AO_IGNITER_MAIN_PIN    AO_IGNITER_PIN_B
+/* Number of general purpose pyro channels available */
+#define AO_PYRO_NUM    4
 
 #define AO_IGNITER_SET_DROGUE(v)       stm_gpio_set(AO_IGNITER_DROGUE_PORT, AO_IGNITER_DROGUE_PIN, v)
 #define AO_IGNITER_SET_MAIN(v)         stm_gpio_set(AO_IGNITER_MAIN_PORT, AO_IGNITER_MAIN_PIN, v)
@@ -250,13 +248,14 @@ struct ao_adc {
  * Pressure sensor settings
  */
 #define HAS_MS5607             1
-#define AO_MS5607_CS_GPIO      (&stm_gpioc)
-#define AO_MS5607_CS           4
+#define AO_MS5607_PRIVATE_PINS 1
+#define AO_MS5607_CS_PORT      (&stm_gpioc)
+#define AO_MS5607_CS_PIN       4
 #define AO_MS5607_CS_MASK      (1 << AO_MS5607_CS)
-#define AO_MS5607_MISO_GPIO    (&stm_gpioa)
-#define AO_MS5607_MISO         6
+#define AO_MS5607_MISO_PORT    (&stm_gpioa)
+#define AO_MS5607_MISO_PIN     6
 #define AO_MS5607_MISO_MASK    (1 << AO_MS5607_MISO)
-#define AO_MS5607_SPI_INDEX    (STM_SPI_INDEX(1))
+#define AO_MS5607_SPI_INDEX    AO_SPI_1_PA5_PA6_PA7
 
 /*
  * SPI Flash memory
@@ -265,16 +264,20 @@ struct ao_adc {
 #define M25_MAX_CHIPS          1
 #define AO_M25_SPI_CS_PORT     (&stm_gpiod)
 #define AO_M25_SPI_CS_MASK     (1 << 3)
-#define AO_M25_SPI_BUS         STM_SPI_INDEX(2)
+#define AO_M25_SPI_BUS         AO_SPI_2_PB13_PB14_PB15
 
 /*
  * Radio (cc1120)
  */
 
+/* gets pretty close to 434.550 */
+
+#define AO_RADIO_CAL_DEFAULT   0x6ca333
+
 #define AO_FEC_DEBUG           0
 #define AO_CC1120_SPI_CS_PORT  (&stm_gpioc)
 #define AO_CC1120_SPI_CS_PIN   5
-#define AO_CC1120_SPI_BUS      STM_SPI_INDEX(2)
+#define AO_CC1120_SPI_BUS      AO_SPI_2_PB13_PB14_PB15
 
 #define AO_CC1120_INT_PORT     (&stm_gpioc)
 #define AO_CC1120_INT_PIN      14
@@ -302,6 +305,15 @@ struct ao_adc {
 
 #define HAS_HIGHG_ACCEL                0
 
+/*
+ * mma655x
+ */
+
+#define HAS_MMA655X            1
+#define AO_MMA655X_SPI_INDEX   AO_SPI_1_PE13_PE14_PE15
+#define AO_MMA655X_CS_PORT     (&stm_gpiod)
+#define AO_MMA655X_CS_PIN      4
+
 #define NUM_CMDS               16
 
 /*
@@ -310,7 +322,7 @@ struct ao_adc {
 
 #define AO_COMPANION_CS_PORT   (&stm_gpiod)
 #define AO_COMPANION_CS_PIN    (0)
-#define AO_COMPANION_SPI_BUS   STM_SPI_INDEX(2)
+#define AO_COMPANION_SPI_BUS   AO_SPI_2_PB13_PB14_PB15
 
 /*
  * Monitor