From: Bdale Garbee Date: Thu, 9 Apr 2020 00:14:19 +0000 (-0600) Subject: add bmx160 driver, pyro channel definitions X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=209a632497c970218d8450238a0ed7eb1d64d044;hp=6b439a4c90e434e5471c7499e30f164c6958ca40;p=fw%2Faltos add bmx160 driver, pyro channel definitions --- diff --git a/src/easytimer-v1/Makefile b/src/easytimer-v1/Makefile index 1427bc75..d17e6878 100644 --- a/src/easytimer-v1/Makefile +++ b/src/easytimer-v1/Makefile @@ -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) diff --git a/src/easytimer-v1/ao_pins.h b/src/easytimer-v1/ao_pins.h index 4842e94b..e60153eb 100644 --- a/src/easytimer-v1/ao_pins.h +++ b/src/easytimer-v1/ao_pins.h @@ -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 @@ -117,6 +119,7 @@ #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 @@ -138,13 +141,15 @@ #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 */