add bmx160 driver, pyro channel definitions
authorBdale Garbee <bdale@gag.com>
Thu, 9 Apr 2020 00:14:19 +0000 (18:14 -0600)
committerBdale Garbee <bdale@gag.com>
Thu, 9 Apr 2020 00:14:19 +0000 (18:14 -0600)
src/easytimer-v1/Makefile
src/easytimer-v1/ao_pins.h

index 1427bc75cfbef4d1730a4cae4c10887c0e8d7576..d17e6878bfab9e92db67c375a8b801426f8071a1 100644 (file)
@@ -51,6 +51,7 @@ ALTOS_SRC = \
        ao_dma_stm.c \
        ao_spi_stm.c \
        ao_data.c \
+       ao_bmx160.c \
        ao_adc_stm.c \
        ao_beep_stm.c \
        ao_usb_stm.c \
@@ -60,14 +61,15 @@ ALTOS_SRC = \
        ao_report.c \
        ao_sample.c \
        ao_kalman.c \
+       ao_pyro.c \
        ao_timer_flight.c \
        $(PROFILE) \
        $(SAMPLE_PROFILE) \
        $(STACK_GUARD)
 
-PRODUCT=TeleMetrum-v3.0
-PRODUCT_DEF=-DTELEMETRUM_V_3_0
-IDPRODUCT=0x000b
+PRODUCT=EasyTimer-v1
+PRODUCT_DEF=-DEASYTIMER_V_1
+IDPRODUCT=0x000d
 
 CFLAGS = $(PRODUCT_DEF) $(STM_CFLAGS) $(PROFILE_DEF) $(SAMPLE_PROFILE_DEF) $(STACK_GUARD_DEF)
 
index 4842e94b6852f845963c5dcc9b8c0edb144a6277..e60153ebee5db932803501e4e1fd2a49c232e0cd 100644 (file)
@@ -60,6 +60,8 @@
 #define SERIAL_3_PC10_PC11     0
 #define SERIAL_3_PD8_PD9       0
 
+#define AO_CONFIG_MAX_SIZE     1024
+
 #define HAS_EEPROM             1
 #define USE_INTERNAL_FLASH     0
 #define USE_EEPROM_CONFIG      1
 
 #define HAS_IGNITE             0
 #define HAS_IGNITE_REPORT      0
+#define AO_PYRO_NUM            2
 
 #define AO_SENSE_PYRO(p,n)     ((p)->adc.sense[n])
 #define AO_IGNITER_CLOSED      400
 #define AO_ADC_NUM_SENSE       2
 
 struct ao_adc {
+       int16_t                 sense[AO_ADC_NUM_SENSE];
        int16_t                 v_batt;
        int16_t                 temp;
 };
 
 #define AO_ADC_DUMP(p) \
-       printf("tick: %5u batt: %5d\n", \
+       printf("tick: %5u A: %5d B: %5d batt: %5d\n", \
               (p)->tick, \
+               (p)->adc.sense[0], (p)->adc.sense[1], \
               (p)->adc.v_batt);
 
 #define AO_ADC_V_BATT          2
@@ -184,6 +189,30 @@ struct ao_adc {
  */
 #define AO_ADC_REFERENCE_DV    33
 
+/*
+ * bmx160
+ */
+
+#define HAS_BMX160              1
+#define AO_BMX160_INT_PORT      (&stm_gpioc)
+#define AO_BMX160_INT_PIN       15
+#define AO_BMX160_SPI_BUS       (AO_SPI_2_PB13_PB14_PB15 | AO_SPI_MODE_0)
+#define AO_BMX160_SPI_CS_PORT   (&stm_gpioc)
+#define AO_BMX160_SPI_CS_PIN    13
+#define HAS_IMU                 1
+
+#define ao_data_along(packet)   ((packet)->bmx160.acc_x)
+#define ao_data_across(packet)  (-(packet)->bmx160.acc_y)
+#define ao_data_through(packet) ((packet)->bmx160.acc_z)
+
+#define ao_data_roll(packet)    ((packet)->bmx160.gyr_x)
+#define ao_data_pitch(packet)   (-(packet)->bmx160.gyr_y)
+#define ao_data_yaw(packet)     ((packet)->bmx160.gyr_z)
+
+#define ao_data_mag_along(packet)       ((packet)->bmx160.mag_x)
+#define ao_data_mag_across(packet)      (-(packet)->bmx160.mag_y)
+#define ao_data_mag_through(packet)     ((packet)->bmx160.mag_z)
+
 /*
  * Monitor
  */