From 1204c772966f02183a5585e7054f29e837db8c43 Mon Sep 17 00:00:00 2001 From: nathan Date: Wed, 13 Jul 2016 00:30:59 -0700 Subject: [PATCH 1/3] omnibus pinout updates, osd dma mapping --- src/main/target/OMNIBUS/target.c | 22 ++++--- src/main/target/OMNIBUS/target.h | 96 ++++++++++++++----------------- src/main/target/OMNIBUS/target.mk | 8 +-- 3 files changed, 55 insertions(+), 71 deletions(-) diff --git a/src/main/target/OMNIBUS/target.c b/src/main/target/OMNIBUS/target.c index a41891d696..977d623f85 100644 --- a/src/main/target/OMNIBUS/target.c +++ b/src/main/target/OMNIBUS/target.c @@ -85,20 +85,18 @@ const timerHardware_t timerHardware[USABLE_TIMER_CHANNEL_COUNT] = { { TIM3, IO_TAG(PB4), TIM_Channel_1, TIM3_IRQn, 0, IOCFG_AF_PP, GPIO_AF_2 }, // PPM - PB4 // PB5 / TIM3 CH2 is connected to USBPresent - // Used by SPI1, MAX7456 - //{ TIM16, IO_TAG(PA6), TIM_Channel_1, TIM1_UP_TIM16_IRQn, 1, IOCFG_AF_PP, GPIO_AF_1 }, // PWM1 - PA6 - //{ TIM17, IO_TAG(PA7), TIM_Channel_1, TIM1_TRG_COM_TIM17_IRQn, 1, IOCFG_AF_PP, GPIO_AF_1 }, // PWM2 - PA7 - - { TIM4, IO_TAG(PB8), TIM_Channel_3, TIM4_IRQn, 1, IOCFG_AF_PP, GPIO_AF_2 }, // PWM3 - PB8 - { TIM4, IO_TAG(PB9), TIM_Channel_4, TIM4_IRQn, 1, IOCFG_AF_PP, GPIO_AF_2 }, // PWM4 - PB9 - { TIM15, IO_TAG(PA2), TIM_Channel_1, TIM1_BRK_TIM15_IRQn, 1, IOCFG_AF_PP, GPIO_AF_9 }, // PWM5 - PA2 - { TIM15, IO_TAG(PA3), TIM_Channel_2, TIM1_BRK_TIM15_IRQn, 1, IOCFG_AF_PP, GPIO_AF_9 }, // PWM6 - PA3 - { TIM2, IO_TAG(PA0), TIM_Channel_1, TIM2_IRQn, 1, IOCFG_AF_PP, GPIO_AF_1 }, // PWM7 - PA0 - { TIM2, IO_TAG(PA1), TIM_Channel_2, TIM2_IRQn, 1, IOCFG_AF_PP, GPIO_AF_1 }, // PWM8 - PA1 + { TIM4, IO_TAG(PB8), TIM_Channel_3, TIM4_IRQn, 1, IOCFG_AF_PP, GPIO_AF_2 }, // PWM1 - PB8 + { TIM4, IO_TAG(PB9), TIM_Channel_4, TIM4_IRQn, 1, IOCFG_AF_PP, GPIO_AF_2 }, // PWM2 - PB9 + { TIM15, IO_TAG(PA2), TIM_Channel_1, TIM1_BRK_TIM15_IRQn, 1, IOCFG_AF_PP, GPIO_AF_9 }, // PWM3 - PA2 + { TIM15, IO_TAG(PA3), TIM_Channel_2, TIM1_BRK_TIM15_IRQn, 1, IOCFG_AF_PP, GPIO_AF_9 }, // PWM4 - PA3 // UART3 RX/TX - { TIM2, IO_TAG(PB10), TIM_Channel_3, TIM2_IRQn, 1, IOCFG_AF_PP, GPIO_AF_1 }, // PWM9 - PB10 - TIM2_CH3 / UART3_TX (AF7) - { TIM2, IO_TAG(PB11), TIM_Channel_4, TIM2_IRQn, 1, IOCFG_AF_PP, GPIO_AF_1 }, // PWM10 - PB11 - TIM2_CH4 / UART3_RX (AF7) + { TIM2, IO_TAG(PB10), TIM_Channel_3, TIM2_IRQn, 1, IOCFG_AF_PP, GPIO_AF_1 }, // PWM5 - PB10 - TIM2_CH3 / UART3_TX (AF7) + { TIM2, IO_TAG(PB11), TIM_Channel_4, TIM2_IRQn, 1, IOCFG_AF_PP, GPIO_AF_1 }, // PWM6 - PB11 - TIM2_CH4 / UART3_RX (AF7) + + // SDA / SCL + { TIM4, IO_TAG(PB7), TIM_Channel_2, TIM4_IRQn, 1, IOCFG_AF_PP, GPIO_AF_2 }, // PWM7 - PB7 + { TIM4, IO_TAG(PB6), TIM_Channel_1, TIM4_IRQn, 1, IOCFG_AF_PP, GPIO_AF_2 }, // PWM8 - PB6 // LED Strip Pad { TIM1, IO_TAG(PA8), TIM_Channel_1, TIM1_CC_IRQn, 1, IOCFG_AF_PP, GPIO_AF_6 }, // GPIO_TIMER / LED_STRIP diff --git a/src/main/target/OMNIBUS/target.h b/src/main/target/OMNIBUS/target.h index bab30522f7..7f59fed66f 100644 --- a/src/main/target/OMNIBUS/target.h +++ b/src/main/target/OMNIBUS/target.h @@ -30,39 +30,38 @@ #define EXTI15_10_CALLBACK_HANDLER_COUNT 2 // MPU_INT, SDCardDetect -#define USE_EXTI -#define MPU_INT_EXTI PC13 #define USE_MPU_DATA_READY_SIGNAL -#define ENSURE_MPU_DATA_READY_IS_LOW - -#define USE_MAG_DATA_READY_SIGNAL -#define ENSURE_MAG_DATA_READY_IS_HIGH +#define EXTI_CALLBACK_HANDLER_COUNT 2 // MPU data ready (mag disabled) +#define MPU_INT_EXTI PC13 +#define USE_EXTI +#define MPU6000_SPI_INSTANCE SPI1 +#define MPU6000_CS_PIN PA4 #define GYRO -//#define USE_FAKE_GYRO -#define USE_GYRO_MPU6500 +#define USE_GYRO_SPI_MPU6000 +#define GYRO_MPU6000_ALIGN CW90_DEG #define ACC -//#define USE_FAKE_ACC -#define USE_ACC_MPU6500 +#define USE_ACC_SPI_MPU6000 +#define GYRO_MPU6500_ALIGN CW90_DEG -#define ACC_MPU6500_ALIGN CW180_DEG -#define GYRO_MPU6500_ALIGN CW180_DEG +#define BMP280_SPI_INSTANCE SPI1 +#define BMP280_CS_PIN PA13 #define BARO #define USE_BARO_BMP280 +#define USE_BARO_SPI_BMP280 -#define MAG -#define USE_MPU9250_MAG // Enables bypass configuration -#define USE_MAG_AK8975 -#define USE_MAG_HMC5883 // External +//#define MAG +//#define USE_MAG_AK8975 +//#define USE_MAG_HMC5883 // External +// +//#define MAG_AK8975_ALIGN CW90_DEG_FLIP -#define MAG_AK8975_ALIGN CW90_DEG_FLIP - -#define SONAR -#define SONAR_ECHO_PIN PB1 -#define SONAR_TRIGGER_PIN PB0 +//#define SONAR +//#define SONAR_ECHO_PIN PB1 +//#define SONAR_TRIGGER_PIN PB0 #define USB_IO #define USB_CABLE_DETECTION @@ -73,8 +72,7 @@ #define USE_UART1 #define USE_UART2 #define USE_UART3 -#define USE_SOFTSERIAL1 -#define SERIAL_PORT_COUNT 5 +#define SERIAL_PORT_COUNT 4 #define UART1_TX_PIN PA9 // PA9 #define UART1_RX_PIN PA10 // PA10 @@ -85,13 +83,8 @@ #define UART3_TX_PIN PB10 // PB10 (AF7) #define UART3_RX_PIN PB11 // PB11 (AF7) -#define SOFTSERIAL_1_TIMER TIM2 -#define SOFTSERIAL_1_TIMER_RX_HARDWARE 9 // PA0 / PAD3 -#define SOFTSERIAL_1_TIMER_TX_HARDWARE 10 // PA1 / PAD4 - -#define USE_I2C -#define I2C_DEVICE (I2CDEV_1) // PB6/SCL, PB7/SDA - +//#define USE_I2C +//#define I2C_DEVICE (I2CDEV_1) // PB6/SCL, PB7/SDA #define USE_SPI #define USE_SPI_DEVICE_1 @@ -108,14 +101,13 @@ // include the max7456 driver #define USE_MAX7456 #define MAX7456_SPI_INSTANCE SPI1 -#define MAX7456_SPI_CS_PIN SPI1_NSS_PIN -#define MAX7456_DMA_CHANNEL_TX DMA1_Channel3 -//#define MAX7456_DMA_CHANNEL_RX DMA1_Channel2 // <- Conflicts with WS2811 DMA -#define MAX7456_DMA_IRQ_HANDLER_ID DMA1_CH3_HANDLER +#define MAX7456_SPI_CS_PIN PB1 +//#define MAX7456_DMA_CHANNEL_TX DMA1_Channel3 +//#define MAX7456_DMA_CHANNEL_RX DMA1_Channel2 +//#define MAX7456_DMA_IRQ_HANDLER_ID DMA1_CH3_HANDLER #define USE_SPI #define USE_SPI_DEVICE_2 // PB12,13,14,15 on AF5 -#define I2C_DEVICE (I2CDEV_1) // PB6/SCL, PB7/SDA #define SPI2_NSS_PIN PB12 #define SPI2_SCK_PIN PB13 @@ -144,21 +136,23 @@ // #define AFATFS_USE_INTROSPECTIVE_LOGGING #define USE_ADC -#define BOARD_HAS_VOLTAGE_DIVIDER -#define ADC_INSTANCE ADC2 -#define VBAT_ADC_PIN PA4 -#define CURRENT_METER_ADC_PIN PA5 -#define RSSI_ADC_PIN PB2 +//#define BOARD_HAS_VOLTAGE_DIVIDER +#define VBAT_ADC_PIN PA0 +#define CURRENT_METER_ADC_PIN PA1 +#define ADC_INSTANCE ADC1 + +//#define RSSI_ADC_PIN PB1 +//#define ADC_INSTANCE ADC3 -#define LED_STRIP - -#define WS2811_PIN PA8 -#define WS2811_TIMER TIM1 -#define WS2811_DMA_CHANNEL DMA1_Channel2 -#define WS2811_IRQ DMA1_Channel2_IRQn -#define WS2811_DMA_TC_FLAG DMA1_FLAG_TC2 -#define WS2811_DMA_HANDLER_IDENTIFER DMA1_CH2_HANDLER +//#define LED_STRIP +// +//#define WS2811_PIN PA8 +//#define WS2811_TIMER TIM1 +//#define WS2811_DMA_CHANNEL DMA1_Channel2 +//#define WS2811_IRQ DMA1_Channel2_IRQn +//#define WS2811_DMA_TC_FLAG DMA1_FLAG_TC2 +//#define WS2811_DMA_HANDLER_IDENTIFER DMA1_CH2_HANDLER //#define TRANSPONDER @@ -178,7 +172,7 @@ #define ENABLE_BLACKBOX_LOGGING_ON_SDCARD_BY_DEFAULT #define DEFAULT_RX_FEATURE FEATURE_RX_PPM -#define DEFAULT_FEATURES FEATURE_BLACKBOX +#define DEFAULT_FEATURES (FEATURE_VBAT | FEATURE_CURRENT_METER | FEATURE_BLACKBOX | FEATURE_ONESHOT125) #define BUTTONS #define BUTTON_A_PORT GPIOB @@ -201,7 +195,3 @@ #define TARGET_IO_PORTF (BIT(0)|BIT(1)|BIT(4)) #define USED_TIMERS (TIM_N(1) | TIM_N(2) | TIM_N(3) | TIM_N(4) | TIM_N(15)) - -#define TIMER_APB1_PERIPHERALS (RCC_APB1Periph_TIM2 | RCC_APB1Periph_TIM3 | RCC_APB1Periph_TIM4) -#define TIMER_APB2_PERIPHERALS (RCC_APB2Periph_TIM1 | RCC_APB2Periph_TIM15) -#define TIMER_AHB_PERIPHERALS (RCC_AHBPeriph_GPIOA | RCC_AHBPeriph_GPIOB) diff --git a/src/main/target/OMNIBUS/target.mk b/src/main/target/OMNIBUS/target.mk index 1cb198e263..26a246adcd 100644 --- a/src/main/target/OMNIBUS/target.mk +++ b/src/main/target/OMNIBUS/target.mk @@ -3,15 +3,11 @@ FEATURES = VCP SDCARD TARGET_SRC = \ drivers/accgyro_mpu.c \ - drivers/accgyro_mpu6500.c \ + drivers/accgyro_spi_mpu6000.c \ drivers/barometer_bmp280.c \ - drivers/compass_ak8975.c \ - drivers/compass_hmc5883l.c \ - drivers/flash_m25p16.c \ + drivers/barometer_spi_bmp280.c \ drivers/light_ws2811strip.c \ drivers/light_ws2811strip_stm32f30x.c \ - drivers/serial_softserial.c \ drivers/serial_usb_vcp.c \ - drivers/sonar_hcsr04.c \ drivers/max7456.c \ io/osd.c From 52def80b4fd51581cfbd12e55e584a08111a0f0e Mon Sep 17 00:00:00 2001 From: nathan Date: Wed, 13 Jul 2016 21:40:03 -0700 Subject: [PATCH 2/3] mpu6000 acc not 6500 gyro --- src/main/target/OMNIBUS/target.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/target/OMNIBUS/target.h b/src/main/target/OMNIBUS/target.h index 7f59fed66f..6821d67cbe 100644 --- a/src/main/target/OMNIBUS/target.h +++ b/src/main/target/OMNIBUS/target.h @@ -44,7 +44,7 @@ #define ACC #define USE_ACC_SPI_MPU6000 -#define GYRO_MPU6500_ALIGN CW90_DEG +#define ACC_MPU6000_ALIGN CW90_DEG #define BMP280_SPI_INSTANCE SPI1 #define BMP280_CS_PIN PA13 From 26ee39666e6440dcc71a26f47d8df224a5b69028 Mon Sep 17 00:00:00 2001 From: nathan Date: Wed, 13 Jul 2016 21:40:17 -0700 Subject: [PATCH 3/3] re-enable transponder and ws2811 --- src/main/target/OMNIBUS/target.h | 42 +++++++++++++++---------------- src/main/target/OMNIBUS/target.mk | 3 +++ 2 files changed, 23 insertions(+), 22 deletions(-) diff --git a/src/main/target/OMNIBUS/target.h b/src/main/target/OMNIBUS/target.h index 6821d67cbe..b9119c5fd3 100644 --- a/src/main/target/OMNIBUS/target.h +++ b/src/main/target/OMNIBUS/target.h @@ -145,30 +145,28 @@ //#define ADC_INSTANCE ADC3 -//#define LED_STRIP -// -//#define WS2811_PIN PA8 -//#define WS2811_TIMER TIM1 -//#define WS2811_DMA_CHANNEL DMA1_Channel2 -//#define WS2811_IRQ DMA1_Channel2_IRQn -//#define WS2811_DMA_TC_FLAG DMA1_FLAG_TC2 -//#define WS2811_DMA_HANDLER_IDENTIFER DMA1_CH2_HANDLER +#define LED_STRIP +#define WS2811_PIN PA8 +#define WS2811_TIMER TIM1 +#define WS2811_DMA_CHANNEL DMA1_Channel2 +#define WS2811_IRQ DMA1_Channel2_IRQn +#define WS2811_DMA_TC_FLAG DMA1_FLAG_TC2 +#define WS2811_DMA_HANDLER_IDENTIFER DMA1_CH2_HANDLER +#define TRANSPONDER +#define TRANSPONDER_GPIO GPIOA +#define TRANSPONDER_GPIO_AHB_PERIPHERAL RCC_AHBPeriph_GPIOA +#define TRANSPONDER_GPIO_AF GPIO_AF_6 +#define TRANSPONDER_PIN GPIO_Pin_8 +#define TRANSPONDER_PIN_SOURCE GPIO_PinSource8 +#define TRANSPONDER_TIMER TIM1 +#define TRANSPONDER_TIMER_APB2_PERIPHERAL RCC_APB2Periph_TIM1 +#define TRANSPONDER_DMA_CHANNEL DMA1_Channel2 +#define TRANSPONDER_IRQ DMA1_Channel2_IRQn +#define TRANSPONDER_DMA_TC_FLAG DMA1_FLAG_TC2 +#define TRANSPONDER_DMA_HANDLER_IDENTIFER DMA1_CH2_HANDLER -//#define TRANSPONDER -//#define TRANSPONDER_GPIO GPIOA -//#define TRANSPONDER_GPIO_AHB_PERIPHERAL RCC_AHBPeriph_GPIOA -//#define TRANSPONDER_GPIO_AF GPIO_AF_6 -//#define TRANSPONDER_PIN GPIO_Pin_8 -//#define TRANSPONDER_PIN_SOURCE GPIO_PinSource8 -//#define TRANSPONDER_TIMER TIM1 -//#define TRANSPONDER_TIMER_APB2_PERIPHERAL RCC_APB2Periph_TIM1 -//#define TRANSPONDER_DMA_CHANNEL DMA1_Channel2 -//#define TRANSPONDER_IRQ DMA1_Channel2_IRQn -//#define TRANSPONDER_DMA_TC_FLAG DMA1_FLAG_TC2 -//#define TRANSPONDER_DMA_HANDLER_IDENTIFER DMA1_CH2_HANDLER - -//#define REDUCE_TRANSPONDER_CURRENT_DRAW_WHEN_USB_CABLE_PRESENT +#define REDUCE_TRANSPONDER_CURRENT_DRAW_WHEN_USB_CABLE_PRESENT #define ENABLE_BLACKBOX_LOGGING_ON_SDCARD_BY_DEFAULT #define DEFAULT_RX_FEATURE FEATURE_RX_PPM diff --git a/src/main/target/OMNIBUS/target.mk b/src/main/target/OMNIBUS/target.mk index 26a246adcd..82cde62266 100644 --- a/src/main/target/OMNIBUS/target.mk +++ b/src/main/target/OMNIBUS/target.mk @@ -9,5 +9,8 @@ TARGET_SRC = \ drivers/light_ws2811strip.c \ drivers/light_ws2811strip_stm32f30x.c \ drivers/serial_usb_vcp.c \ + drivers/transponder_ir.c \ + drivers/transponder_ir_stm32f30x.c \ + io/transponder_ir.c \ drivers/max7456.c \ io/osd.c