Added missing features to unified targets, centralised feature configuration.

This commit is contained in:
mikeller 2019-03-02 23:08:52 +13:00
parent 2b9880f71b
commit f0b0537246
14 changed files with 483 additions and 271 deletions

View File

@ -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)

View File

@ -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);

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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 <http://www.gnu.org/licenses/>.
*/
#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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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.