From f0b0537246854742be925accaf86e1d53e648db5 Mon Sep 17 00:00:00 2001 From: mikeller Date: Sat, 2 Mar 2019 23:08:52 +1300 Subject: [PATCH] Added missing features to unified targets, centralised feature configuration. --- src/main/drivers/transponder_ir_io_hal.c | 8 +- .../drivers/transponder_ir_io_stdperiph.c | 4 +- src/main/target/STM32F405/target.h | 67 +--------- src/main/target/STM32F405/target.mk | 12 +- src/main/target/STM32F411/target.h | 81 +----------- src/main/target/STM32F745/target.h | 65 +--------- src/main/target/STM32F7X2/target.h | 65 +--------- src/main/target/common_post.h | 9 ++ src/main/target/common_unified.h | 115 ++++++++++++++++++ unified_targets/configs/BEEROTORF4.config | 115 ++++++++++++++++++ unified_targets/configs/DYSF4PRO.config | 1 - unified_targets/configs/KAKUTEF7.config | 113 +++++++++++++++++ unified_targets/configs/NERO.config | 96 +++++++++++++++ unified_targets/docs/Manufacturers.md | 3 + 14 files changed, 483 insertions(+), 271 deletions(-) create mode 100644 src/main/target/common_unified.h create mode 100644 unified_targets/configs/BEEROTORF4.config create mode 100644 unified_targets/configs/KAKUTEF7.config create mode 100644 unified_targets/configs/NERO.config diff --git a/src/main/drivers/transponder_ir_io_hal.c b/src/main/drivers/transponder_ir_io_hal.c index 9e84b1bb6..d04903834 100644 --- a/src/main/drivers/transponder_ir_io_hal.c +++ b/src/main/drivers/transponder_ir_io_hal.c @@ -45,6 +45,8 @@ volatile uint8_t transponderIrDataTransferInProgress = 0; static IO_t transponderIO = IO_NONE; static TIM_HandleTypeDef TimHandle; static uint16_t timerChannel = 0; +static uint8_t output; +static uint8_t alternateFunction; #if !defined(STM32F7) #error "Transponder (via HAL) not supported on this MCU." @@ -69,6 +71,8 @@ void transponderIrHardwareInit(ioTag_t ioTag, transponder_t *transponder) const timerHardware_t *timerHardware = timerGetByTag(ioTag); TIM_TypeDef *timer = timerHardware->tim; timerChannel = timerHardware->channel; + output = timerHardware->output; + alternateFunction = timerHardware->alternateFunction; #if defined(USE_DMA_SPEC) const dmaChannelSpec_t *dmaSpec = dmaGetChannelSpecByTimer(timerHardware); @@ -253,7 +257,7 @@ void transponderIrDisable(void) } TIM_DMACmd(&TimHandle, timerChannel, DISABLE); - if (timerHardware->output & TIMER_OUTPUT_N_CHANNEL) { + if (output & TIMER_OUTPUT_N_CHANNEL) { HAL_TIMEx_PWMN_Stop(&TimHandle, timerChannel); } else { HAL_TIM_PWM_Stop(&TimHandle, timerChannel); @@ -268,7 +272,7 @@ void transponderIrDisable(void) IOLo(transponderIO); #endif - IOConfigGPIOAF(transponderIO, IO_CONFIG(GPIO_MODE_AF_PP, GPIO_SPEED_FREQ_VERY_HIGH, GPIO_PULLDOWN), timerHardware->alternateFunction); + IOConfigGPIOAF(transponderIO, IO_CONFIG(GPIO_MODE_AF_PP, GPIO_SPEED_FREQ_VERY_HIGH, GPIO_PULLDOWN), alternateFunction); } void transponderIrTransmit(void) diff --git a/src/main/drivers/transponder_ir_io_stdperiph.c b/src/main/drivers/transponder_ir_io_stdperiph.c index 7f817fb69..bf362ad63 100644 --- a/src/main/drivers/transponder_ir_io_stdperiph.c +++ b/src/main/drivers/transponder_ir_io_stdperiph.c @@ -42,6 +42,7 @@ volatile uint8_t transponderIrDataTransferInProgress = 0; static IO_t transponderIO = IO_NONE; static TIM_TypeDef *timer = NULL; +uint8_t alternateFunction; #if defined(STM32F3) static DMA_Channel_TypeDef *dmaRef = NULL; #elif defined(STM32F4) @@ -74,6 +75,7 @@ void transponderIrHardwareInit(ioTag_t ioTag, transponder_t *transponder) const timerHardware_t *timerHardware = timerGetByTag(ioTag); timer = timerHardware->tim; + alternateFunction = timerHardware->alternateFunction; #if defined(USE_DMA_SPEC) const dmaChannelSpec_t *dmaSpec = dmaGetChannelSpecByTimer(timerHardware); @@ -235,7 +237,7 @@ void transponderIrDisable(void) TIM_Cmd(timer, DISABLE); IOInit(transponderIO, OWNER_TRANSPONDER, 0); - IOConfigGPIOAF(transponderIO, IO_CONFIG(GPIO_Mode_AF, GPIO_Speed_50MHz, GPIO_OType_PP, GPIO_PuPd_DOWN), timerHardware->alternateFunction); + IOConfigGPIOAF(transponderIO, IO_CONFIG(GPIO_Mode_AF, GPIO_Speed_50MHz, GPIO_OType_PP, GPIO_PuPd_DOWN), alternateFunction); #ifdef TRANSPONDER_INVERTED IOHi(transponderIO); diff --git a/src/main/target/STM32F405/target.h b/src/main/target/STM32F405/target.h index 7edb5570b..97641ea08 100644 --- a/src/main/target/STM32F405/target.h +++ b/src/main/target/STM32F405/target.h @@ -20,68 +20,15 @@ #pragma once -// Treat the target as generic, and expect manufacturer id / board name -// to be supplied when the board is configured for the first time -#define USE_UNIFIED_TARGET +#include "target/common_unified.h" #define TARGET_BOARD_IDENTIFIER "S405" #define USBD_PRODUCT_STRING "Betaflight STM32F405" -#define USE_BEEPER - -// MPU interrupt -#define USE_EXTI -#define USE_MPU_DATA_READY_SIGNAL -//#define DEBUG_MPU_DATA_READY_INTERRUPT -#define USE_GYRO_EXTI - -#define USE_ACC -#define USE_GYRO - -#define USE_ACC_MPU6050 -#define USE_GYRO_MPU6050 -#define USE_ACC_MPU6500 -#define USE_GYRO_MPU6500 -#define USE_ACC_SPI_MPU6000 -#define USE_GYRO_SPI_MPU6000 -#define USE_ACC_SPI_MPU6500 -#define USE_GYRO_SPI_MPU6500 -#define USE_ACC_SPI_ICM20689 -#define USE_GYRO_SPI_ICM20689 -// Other USE_ACCs and USE_GYROs should follow - -#define USE_MAG -#define USE_MAG_HMC5883 -#define USE_MAG_SPI_HMC5883 -#define USE_MAG_QMC5883 -#define USE_MAG_LIS3MDL -#define USE_MAG_AK8963 -#define USE_MAG_SPI_AK8963 - -#define USE_BARO -#define USE_BARO_MS5611 -#define USE_BARO_SPI_MS5611 -#define USE_BARO_BMP280 -#define USE_BARO_SPI_BMP280 -#define USE_BARO_LPS -#define USE_BARO_SPI_LPS - -#define USE_SDCARD -#define USE_SDCARD_SPI - -#define USE_FLASHFS -#define USE_FLASH_M25P16 - -#define USE_MAX7456 - -#define USE_I2C #define USE_I2C_DEVICE_1 #define USE_I2C_DEVICE_2 #define USE_I2C_DEVICE_3 -#define I2C_FULL_RECONFIGURABILITY - -#define USE_VCP #define USE_UART1 #define USE_UART2 @@ -89,20 +36,14 @@ #define USE_UART4 #define USE_UART5 #define USE_UART6 -#define USE_SOFTSERIAL1 -#define USE_SOFTSERIAL2 + +#define SERIAL_PORT_COUNT (UNIFIED_SERIAL_PORT_COUNT + 6) + #define USE_INVERTER -#define SERIAL_PORT_COUNT 9 -#define USE_ESCSERIAL - -#define USE_SPI #define USE_SPI_DEVICE_1 #define USE_SPI_DEVICE_2 #define USE_SPI_DEVICE_3 -#define SPI_FULL_RECONFIGURABILITY - -#define USE_ADC #define TARGET_IO_PORTA 0xffff #define TARGET_IO_PORTB 0xffff diff --git a/src/main/target/STM32F405/target.mk b/src/main/target/STM32F405/target.mk index 4c85a12d4..e12231a36 100644 --- a/src/main/target/STM32F405/target.mk +++ b/src/main/target/STM32F405/target.mk @@ -5,4 +5,14 @@ TARGET_SRC = \ $(addprefix drivers/accgyro/,$(notdir $(wildcard $(SRC_DIR)/drivers/accgyro/*.c))) \ $(addprefix drivers/barometer/,$(notdir $(wildcard $(SRC_DIR)/drivers/barometer/*.c))) \ $(addprefix drivers/compass/,$(notdir $(wildcard $(SRC_DIR)/drivers/compass/*.c))) \ - drivers/max7456.c + drivers/max7456.c \ + rx/cc2500_common.c \ + rx/cc2500_frsky_shared.c \ + rx/cc2500_frsky_d.c \ + rx/cc2500_frsky_x.c \ + rx/cc2500_sfhss.c \ + rx/a7105_flysky.c \ + rx/cyrf6936_spektrum.c \ + drivers/rx/rx_cc2500.c \ + drivers/rx/rx_a7105.c \ + drivers/rx/rx_cyrf6936.c diff --git a/src/main/target/STM32F411/target.h b/src/main/target/STM32F411/target.h index 8ff794f62..f58fcba0a 100644 --- a/src/main/target/STM32F411/target.h +++ b/src/main/target/STM32F411/target.h @@ -20,100 +20,27 @@ #pragma once -// Treat the target as generic, and expect manufacturer id / board name -// to be supplied when the board is configured for the first time -#define USE_UNIFIED_TARGET +#include "target/common_unified.h" #define TARGET_BOARD_IDENTIFIER "S411" #define USBD_PRODUCT_STRING "Betaflight STM32F411" -#define USE_BEEPER - -// MPU interrupt -#define USE_EXTI -#define USE_MPU_DATA_READY_SIGNAL -//#define DEBUG_MPU_DATA_READY_INTERRUPT -#define USE_GYRO_EXTI - -#define USE_ACC -#define USE_GYRO - -#define USE_ACC_MPU6050 -#define USE_GYRO_MPU6050 -#define USE_ACC_MPU6500 -#define USE_GYRO_MPU6500 -#define USE_ACC_SPI_MPU6000 -#define USE_GYRO_SPI_MPU6000 -#define USE_ACC_SPI_MPU6500 -#define USE_GYRO_SPI_MPU6500 -#define USE_ACC_SPI_ICM20689 -#define USE_GYRO_SPI_ICM20689 -// Other USE_ACCs and USE_GYROs should follow - -#define USE_MAG -#define USE_MAG_HMC5883 -#define USE_MAG_SPI_HMC5883 -#define USE_MAG_QMC5883 -#define USE_MAG_LIS3MDL -#define USE_MAG_AK8963 -#define USE_MAG_SPI_AK8963 - -#define USE_BARO -#define USE_BARO_MS5611 -#define USE_BARO_SPI_MS5611 -#define USE_BARO_BMP280 -#define USE_BARO_SPI_BMP280 -#define USE_BARO_LPS -#define USE_BARO_SPI_LPS - -#define USE_SDCARD -#define USE_SDCARD_SPI - -#define USE_FLASHFS -#define USE_FLASH_M25P16 - -#define USE_MAX7456 - -#define USE_I2C #define USE_I2C_DEVICE_1 #define USE_I2C_DEVICE_2 #define USE_I2C_DEVICE_3 -#define I2C_FULL_RECONFIGURABILITY - -#define USE_VCP #define USE_UART1 #define USE_UART2 #define USE_UART6 -#define USE_SOFTSERIAL1 -#define USE_SOFTSERIAL2 + +#define SERIAL_PORT_COUNT (UNIFIED_SERIAL_PORT_COUNT + 3) + #define USE_INVERTER -#define SERIAL_PORT_COUNT 6 -#define USE_ESCSERIAL - -#define USE_SPI #define USE_SPI_DEVICE_1 #define USE_SPI_DEVICE_2 #define USE_SPI_DEVICE_3 -#define SPI_FULL_RECONFIGURABILITY - -#define USE_ADC - -#define USE_RX_SPI - -#define USE_RX_FRSKY_SPI_D -#define USE_RX_FRSKY_SPI_X -#define USE_RX_SFHSS_SPI -#define USE_RX_FRSKY_SPI_TELEMETRY -#define USE_RX_CC2500_SPI_PA_LNA -#define USE_RX_CC2500_SPI_DIVERSITY - -#define USE_RX_FLYSKY - -#define USE_RX_SPEKTRUM -#define USE_RX_SPEKTRUM_TELEMETRY #define TARGET_IO_PORTA 0xffff #define TARGET_IO_PORTB 0xffff diff --git a/src/main/target/STM32F745/target.h b/src/main/target/STM32F745/target.h index 959d6909b..788db83d4 100644 --- a/src/main/target/STM32F745/target.h +++ b/src/main/target/STM32F745/target.h @@ -20,69 +20,16 @@ #pragma once -// Treat the target as generic, and expect manufacturer id / board name -// to be supplied when the board is configured for the first time -#define USE_UNIFIED_TARGET +#include "target/common_unified.h" #define TARGET_BOARD_IDENTIFIER "S745" #define USBD_PRODUCT_STRING "Betaflight STM32F745" -#define USE_BEEPER - -// MPU interrupt -#define USE_EXTI -#define USE_MPU_DATA_READY_SIGNAL -//#define DEBUG_MPU_DATA_READY_INTERRUPT -#define USE_GYRO_EXTI - -#define USE_ACC -#define USE_GYRO - -#define USE_ACC_MPU6050 -#define USE_GYRO_MPU6050 -#define USE_ACC_MPU6500 -#define USE_GYRO_MPU6500 -#define USE_ACC_SPI_MPU6000 -#define USE_GYRO_SPI_MPU6000 -#define USE_ACC_SPI_MPU6500 -#define USE_GYRO_SPI_MPU6500 -#define USE_ACC_SPI_ICM20689 -#define USE_GYRO_SPI_ICM20689 -// Other USE_ACCs and USE_GYROs should follow - -#define USE_MAG -#define USE_MAG_HMC5883 -#define USE_MAG_SPI_HMC5883 -#define USE_MAG_QMC5883 -#define USE_MAG_LIS3MDL -#define USE_MAG_AK8963 -#define USE_MAG_SPI_AK8963 - -#define USE_BARO -#define USE_BARO_MS5611 -#define USE_BARO_SPI_MS5611 -#define USE_BARO_BMP280 -#define USE_BARO_SPI_BMP280 -#define USE_BARO_LPS -#define USE_BARO_SPI_LPS - -#define USE_SDCARD -#define USE_SDCARD_SPI - -#define USE_FLASHFS -#define USE_FLASH_M25P16 - -#define USE_MAX7456 - -#define USE_I2C #define USE_I2C_DEVICE_1 #define USE_I2C_DEVICE_2 #define USE_I2C_DEVICE_3 #define USE_I2C_DEVICE_4 -#define I2C_FULL_RECONFIGURABILITY - -#define USE_VCP #define USE_UART1 #define USE_UART2 @@ -92,23 +39,15 @@ #define USE_UART6 #define USE_UART7 #define USE_UART8 -#define USE_SOFTSERIAL1 -#define USE_SOFTSERIAL2 -#define SERIAL_PORT_COUNT 11 +#define SERIAL_PORT_COUNT (UNIFIED_SERIAL_PORT_COUNT + 8) -#define USE_ESCSERIAL - -#define USE_SPI #define USE_SPI_DEVICE_1 #define USE_SPI_DEVICE_2 #define USE_SPI_DEVICE_3 #define USE_SPI_DEVICE_4 #define USE_SPI_DEVICE_5 #define USE_SPI_DEVICE_6 -#define SPI_FULL_RECONFIGURABILITY - -#define USE_ADC #define TARGET_IO_PORTA 0xffff #define TARGET_IO_PORTB 0xffff diff --git a/src/main/target/STM32F7X2/target.h b/src/main/target/STM32F7X2/target.h index f5795738b..f91d76ba4 100644 --- a/src/main/target/STM32F7X2/target.h +++ b/src/main/target/STM32F7X2/target.h @@ -20,68 +20,15 @@ #pragma once -// Treat the target as generic, and expect manufacturer id / board name -// to be supplied when the board is configured for the first time -#define USE_UNIFIED_TARGET +#include "target/common_unified.h" #define TARGET_BOARD_IDENTIFIER "S7X2" #define USBD_PRODUCT_STRING "Betaflight STM32F7x2" -#define USE_BEEPER - -// MPU interrupt -#define USE_EXTI -#define USE_MPU_DATA_READY_SIGNAL -//#define DEBUG_MPU_DATA_READY_INTERRUPT -#define USE_GYRO_EXTI - -#define USE_ACC -#define USE_GYRO - -#define USE_ACC_MPU6050 -#define USE_GYRO_MPU6050 -#define USE_ACC_MPU6500 -#define USE_GYRO_MPU6500 -#define USE_ACC_SPI_MPU6000 -#define USE_GYRO_SPI_MPU6000 -#define USE_ACC_SPI_MPU6500 -#define USE_GYRO_SPI_MPU6500 -#define USE_ACC_SPI_ICM20689 -#define USE_GYRO_SPI_ICM20689 -// Other USE_ACCs and USE_GYROs should follow - -#define USE_MAG -#define USE_MAG_HMC5883 -#define USE_MAG_SPI_HMC5883 -#define USE_MAG_QMC5883 -#define USE_MAG_LIS3MDL -#define USE_MAG_AK8963 -#define USE_MAG_SPI_AK8963 - -#define USE_BARO -#define USE_BARO_MS5611 -#define USE_BARO_SPI_MS5611 -#define USE_BARO_BMP280 -#define USE_BARO_SPI_BMP280 -#define USE_BARO_LPS -#define USE_BARO_SPI_LPS - -#define USE_SDCARD -#define USE_SDCARD_SPI - -#define USE_FLASHFS -#define USE_FLASH_M25P16 - -#define USE_MAX7456 - -#define USE_I2C #define USE_I2C_DEVICE_1 #define USE_I2C_DEVICE_2 #define USE_I2C_DEVICE_3 -#define I2C_FULL_RECONFIGURABILITY - -#define USE_VCP #define USE_UART1 #define USE_UART2 @@ -89,20 +36,12 @@ #define USE_UART4 #define USE_UART5 #define USE_UART6 -#define USE_SOFTSERIAL1 -#define USE_SOFTSERIAL2 -#define SERIAL_PORT_COUNT 9 +#define SERIAL_PORT_COUNT (UNIFIED_SERIAL_PORT_COUNT + 6) -#define USE_ESCSERIAL - -#define USE_SPI #define USE_SPI_DEVICE_1 #define USE_SPI_DEVICE_2 #define USE_SPI_DEVICE_3 -#define SPI_FULL_RECONFIGURABILITY - -#define USE_ADC #define TARGET_IO_PORTA 0xffff #define TARGET_IO_PORTB 0xffff diff --git a/src/main/target/common_post.h b/src/main/target/common_post.h index 7473a968b..63ebada88 100644 --- a/src/main/target/common_post.h +++ b/src/main/target/common_post.h @@ -294,3 +294,12 @@ #else #undef USE_UNIFIED_TARGET #endif + +#if !defined(USE_RANGEFINDER) +#undef USE_RANGEFINDER_HCSR04 +#undef USE_RANGEFINDER_SRF10 +#undef USE_RANGEFINDER_HCSR04_I2C +#undef USE_RANGEFINDER_VL53L0X +#undef USE_RANGEFINDER_UIB +#undef USE_RANGEFINDER_TF +#endif diff --git a/src/main/target/common_unified.h b/src/main/target/common_unified.h new file mode 100644 index 000000000..ffc07555d --- /dev/null +++ b/src/main/target/common_unified.h @@ -0,0 +1,115 @@ +/* + * This file is part of Cleanflight and Betaflight. + * + * Cleanflight and Betaflight are free software. You can redistribute + * this software and/or modify this software under the terms of the + * GNU General Public License as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) + * any later version. + * + * Cleanflight and Betaflight are distributed in the hope that they + * will be useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this software. + * + * If not, see . + */ + +#pragma once + +// Treat the target as unified, and expect manufacturer id / board name +// to be supplied when the board is configured for the first time +#define USE_UNIFIED_TARGET + +#define USE_BEEPER + +// MPU interrupt +#define USE_EXTI +#define USE_MPU_DATA_READY_SIGNAL +#define USE_GYRO_EXTI + +#define USE_ACC +#define USE_GYRO + +#define USE_ACC_MPU6050 +#define USE_GYRO_MPU6050 +#define USE_ACC_MPU6500 +#define USE_GYRO_MPU6500 +#define USE_ACC_SPI_MPU6000 +#define USE_GYRO_SPI_MPU6000 +#define USE_ACC_SPI_MPU6500 +#define USE_GYRO_SPI_MPU6500 +#define USE_ACC_SPI_ICM20689 +#define USE_GYRO_SPI_ICM20689 +// Other USE_ACCs and USE_GYROs should follow + +#define USE_MAG +#define USE_MAG_DATA_READY_SIGNAL +#define USE_MAG_HMC5883 +#define USE_MAG_SPI_HMC5883 +#define USE_MAG_QMC5883 +#define USE_MAG_LIS3MDL +#define USE_MAG_AK8963 +#define USE_MAG_SPI_AK8963 + +#define USE_BARO +#define USE_BARO_MS5611 +#define USE_BARO_SPI_MS5611 +#define USE_BARO_BMP280 +#define USE_BARO_SPI_BMP280 +#define USE_BARO_LPS +#define USE_BARO_SPI_LPS + +#define USE_SDCARD +#define USE_SDCARD_SPI + +#define USE_FLASHFS +#define USE_FLASH_M25P16 + +#define USE_MAX7456 + +#define USE_TRANSPONDER + +//TODO: Make this actually work by making the pins configurable +#define USE_RANGEFINDER +#define USE_RANGEFINDER_HCSR04 +#define USE_RANGEFINDER_TF + +#define USE_SPI +#define SPI_FULL_RECONFIGURABILITY + +#define USE_I2C +#define I2C_FULL_RECONFIGURABILITY + +#define USE_VCP + +#define USE_SOFTSERIAL1 +#define USE_SOFTSERIAL2 + +#define UNIFIED_SERIAL_PORT_COUNT 3 + +#define USE_USB_DETECT + +//TODO: Re-enable this after it's been fixed to work with unified targets +//#define USE_ESCSERIAL + +#define USE_ADC + +#if defined(STM32F4) +//We currently only have stdperiph drivers for this + +#define USE_RX_SPI + +#define USE_RX_FRSKY_SPI_D +#define USE_RX_FRSKY_SPI_X +#define USE_RX_SFHSS_SPI +#define USE_RX_FRSKY_SPI_TELEMETRY +#define USE_RX_CC2500_SPI_PA_LNA +#define USE_RX_CC2500_SPI_DIVERSITY + +#define USE_RX_FLYSKY +#define USE_RX_FLYSKY_SPI_LED +#endif diff --git a/unified_targets/configs/BEEROTORF4.config b/unified_targets/configs/BEEROTORF4.config new file mode 100644 index 000000000..aa5542615 --- /dev/null +++ b/unified_targets/configs/BEEROTORF4.config @@ -0,0 +1,115 @@ +# Betaflight / BEEROTORF4 (BRF4) 4.0.0 Mar 3 2019 / 15:29:39 (f4cbe85a2) MSP API: 1.41 + +board_name BEEROTORF4 +manufacturer_id RCTI + +# resources +resource BEEPER 1 B03 +resource MOTOR 1 B00 +resource MOTOR 2 B01 +resource MOTOR 3 A01 +resource MOTOR 4 A00 +resource MOTOR 5 C06 +resource MOTOR 6 C07 +resource MOTOR 7 B05 +resource MOTOR 8 B09 +resource PPM 1 A03 +resource LED_STRIP 1 B08 +resource SERIAL_TX 1 A09 +resource SERIAL_TX 2 A02 +resource SERIAL_TX 3 B10 +resource SERIAL_RX 1 A10 +resource SERIAL_RX 2 A03 +resource SERIAL_RX 3 B11 +resource INVERTER 2 C15 +resource INVERTER 3 C14 +resource I2C_SCL 1 B06 +resource I2C_SDA 1 B07 +resource LED 1 B04 +resource RX_BIND_PLUG 1 NONE +resource SPI_SCK 1 A05 +resource SPI_SCK 2 B13 +resource SPI_SCK 3 C10 +resource SPI_MISO 1 A06 +resource SPI_MISO 2 B14 +resource SPI_MISO 3 C11 +resource SPI_MOSI 1 A07 +resource SPI_MOSI 2 B15 +resource SPI_MOSI 3 C12 +resource ESCSERIAL 1 A03 +resource ADC_BATT 1 C00 +resource ADC_RSSI 1 C02 +resource ADC_CURR 1 C01 +resource SDCARD_CS 1 B12 +resource SDCARD_DETECT 1 C03 +resource OSD_CS 1 A15 +resource GYRO_EXTI 1 A08 +resource GYRO_CS 1 A04 +resource GYRO_CS 2 NONE +resource USB_DETECT 1 C05 + +# timer +timer A03 2 +timer B00 0 +timer B01 0 +timer A01 0 +timer A00 0 +timer C06 1 +timer C07 1 +timer B05 0 +timer B09 0 +timer B08 0 + +# dmaopt +dmaopt SPI_TX 2 0 +# SPI_TX 2: DMA1 Stream 4 Channel 0 +dmaopt SPI_TX 3 0 +# SPI_TX 3: DMA1 Stream 5 Channel 0 +dmaopt SPI_RX 3 0 +# SPI_RX 3: DMA1 Stream 0 Channel 0 +dmaopt ADC 1 0 +# ADC 1: DMA2 Stream 0 Channel 0 +dmaopt pin B00 0 +# pin B00: DMA2 Stream 6 Channel 0 +dmaopt pin B01 0 +# pin B01: DMA2 Stream 6 Channel 0 +dmaopt pin A01 0 +# pin A01: DMA1 Stream 6 Channel 3 +dmaopt pin A00 0 +# pin A00: DMA1 Stream 5 Channel 3 +dmaopt pin C06 0 +# pin C06: DMA2 Stream 2 Channel 0 +dmaopt pin C07 0 +# pin C07: DMA2 Stream 2 Channel 0 +dmaopt pin B05 0 +# pin B05: DMA1 Stream 5 Channel 5 +dmaopt pin B08 0 +# pin B08: DMA1 Stream 7 Channel 2 + +# feature +feature -RX_PARALLEL_PWM +feature RX_SERIAL +feature OSD + +serial 1 64 115200 57600 0 115200 + +# master +set baro_bustype = I2C +set baro_i2c_device = 1 +set baro_i2c_address = 0 +set serialrx_provider = SBUS +set adc_device = 1 +set dshot_burst = ON +set motor_pwm_protocol = ONESHOT125 +set current_meter = ADC +set battery_meter = ADC +set beeper_inversion = ON +set beeper_od = OFF +set sdcard_detect_inverted = ON +set sdcard_mode = SPI +set sdcard_spi_bus = 2 +set system_hse_mhz = 8 +set max7456_spi_bus = 3 +set gyro_1_bustype = SPI +set gyro_1_spibus = 1 +set gyro_1_sensor_align = CW270 diff --git a/unified_targets/configs/DYSF4PRO.config b/unified_targets/configs/DYSF4PRO.config index 7748d0db3..dfbd4d719 100644 --- a/unified_targets/configs/DYSF4PRO.config +++ b/unified_targets/configs/DYSF4PRO.config @@ -111,4 +111,3 @@ set flash_spi_bus = 3 set gyro_1_bustype = SPI set gyro_1_spibus = 1 set gyro_1_sensor_align = CW180 -set gyro_2_bustype = SPI diff --git a/unified_targets/configs/KAKUTEF7.config b/unified_targets/configs/KAKUTEF7.config new file mode 100644 index 000000000..6c3127153 --- /dev/null +++ b/unified_targets/configs/KAKUTEF7.config @@ -0,0 +1,113 @@ +# Betaflight / KAKUTEF7 (KTF7) 4.0.0 Mar 3 2019 / 20:23:18 (b1211ad6e) MSP API: 1.41 + +board_name KAKUTEF7 +manufacturer_id HBRO + +# resources +resource BEEPER 1 D15 +resource MOTOR 1 B00 +resource MOTOR 2 B01 +resource MOTOR 3 E09 +resource MOTOR 4 E11 +resource MOTOR 5 C09 +resource MOTOR 6 A03 +resource PPM 1 E13 +resource LED_STRIP 1 D12 +resource SERIAL_TX 1 A09 +resource SERIAL_TX 2 D05 +resource SERIAL_TX 3 B10 +resource SERIAL_TX 4 A00 +resource SERIAL_TX 6 C06 +resource SERIAL_RX 1 A10 +resource SERIAL_RX 2 D06 +resource SERIAL_RX 3 B11 +resource SERIAL_RX 4 A01 +resource SERIAL_RX 6 C07 +resource SERIAL_RX 7 E07 +resource I2C_SCL 1 B06 +resource I2C_SDA 1 B07 +resource LED 1 A02 +resource SPI_SCK 1 A05 +resource SPI_SCK 2 B13 +resource SPI_SCK 4 E02 +resource SPI_MISO 1 A06 +resource SPI_MISO 2 B14 +resource SPI_MISO 4 E05 +resource SPI_MOSI 1 A07 +resource SPI_MOSI 2 B15 +resource SPI_MOSI 4 E06 +resource ESCSERIAL 1 E13 +resource ADC_BATT 1 C03 +resource ADC_RSSI 1 C05 +resource ADC_CURR 1 C02 +resource SDCARD_CS 1 A04 +resource SDCARD_DETECT 1 D08 +resource OSD_CS 1 B12 +resource GYRO_EXTI 1 E01 +resource GYRO_CS 1 E04 +resource USB_DETECT 1 A08 + +# timer +timer E13 0 +timer B00 0 +timer B01 1 +timer E09 0 +timer E11 0 +timer C09 1 +timer A03 1 +timer D12 0 + +# dmaopt +dmaopt SPI_TX 1 1 +# SPI_TX 1: DMA2 Stream 5 Channel 3 +dmaopt ADC 1 1 +# ADC 1: DMA2 Stream 4 Channel 0 +dmaopt pin E13 1 +# pin E13: DMA2 Stream 6 Channel 6 +dmaopt pin B00 0 +# pin B00: DMA1 Stream 7 Channel 5 +dmaopt pin B01 0 +# pin B01: DMA1 Stream 2 Channel 5 +dmaopt pin E09 2 +# pin E09: DMA2 Stream 3 Channel 6 +dmaopt pin E11 1 +# pin E11: DMA2 Stream 2 Channel 6 +dmaopt pin C09 0 +# pin C09: DMA2 Stream 7 Channel 7 +dmaopt pin A03 0 +# pin A03: DMA1 Stream 1 Channel 6 +dmaopt pin D12 0 +# pin D12: DMA1 Stream 0 Channel 2 + +# feature +feature -RX_PARALLEL_PWM +feature RX_SERIAL +feature OSD + +# serial +serial 20 1 115200 57600 0 115200 +serial 5 64 115200 57600 0 115200 +serial 6 1024 115200 57600 0 115200 + +# master +# Re-enable these once I2C has been fixed on F7 +#set baro_bustype = I2C +#set baro_i2c_device = 1 +#set baro_i2c_address = 0 +set serialrx_provider = SBUS +set adc_device = 1 +set dshot_burst = OFF +set motor_pwm_protocol = ONESHOT125 +set current_meter = ADC +set battery_meter = ADC +set beeper_inversion = ON +set beeper_od = OFF +set sdcard_detect_inverted = ON +set sdcard_mode = SPI +set sdcard_dma = OFF +set sdcard_spi_bus = 1 +set system_hse_mhz = 8 +set max7456_spi_bus = 2 +set gyro_1_bustype = SPI +set gyro_1_spibus = 4 +set gyro_1_sensor_align = CW270 diff --git a/unified_targets/configs/NERO.config b/unified_targets/configs/NERO.config new file mode 100644 index 000000000..2870fd662 --- /dev/null +++ b/unified_targets/configs/NERO.config @@ -0,0 +1,96 @@ +# Betaflight / NERO (NERO) 4.0.0 Mar 2 2019 / 22:47:50 (29db27584) MSP API: 1.41 + +board_name NERO +manufacturer_id BKMN + +# resources +resource BEEPER 1 C01 +resource MOTOR 1 A00 +resource MOTOR 2 A01 +resource MOTOR 3 A02 +resource MOTOR 4 A03 +resource MOTOR 5 B00 +resource MOTOR 6 B01 +resource MOTOR 7 C08 +resource MOTOR 8 C09 +resource PPM 1 C07 +resource LED_STRIP 1 B00 +resource SERIAL_TX 1 A09 +resource SERIAL_TX 3 B10 +resource SERIAL_TX 6 C06 +resource SERIAL_RX 1 A10 +resource SERIAL_RX 3 B11 +resource SERIAL_RX 6 C07 +resource I2C_SCL 1 B08 +resource I2C_SDA 1 B09 +resource LED 1 B06 +resource LED 2 B05 +resource LED 3 B04 +resource SPI_SCK 1 A05 +resource SPI_SCK 2 B13 +resource SPI_SCK 3 C10 +resource SPI_MISO 1 A06 +resource SPI_MISO 2 B14 +resource SPI_MISO 3 C11 +resource SPI_MOSI 1 A07 +resource SPI_MOSI 2 B15 +resource SPI_MOSI 3 C12 +resource ESCSERIAL 1 C07 +resource ADC_BATT 1 C03 +resource SDCARD_CS 1 A15 +resource SDCARD_DETECT 1 D02 +resource GYRO_EXTI 1 B02 +resource GYRO_CS 1 C04 + +# timer +timer C07 0 +timer A00 1 +timer A01 1 +timer A02 1 +timer A03 1 +timer B00 0 +timer B01 1 +timer C08 1 +timer C09 1 + +# dmaopt +dmaopt ADC 1 1 +# ADC 1: DMA2 Stream 4 Channel 0 +dmaopt pin C07 0 +# pin C07: DMA1 Stream 5 Channel 5 +dmaopt pin A00 0 +# pin A00: DMA1 Stream 2 Channel 6 +dmaopt pin A01 0 +# pin A01: DMA1 Stream 4 Channel 6 +dmaopt pin A02 0 +# pin A02: DMA1 Stream 0 Channel 6 +dmaopt pin A03 0 +# pin A03: DMA1 Stream 1 Channel 6 +dmaopt pin B00 0 +# pin B00: DMA1 Stream 7 Channel 5 +dmaopt pin B01 0 +# pin B01: DMA1 Stream 2 Channel 5 +dmaopt pin C08 0 +# pin C08: DMA2 Stream 2 Channel 0 +dmaopt pin C09 0 +# pin C09: DMA2 Stream 7 Channel 7 + +# feature +feature RX_SERIAL + +# serial +serial 5 64 115200 57600 0 115200 + +# master +set serialrx_provider = SBUS +set dshot_burst = OFF +set battery_meter = ADC +set beeper_inversion = ON +set beeper_od = OFF +set sdcard_detect_inverted = ON +set sdcard_mode = SPI +set sdcard_spi_bus = 3 +set system_hse_mhz = 8 +set gyro_1_bustype = SPI +set gyro_1_spibus = 1 +set gyro_1_sensor_align = CW0 diff --git a/unified_targets/docs/Manufacturers.md b/unified_targets/docs/Manufacturers.md index 96c080201..127f0a451 100644 --- a/unified_targets/docs/Manufacturers.md +++ b/unified_targets/docs/Manufacturers.md @@ -10,6 +10,9 @@ Last updated: 17/02/2019 |DYST|DongYang Smart Technology Co.,Ltd (dys)|http://www.dys.hk/| |FFPV|Furious FPV|https://furiousfpv.com/| |HAMO|Happymodel|http://www.happymodel.cn/| +|HBRO|Holybro|http://www.holybro.com/index.html| |MTKS|Matek Systems|http://www.mateksys.com/| +|RCTI|RCTimer|http://rctimer.com/| + This is the official list of manufacturer ids (`manufacturer_id` in the target config) that will be supported for loading onto unified targets by Betaflight configurator.