From 91c8f0d11d12235dc9b293c2cf2f228fedab0947 Mon Sep 17 00:00:00 2001 From: vkirovskiy Date: Tue, 7 Jan 2025 21:09:39 +0200 Subject: [PATCH 1/6] Add MATEKF405WINGV2 target --- configs/MATEKF405WINGV2/config.h | 130 +++++++++++++++++++++++++++++++ 1 file changed, 130 insertions(+) create mode 100644 configs/MATEKF405WINGV2/config.h diff --git a/configs/MATEKF405WINGV2/config.h b/configs/MATEKF405WINGV2/config.h new file mode 100644 index 00000000..e67f9ecd --- /dev/null +++ b/configs/MATEKF405WINGV2/config.h @@ -0,0 +1,130 @@ +/* + * This file is part of Betaflight. + * + * Betaflight is 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. + * + * Betaflight is distributed in the hope that it 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 + +#define FC_TARGET_MCU STM32F405 + +#define BOARD_NAME MATEKF405WINGV2 +#define MANUFACTURER_ID MTKS + +#define USE_ACC +#define USE_ACC_SPI_ICM42688P +#define USE_GYRO +#define USE_GYRO_SPI_ICM42688P +#define USE_BARO_DPS310 +#define USE_MAX7456 +#define USE_SDCARD + +#ifndef USE_WING +#define USE_WING +#endif + +#ifndef USE_SERVOS +#define USE_SERVOS +#endif + +#define BEEPER_PIN PC15 +#define MOTOR1_PIN PB7 +#define MOTOR2_PIN PB6 +#define SERVO1_PIN PB0 +#define SERVO2_PIN PB1 +#define SERVO3_PIN PC8 +#define SERVO4_PIN PC9 +#define SERVO5_PIN PB14 +#define SERVO6_PIN PB15 +#define RX_PPM_PIN PA3 +#define LED_STRIP_PIN PA15 +#define UART1_TX_PIN PA9 +#define UART2_TX_PIN PA2 +#define UART3_TX_PIN PC10 +#define UART4_TX_PIN PA0 +#define UART5_TX_PIN PC12 +#define UART6_TX_PIN PC6 +#define UART1_RX_PIN PA10 +#define UART2_RX_PIN PA3 +#define UART3_RX_PIN PC11 +#define UART4_RX_PIN PA1 +#define UART5_RX_PIN PD2 +#define UART6_RX_PIN PC7 +#define I2C1_SCL_PIN PB8 +#define I2C2_SCL_PIN PB10 +#define I2C1_SDA_PIN PB9 +#define I2C2_SDA_PIN PB11 +#define LED0_PIN PA14 +#define LED1_PIN PA13 +#define SPI1_SCK_PIN PA5 +#define SPI2_SCK_PIN PB13 +#define SPI3_SCK_PIN PB3 +#define SPI1_SDI_PIN PA6 +#define SPI2_SDI_PIN PC2 +#define SPI3_SDI_PIN PB4 +#define SPI1_SDO_PIN PA7 +#define SPI2_SDO_PIN PC3 +#define SPI3_SDO_PIN PB5 +#define ADC_VBAT_PIN PC0 +#define ADC_RSSI_PIN PC5 +#define ADC_CURR_PIN PC1 +#define SDCARD_SPI_CS_PIN PC14 +#define MAX7456_SPI_CS_PIN PB12 +#define GYRO_1_EXTI_PIN PC4 +#define GYRO_1_CS_PIN PA4 +#define USB_DETECT_PIN PC13 + +#define TIMER_PIN_MAPPING \ + TIMER_PIN_MAP( 0, PB7 , 1, 0) \ + TIMER_PIN_MAP( 1, PB6 , 1, 0) \ + TIMER_PIN_MAP( 2, PB0 , 2, 0) \ + TIMER_PIN_MAP( 3, PB1 , 2, 0) \ + TIMER_PIN_MAP( 4, PC8 , 2, 1) \ + TIMER_PIN_MAP( 5, PC9 , 2, 0) \ + TIMER_PIN_MAP( 6, PB14, 3, -1) \ + TIMER_PIN_MAP( 7, PB15, 3, -1) \ + TIMER_PIN_MAP( 8, PA8 , 1, 0) \ + TIMER_PIN_MAP( 9, PA15, 1, 0) \ + TIMER_PIN_MAP(10, PA3 , 3, -1) \ + TIMER_PIN_MAP(11, PA2 , 2, 0) + + +#define SPI3_TX_DMA_OPT 0 +#define ADC1_DMA_OPT 0 + + +#define MAG_I2C_INSTANCE I2CDEV_2 +#define USE_BARO +#define BARO_I2C_INSTANCE I2CDEV_1 +#define DEFAULT_BARO_I2C_ADDRESS 118 +#define DEFAULT_BLACKBOX_DEVICE BLACKBOX_DEVICE_SDCARD +#define DEFAULT_DSHOT_BURST DSHOT_DMAR_OFF +#define DEFAULT_CURRENT_METER_SOURCE CURRENT_METER_ADC +#define DEFAULT_VOLTAGE_METER_SOURCE VOLTAGE_METER_ADC +#define DEFAULT_CURRENT_METER_SCALE 150 +#define BEEPER_INVERTED +#define USE_SDCARD_SPI +#define SDCARD_SPI_INSTANCE SPI3 +#define SYSTEM_HSE_MHZ 8 +#define MAX7456_SPI_INSTANCE SPI2 +#define GYRO_1_SPI_INSTANCE SPI1 +#define GYRO_1_ALIGN CW0_DEG_FLIP +//TODO #define CAMERA_CONTROL_MODE HARDWARE_PWM +//TODO #define OSD_VBAT_POS 2467 +//TODO #define OSD_CURRENT_POS 2434 +//TODO #define OSD_DISARMED_POS 2282 From f7a1bfc3e8341a9f8c988e0f6827d8732f47814f Mon Sep 17 00:00:00 2001 From: vkirovskiy Date: Wed, 8 Jan 2025 17:14:46 +0200 Subject: [PATCH 2/6] Add MATEKF405WINGV2 target --- configs/MATEKF405WINGV2/config.h | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/configs/MATEKF405WINGV2/config.h b/configs/MATEKF405WINGV2/config.h index e67f9ecd..692dd79d 100644 --- a/configs/MATEKF405WINGV2/config.h +++ b/configs/MATEKF405WINGV2/config.h @@ -28,8 +28,8 @@ #define USE_ACC #define USE_ACC_SPI_ICM42688P -#define USE_GYRO #define USE_GYRO_SPI_ICM42688P +#define USE_GYRO #define USE_BARO_DPS310 #define USE_MAX7456 #define USE_SDCARD @@ -109,9 +109,7 @@ #define MAG_I2C_INSTANCE I2CDEV_2 -#define USE_BARO #define BARO_I2C_INSTANCE I2CDEV_1 -#define DEFAULT_BARO_I2C_ADDRESS 118 #define DEFAULT_BLACKBOX_DEVICE BLACKBOX_DEVICE_SDCARD #define DEFAULT_DSHOT_BURST DSHOT_DMAR_OFF #define DEFAULT_CURRENT_METER_SOURCE CURRENT_METER_ADC @@ -124,7 +122,3 @@ #define MAX7456_SPI_INSTANCE SPI2 #define GYRO_1_SPI_INSTANCE SPI1 #define GYRO_1_ALIGN CW0_DEG_FLIP -//TODO #define CAMERA_CONTROL_MODE HARDWARE_PWM -//TODO #define OSD_VBAT_POS 2467 -//TODO #define OSD_CURRENT_POS 2434 -//TODO #define OSD_DISARMED_POS 2282 From 42e63f571fce679f9bafbdb16872ce8dfb55c997 Mon Sep 17 00:00:00 2001 From: vkirovskiy Date: Wed, 8 Jan 2025 17:17:02 +0200 Subject: [PATCH 3/6] Add MATEKF405WINGV2 target --- configs/MATEKF405WINGV2/config.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/configs/MATEKF405WINGV2/config.h b/configs/MATEKF405WINGV2/config.h index 692dd79d..9a2baead 100644 --- a/configs/MATEKF405WINGV2/config.h +++ b/configs/MATEKF405WINGV2/config.h @@ -28,8 +28,9 @@ #define USE_ACC #define USE_ACC_SPI_ICM42688P -#define USE_GYRO_SPI_ICM42688P #define USE_GYRO +#define USE_GYRO_SPI_ICM42688P +#define USE_BARO #define USE_BARO_DPS310 #define USE_MAX7456 #define USE_SDCARD From 58d3eacb2f5ad0ad22c43631843edc96a198e0cc Mon Sep 17 00:00:00 2001 From: vkirovskiy Date: Sat, 18 Jan 2025 23:37:22 +0200 Subject: [PATCH 4/6] Add MATEKF405WINGV2 target --- configs/MATEKF405WINGV2/config.h | 35 +++++++++++++++++--------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/configs/MATEKF405WINGV2/config.h b/configs/MATEKF405WINGV2/config.h index 9a2baead..bd6d701d 100644 --- a/configs/MATEKF405WINGV2/config.h +++ b/configs/MATEKF405WINGV2/config.h @@ -27,10 +27,13 @@ #define MANUFACTURER_ID MTKS #define USE_ACC +#define USE_ACC_SPI_MPU6000 #define USE_ACC_SPI_ICM42688P #define USE_GYRO +#define USE_GYRO_SPI_MPU6000 #define USE_GYRO_SPI_ICM42688P #define USE_BARO +#define USE_BARO_BMP280 #define USE_BARO_DPS310 #define USE_MAX7456 #define USE_SDCARD @@ -44,14 +47,15 @@ #endif #define BEEPER_PIN PC15 -#define MOTOR1_PIN PB7 -#define MOTOR2_PIN PB6 -#define SERVO1_PIN PB0 -#define SERVO2_PIN PB1 -#define SERVO3_PIN PC8 -#define SERVO4_PIN PC9 -#define SERVO5_PIN PB14 -#define SERVO6_PIN PB15 +#define MOTOR1_PIN PB7 //S1 +#define MOTOR2_PIN PB6 //S2 +#define SERVO1_PIN PB0 //S3 +#define SERVO2_PIN PB1 //S4 +#define SERVO3_PIN PC8 //S5 +#define SERVO4_PIN PC9 //S6 +#define SERVO5_PIN PB14 //S7 +#define SERVO6_PIN PB15 //S8 +#define SERVO7_PIN PA8 //S9 #define RX_PPM_PIN PA3 #define LED_STRIP_PIN PA15 #define UART1_TX_PIN PA9 @@ -93,16 +97,14 @@ #define TIMER_PIN_MAPPING \ TIMER_PIN_MAP( 0, PB7 , 1, 0) \ TIMER_PIN_MAP( 1, PB6 , 1, 0) \ - TIMER_PIN_MAP( 2, PB0 , 2, 0) \ - TIMER_PIN_MAP( 3, PB1 , 2, 0) \ - TIMER_PIN_MAP( 4, PC8 , 2, 1) \ - TIMER_PIN_MAP( 5, PC9 , 2, 0) \ + TIMER_PIN_MAP( 2, PB0 , 2, -1) \ + TIMER_PIN_MAP( 3, PB1 , 2, -1) \ + TIMER_PIN_MAP( 4, PC8 , 2, -1) \ + TIMER_PIN_MAP( 5, PC9 , 2, -1) \ TIMER_PIN_MAP( 6, PB14, 3, -1) \ TIMER_PIN_MAP( 7, PB15, 3, -1) \ - TIMER_PIN_MAP( 8, PA8 , 1, 0) \ - TIMER_PIN_MAP( 9, PA15, 1, 0) \ - TIMER_PIN_MAP(10, PA3 , 3, -1) \ - TIMER_PIN_MAP(11, PA2 , 2, 0) + TIMER_PIN_MAP( 8, PA3 , 3, -1) \ + TIMER_PIN_MAP( 9, PA8 , 1, 1) #define SPI3_TX_DMA_OPT 0 @@ -113,6 +115,7 @@ #define BARO_I2C_INSTANCE I2CDEV_1 #define DEFAULT_BLACKBOX_DEVICE BLACKBOX_DEVICE_SDCARD #define DEFAULT_DSHOT_BURST DSHOT_DMAR_OFF +#define DEFAULT_DSHOT_BITBANG DSHOT_BITBANG_OFF #define DEFAULT_CURRENT_METER_SOURCE CURRENT_METER_ADC #define DEFAULT_VOLTAGE_METER_SOURCE VOLTAGE_METER_ADC #define DEFAULT_CURRENT_METER_SCALE 150 From 02403c2f1b8c84020a8081d623e23161364927ec Mon Sep 17 00:00:00 2001 From: vkirovskiy Date: Sat, 18 Jan 2025 23:39:28 +0200 Subject: [PATCH 5/6] Add MATEKF405WINGV2 target --- configs/MATEKF405WINGV2/config.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/configs/MATEKF405WINGV2/config.h b/configs/MATEKF405WINGV2/config.h index bd6d701d..3d682550 100644 --- a/configs/MATEKF405WINGV2/config.h +++ b/configs/MATEKF405WINGV2/config.h @@ -107,8 +107,7 @@ TIMER_PIN_MAP( 9, PA8 , 1, 1) -#define SPI3_TX_DMA_OPT 0 -#define ADC1_DMA_OPT 0 +#define ADC1_DMA_OPT 1 #define MAG_I2C_INSTANCE I2CDEV_2 From 535040a373c8c5fba8c0fc4441bfc3a59d6b31d2 Mon Sep 17 00:00:00 2001 From: vkirovskiy Date: Mon, 20 Jan 2025 01:35:59 +0200 Subject: [PATCH 6/6] Add MATEKF405WINGV2 target --- configs/MATEKF405WINGV2/config.h | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/configs/MATEKF405WINGV2/config.h b/configs/MATEKF405WINGV2/config.h index 3d682550..86e2203b 100644 --- a/configs/MATEKF405WINGV2/config.h +++ b/configs/MATEKF405WINGV2/config.h @@ -47,15 +47,15 @@ #endif #define BEEPER_PIN PC15 -#define MOTOR1_PIN PB7 //S1 -#define MOTOR2_PIN PB6 //S2 -#define SERVO1_PIN PB0 //S3 -#define SERVO2_PIN PB1 //S4 -#define SERVO3_PIN PC8 //S5 -#define SERVO4_PIN PC9 //S6 -#define SERVO5_PIN PB14 //S7 -#define SERVO6_PIN PB15 //S8 -#define SERVO7_PIN PA8 //S9 +#define MOTOR1_PIN PB7 // S1 +#define MOTOR2_PIN PB6 // S2 +#define SERVO1_PIN PB0 // S3 +#define SERVO2_PIN PB1 // S4 +#define SERVO3_PIN PC8 // S5 +#define SERVO4_PIN PC9 // S6 +#define SERVO5_PIN PB14 // S7 +#define SERVO6_PIN PB15 // S8 +#define SERVO7_PIN PA8 // S9 #define RX_PPM_PIN PA3 #define LED_STRIP_PIN PA15 #define UART1_TX_PIN PA9 @@ -97,10 +97,10 @@ #define TIMER_PIN_MAPPING \ TIMER_PIN_MAP( 0, PB7 , 1, 0) \ TIMER_PIN_MAP( 1, PB6 , 1, 0) \ - TIMER_PIN_MAP( 2, PB0 , 2, -1) \ - TIMER_PIN_MAP( 3, PB1 , 2, -1) \ - TIMER_PIN_MAP( 4, PC8 , 2, -1) \ - TIMER_PIN_MAP( 5, PC9 , 2, -1) \ + TIMER_PIN_MAP( 2, PB0 , 2, -1) \ + TIMER_PIN_MAP( 3, PB1 , 2, -1) \ + TIMER_PIN_MAP( 4, PC8 , 2, -1) \ + TIMER_PIN_MAP( 5, PC9 , 2, -1) \ TIMER_PIN_MAP( 6, PB14, 3, -1) \ TIMER_PIN_MAP( 7, PB15, 3, -1) \ TIMER_PIN_MAP( 8, PA3 , 3, -1) \