From a095928b979d43eb2b46265f477037485779840e Mon Sep 17 00:00:00 2001 From: Michael Cerasulo Date: Tue, 9 Sep 2025 19:05:12 -0400 Subject: [PATCH 01/10] add AEROH7DIGITAL --- configs/AEROH7DIGITAL/config.h | 139 +++++++++++++++++++++++++++++++++ 1 file changed, 139 insertions(+) create mode 100644 configs/AEROH7DIGITAL/config.h diff --git a/configs/AEROH7DIGITAL/config.h b/configs/AEROH7DIGITAL/config.h new file mode 100644 index 000000000..ca1b43a0a --- /dev/null +++ b/configs/AEROH7DIGITAL/config.h @@ -0,0 +1,139 @@ +/* + * 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 STM32H743 + +#define BOARD_NAME AEROH7DIGITAL +#define MANUFACTURER_ID AERO + +#define SYSTEM_HSE_MHZ 16 + +#define USE_ACC +#define USE_ACC_SPI_ICM42688P +#define USE_DSHOT +#define USE_DSHOT_BITBANG +#define USE_GYRO +#define USE_GYRO_SPI_ICM42688P +#define USE_GYRO_CLKIN +#define USE_BARO +#define USE_BARO_DPS310 +#define USE_MAG +#define USE_GPS +#define USE_SDCARD +#define USE_PINIO +#define USE_PINIOBOX + +#define MOTOR1_PIN PE9 +#define MOTOR2_PIN PE11 +#define MOTOR3_PIN PE13 +#define MOTOR4_PIN PE14 +#define MOTOR5_PIN PD12 +#define MOTOR6_PIN PD13 +#define MOTOR7_PIN PD14 +#define MOTOR8_PIN PD15 +#define SERVO1_PIN PC6 +#define SERVO2_PIN PC7 + +#define UART2_TX_PIN PA2 +#define UART4_TX_PIN PD1 +#define UART5_TX_PIN PB13 +#define UART8_TX_PIN PE1 +#define UART2_RX_PIN PA3 +#define USART3_RX_PIN PD9 // ESC TELEMETRY +#define UART4_RX_PIN PD0 +#define UART5_RX_PIN PB12 +#define UART7_RX_PIN PE7 // SBUS DJI +#define UART8_RX_PIN PE0 + +#define I2C1_SCL_PIN PB8 +#define I2C4_SCL_PIN PB6 +#define I2C1_SDA_PIN PB9 +#define I2C4_SDA_PIN PB7 + +#define LED0_PIN PD8 +#define LED1_PIN PB14 +#define LED2_PIN PB15 + +#define SPI1_SCK_PIN PA5 +#define SPI1_SDI_PIN PA6 +#define SPI1_SDO_PIN PA7 + +#define ADC_VBAT_PIN PA0 +#define ADC_CURR_PIN PA1 + +#define SDIO_CK_PIN PC12 +#define SDIO_CMD_PIN PD2 +#define SDIO_D0_PIN PC8 +#define SDIO_D1_PIN PC9 +#define SDIO_D2_PIN PC10 +#define SDIO_D3_PIN PC11 + +#define PINIO1_PIN PE2 + +#define GYRO_1_EXTI_PIN PB1 +#define GYRO_1_CS_PIN PB0 +#define GYRO_1_CLKIN_PIN PE5 + +#define TIMER_PIN_MAPPING \ + TIMER_PIN_MAP( 0, PE9 , 1, 0) /* TIM1_CH1 */ \ + TIMER_PIN_MAP( 1, PE11, 1, 0) /* TIM1_CH2 */ \ + TIMER_PIN_MAP( 2, PE13, 1, 0) /* TIM1_CH3 */ \ + TIMER_PIN_MAP( 3, PE14, 1, 0) /* TIM1_CH4 */ \ + TIMER_PIN_MAP( 4, PD12, 1, 0) /* TIM4_CH1 */ \ + TIMER_PIN_MAP( 5, PD13, 1, 0) /* TIM4_CH2 */ \ + TIMER_PIN_MAP( 6, PD14, 1, 0) /* TIM4_CH3 */ \ + TIMER_PIN_MAP( 7, PD15, 1, 0) /* TIM4_CH4 NO DMA */ \ + TIMER_PIN_MAP( 8, PC6 , 2, -1) /* TIM8_CH1 */ \ + TIMER_PIN_MAP( 9, PC7 , 2, -1) /* TIM8_CH2 */ \ + TIMER_PIN_MAP(10, PE5 , 1, -1) /* TIM15_CH1 */ + +#define ADC1_DMA_OPT 8 +#define ADC2_DMA_OPT 9 +#define ADC3_DMA_OPT 10 + +#define BARO_I2C_INSTANCE I2CDEV_1 +#define MAG_I2C_INSTANCE I2CDEV_4 + +#define DEFAULT_RX_FEATURE FEATURE_RX_SERIAL +#define SERIALRX_UART SERIAL_PORT_UART4 +#define GPS_UART SERIAL_PORT_UART8 +#define MSP_DISPLAYPORT_UART SERIAL_PORT_USART2 +#define ESC_SENSOR_UART SERIAL_PORT_USART3 + +#define DEFAULT_BLACKBOX_DEVICE BLACKBOX_DEVICE_SDCARD +#define DEFAULT_CURRENT_METER_SOURCE CURRENT_METER_ADC +#define DEFAULT_VOLTAGE_METER_SOURCE VOLTAGE_METER_ADC +#define DEFAULT_VOLTAGE_METER_SCALE 110 + +#define SDCARD_DETECT_PIN NONE +#define SDIO_DEVICE SDIODEV_1 +#define SDIO_USE_4BIT 1 + +#define PINIO1_BOX 40 +#define PINIO1_CONFIG 129 +#define BOX_USER1_NAME "10V BEC" + +#define GYRO_1_SPI_INSTANCE SPI1 +#define GYRO_1_ALIGN CW90_DEG + +#define DEFAULT_GYRO_TO_USE GYRO_CONFIG_USE_GYRO_1 From ba69d18edf9139dcc99573770ddafbfc13359e57 Mon Sep 17 00:00:00 2001 From: Michael Cerasulo Date: Mon, 15 Sep 2025 09:54:31 -0400 Subject: [PATCH 02/10] fix: update timer map, remove ADC2, default voltage meter scale --- configs/AEROH7DIGITAL/config.h | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/configs/AEROH7DIGITAL/config.h b/configs/AEROH7DIGITAL/config.h index ca1b43a0a..0317672d3 100644 --- a/configs/AEROH7DIGITAL/config.h +++ b/configs/AEROH7DIGITAL/config.h @@ -96,20 +96,19 @@ #define TIMER_PIN_MAPPING \ TIMER_PIN_MAP( 0, PE9 , 1, 0) /* TIM1_CH1 */ \ - TIMER_PIN_MAP( 1, PE11, 1, 0) /* TIM1_CH2 */ \ - TIMER_PIN_MAP( 2, PE13, 1, 0) /* TIM1_CH3 */ \ - TIMER_PIN_MAP( 3, PE14, 1, 0) /* TIM1_CH4 */ \ - TIMER_PIN_MAP( 4, PD12, 1, 0) /* TIM4_CH1 */ \ - TIMER_PIN_MAP( 5, PD13, 1, 0) /* TIM4_CH2 */ \ - TIMER_PIN_MAP( 6, PD14, 1, 0) /* TIM4_CH3 */ \ - TIMER_PIN_MAP( 7, PD15, 1, 0) /* TIM4_CH4 NO DMA */ \ + TIMER_PIN_MAP( 1, PE11, 1, 1) /* TIM1_CH2 */ \ + TIMER_PIN_MAP( 2, PE13, 1, 2) /* TIM1_CH3 */ \ + TIMER_PIN_MAP( 3, PE14, 1, 3) /* TIM1_CH4 */ \ + TIMER_PIN_MAP( 4, PD12, 1, 4) /* TIM4_CH1 */ \ + TIMER_PIN_MAP( 5, PD13, 1, 5) /* TIM4_CH2 */ \ + TIMER_PIN_MAP( 6, PD14, 1, 6) /* TIM4_CH3 */ \ + TIMER_PIN_MAP( 7, PD15, 1, 7) /* TIM4_CH4 NO DMA */ \ TIMER_PIN_MAP( 8, PC6 , 2, -1) /* TIM8_CH1 */ \ TIMER_PIN_MAP( 9, PC7 , 2, -1) /* TIM8_CH2 */ \ TIMER_PIN_MAP(10, PE5 , 1, -1) /* TIM15_CH1 */ #define ADC1_DMA_OPT 8 -#define ADC2_DMA_OPT 9 -#define ADC3_DMA_OPT 10 +#define ADC3_DMA_OPT 9 #define BARO_I2C_INSTANCE I2CDEV_1 #define MAG_I2C_INSTANCE I2CDEV_4 @@ -123,7 +122,6 @@ #define DEFAULT_BLACKBOX_DEVICE BLACKBOX_DEVICE_SDCARD #define DEFAULT_CURRENT_METER_SOURCE CURRENT_METER_ADC #define DEFAULT_VOLTAGE_METER_SOURCE VOLTAGE_METER_ADC -#define DEFAULT_VOLTAGE_METER_SCALE 110 #define SDCARD_DETECT_PIN NONE #define SDIO_DEVICE SDIODEV_1 From cf5830db7eb3c63e66c67dff025ff766c06dce2b Mon Sep 17 00:00:00 2001 From: Michael Cerasulo Date: Mon, 15 Sep 2025 11:01:57 -0400 Subject: [PATCH 03/10] fix: remove USE_MAG, USE_GPS (user flags) --- configs/AEROH7DIGITAL/config.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/configs/AEROH7DIGITAL/config.h b/configs/AEROH7DIGITAL/config.h index 0317672d3..214b1932a 100644 --- a/configs/AEROH7DIGITAL/config.h +++ b/configs/AEROH7DIGITAL/config.h @@ -37,8 +37,6 @@ #define USE_GYRO_CLKIN #define USE_BARO #define USE_BARO_DPS310 -#define USE_MAG -#define USE_GPS #define USE_SDCARD #define USE_PINIO #define USE_PINIOBOX From 3b66869af35a081f605da9af86ca960cf1bf2322 Mon Sep 17 00:00:00 2001 From: michael-cerasulo <132513669+michael-cerasulo@users.noreply.github.com> Date: Mon, 15 Sep 2025 11:20:49 -0400 Subject: [PATCH 04/10] Apply suggestions from code review remove defaults, fix typos Co-authored-by: Mark Haslinghuis --- configs/AEROH7DIGITAL/config.h | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/configs/AEROH7DIGITAL/config.h b/configs/AEROH7DIGITAL/config.h index 214b1932a..96a1099d2 100644 --- a/configs/AEROH7DIGITAL/config.h +++ b/configs/AEROH7DIGITAL/config.h @@ -30,16 +30,12 @@ #define USE_ACC #define USE_ACC_SPI_ICM42688P -#define USE_DSHOT -#define USE_DSHOT_BITBANG #define USE_GYRO #define USE_GYRO_SPI_ICM42688P #define USE_GYRO_CLKIN #define USE_BARO #define USE_BARO_DPS310 #define USE_SDCARD -#define USE_PINIO -#define USE_PINIOBOX #define MOTOR1_PIN PE9 #define MOTOR2_PIN PE11 @@ -57,7 +53,7 @@ #define UART5_TX_PIN PB13 #define UART8_TX_PIN PE1 #define UART2_RX_PIN PA3 -#define USART3_RX_PIN PD9 // ESC TELEMETRY +#define UART3_RX_PIN PD9 // ESC TELEMETRY #define UART4_RX_PIN PD0 #define UART5_RX_PIN PB12 #define UART7_RX_PIN PE7 // SBUS DJI @@ -111,7 +107,6 @@ #define BARO_I2C_INSTANCE I2CDEV_1 #define MAG_I2C_INSTANCE I2CDEV_4 -#define DEFAULT_RX_FEATURE FEATURE_RX_SERIAL #define SERIALRX_UART SERIAL_PORT_UART4 #define GPS_UART SERIAL_PORT_UART8 #define MSP_DISPLAYPORT_UART SERIAL_PORT_USART2 @@ -132,4 +127,3 @@ #define GYRO_1_SPI_INSTANCE SPI1 #define GYRO_1_ALIGN CW90_DEG -#define DEFAULT_GYRO_TO_USE GYRO_CONFIG_USE_GYRO_1 From dbf9c7c6c96a964a937c0c1534786653e037631f Mon Sep 17 00:00:00 2001 From: michael-cerasulo <132513669+michael-cerasulo@users.noreply.github.com> Date: Mon, 15 Sep 2025 12:29:53 -0400 Subject: [PATCH 05/10] Update configs/AEROH7DIGITAL/config.h add conditional define for GPS Co-authored-by: Mark Haslinghuis --- configs/AEROH7DIGITAL/config.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/configs/AEROH7DIGITAL/config.h b/configs/AEROH7DIGITAL/config.h index 96a1099d2..90555a0aa 100644 --- a/configs/AEROH7DIGITAL/config.h +++ b/configs/AEROH7DIGITAL/config.h @@ -108,7 +108,9 @@ #define MAG_I2C_INSTANCE I2CDEV_4 #define SERIALRX_UART SERIAL_PORT_UART4 +#ifdef USE_GPS #define GPS_UART SERIAL_PORT_UART8 +#endif #define MSP_DISPLAYPORT_UART SERIAL_PORT_USART2 #define ESC_SENSOR_UART SERIAL_PORT_USART3 From fcfc3793b742e1dab29fe87548b91709e95085c9 Mon Sep 17 00:00:00 2001 From: Mark Haslinghuis Date: Mon, 15 Sep 2025 23:58:00 +0200 Subject: [PATCH 06/10] Apply suggestion from @ot0tot Co-authored-by: ot0tot <36753790+ot0tot@users.noreply.github.com> --- configs/AEROH7DIGITAL/config.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configs/AEROH7DIGITAL/config.h b/configs/AEROH7DIGITAL/config.h index 90555a0aa..259ee6d2a 100644 --- a/configs/AEROH7DIGITAL/config.h +++ b/configs/AEROH7DIGITAL/config.h @@ -96,7 +96,7 @@ TIMER_PIN_MAP( 4, PD12, 1, 4) /* TIM4_CH1 */ \ TIMER_PIN_MAP( 5, PD13, 1, 5) /* TIM4_CH2 */ \ TIMER_PIN_MAP( 6, PD14, 1, 6) /* TIM4_CH3 */ \ - TIMER_PIN_MAP( 7, PD15, 1, 7) /* TIM4_CH4 NO DMA */ \ + TIMER_PIN_MAP( 7, PD15, 1, -1) /* TIM4_CH4 NO DMA */ \ TIMER_PIN_MAP( 8, PC6 , 2, -1) /* TIM8_CH1 */ \ TIMER_PIN_MAP( 9, PC7 , 2, -1) /* TIM8_CH2 */ \ TIMER_PIN_MAP(10, PE5 , 1, -1) /* TIM15_CH1 */ From c286c737536d6dcfcf1ad8ddfb6c3b75dac2efd1 Mon Sep 17 00:00:00 2001 From: Mark Haslinghuis Date: Mon, 15 Sep 2025 23:58:10 +0200 Subject: [PATCH 07/10] Apply suggestion from @ot0tot Co-authored-by: ot0tot <36753790+ot0tot@users.noreply.github.com> --- configs/AEROH7DIGITAL/config.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configs/AEROH7DIGITAL/config.h b/configs/AEROH7DIGITAL/config.h index 259ee6d2a..7054bbc3f 100644 --- a/configs/AEROH7DIGITAL/config.h +++ b/configs/AEROH7DIGITAL/config.h @@ -117,7 +117,7 @@ #define DEFAULT_BLACKBOX_DEVICE BLACKBOX_DEVICE_SDCARD #define DEFAULT_CURRENT_METER_SOURCE CURRENT_METER_ADC #define DEFAULT_VOLTAGE_METER_SOURCE VOLTAGE_METER_ADC - +#define DEFAULT_DSHOT_BITBANG DSHOT_BITBANG_ON #define SDCARD_DETECT_PIN NONE #define SDIO_DEVICE SDIODEV_1 #define SDIO_USE_4BIT 1 From e7d43e6e6a073ce9f6b7d269d4bb42f2420d690b Mon Sep 17 00:00:00 2001 From: Mark Haslinghuis Date: Mon, 15 Sep 2025 23:58:24 +0200 Subject: [PATCH 08/10] Apply suggestion from @ot0tot Co-authored-by: ot0tot <36753790+ot0tot@users.noreply.github.com> --- configs/AEROH7DIGITAL/config.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configs/AEROH7DIGITAL/config.h b/configs/AEROH7DIGITAL/config.h index 7054bbc3f..f689e26a4 100644 --- a/configs/AEROH7DIGITAL/config.h +++ b/configs/AEROH7DIGITAL/config.h @@ -97,8 +97,8 @@ TIMER_PIN_MAP( 5, PD13, 1, 5) /* TIM4_CH2 */ \ TIMER_PIN_MAP( 6, PD14, 1, 6) /* TIM4_CH3 */ \ TIMER_PIN_MAP( 7, PD15, 1, -1) /* TIM4_CH4 NO DMA */ \ - TIMER_PIN_MAP( 8, PC6 , 2, -1) /* TIM8_CH1 */ \ - TIMER_PIN_MAP( 9, PC7 , 2, -1) /* TIM8_CH2 */ \ + TIMER_PIN_MAP( 8, PC6 , 1, -1) /* TIM8_CH1 */ \ + TIMER_PIN_MAP( 9, PC7 , 1, -1) /* TIM8_CH2 */ \ TIMER_PIN_MAP(10, PE5 , 1, -1) /* TIM15_CH1 */ #define ADC1_DMA_OPT 8 From f361ebc4223111858d6a3bd6c28b142d4570c283 Mon Sep 17 00:00:00 2001 From: Mark Haslinghuis Date: Tue, 16 Sep 2025 00:00:33 +0200 Subject: [PATCH 09/10] Update configs/AEROH7DIGITAL/config.h --- configs/AEROH7DIGITAL/config.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configs/AEROH7DIGITAL/config.h b/configs/AEROH7DIGITAL/config.h index f689e26a4..09310bbb4 100644 --- a/configs/AEROH7DIGITAL/config.h +++ b/configs/AEROH7DIGITAL/config.h @@ -97,8 +97,8 @@ TIMER_PIN_MAP( 5, PD13, 1, 5) /* TIM4_CH2 */ \ TIMER_PIN_MAP( 6, PD14, 1, 6) /* TIM4_CH3 */ \ TIMER_PIN_MAP( 7, PD15, 1, -1) /* TIM4_CH4 NO DMA */ \ - TIMER_PIN_MAP( 8, PC6 , 1, -1) /* TIM8_CH1 */ \ - TIMER_PIN_MAP( 9, PC7 , 1, -1) /* TIM8_CH2 */ \ + TIMER_PIN_MAP( 8, PC6 , 1, -1) /* TIM3_CH1 */ \ + TIMER_PIN_MAP( 9, PC7 , 1, -1) /* TIM3_CH2 */ \ TIMER_PIN_MAP(10, PE5 , 1, -1) /* TIM15_CH1 */ #define ADC1_DMA_OPT 8 From e4f293bc342d0c0ca0f37e820c6565c7f2ed179c Mon Sep 17 00:00:00 2001 From: Mark Haslinghuis Date: Tue, 16 Sep 2025 00:10:33 +0200 Subject: [PATCH 10/10] Refactor config.h for improved readability --- configs/AEROH7DIGITAL/config.h | 37 +++++++++++++++++----------------- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/configs/AEROH7DIGITAL/config.h b/configs/AEROH7DIGITAL/config.h index 09310bbb4..4c440affd 100644 --- a/configs/AEROH7DIGITAL/config.h +++ b/configs/AEROH7DIGITAL/config.h @@ -26,8 +26,6 @@ #define BOARD_NAME AEROH7DIGITAL #define MANUFACTURER_ID AERO -#define SYSTEM_HSE_MHZ 16 - #define USE_ACC #define USE_ACC_SPI_ICM42688P #define USE_GYRO @@ -101,31 +99,32 @@ TIMER_PIN_MAP( 9, PC7 , 1, -1) /* TIM3_CH2 */ \ TIMER_PIN_MAP(10, PE5 , 1, -1) /* TIM15_CH1 */ -#define ADC1_DMA_OPT 8 -#define ADC3_DMA_OPT 9 +#define ADC1_DMA_OPT 8 +#define ADC3_DMA_OPT 9 -#define BARO_I2C_INSTANCE I2CDEV_1 -#define MAG_I2C_INSTANCE I2CDEV_4 +#define BARO_I2C_INSTANCE I2CDEV_1 +#define MAG_I2C_INSTANCE I2CDEV_4 -#define SERIALRX_UART SERIAL_PORT_UART4 +#define SERIALRX_UART SERIAL_PORT_UART4 #ifdef USE_GPS -#define GPS_UART SERIAL_PORT_UART8 +#define GPS_UART SERIAL_PORT_UART8 #endif -#define MSP_DISPLAYPORT_UART SERIAL_PORT_USART2 -#define ESC_SENSOR_UART SERIAL_PORT_USART3 +#define MSP_DISPLAYPORT_UART SERIAL_PORT_USART2 +#define ESC_SENSOR_UART SERIAL_PORT_USART3 #define DEFAULT_BLACKBOX_DEVICE BLACKBOX_DEVICE_SDCARD #define DEFAULT_CURRENT_METER_SOURCE CURRENT_METER_ADC #define DEFAULT_VOLTAGE_METER_SOURCE VOLTAGE_METER_ADC -#define DEFAULT_DSHOT_BITBANG DSHOT_BITBANG_ON -#define SDCARD_DETECT_PIN NONE -#define SDIO_DEVICE SDIODEV_1 -#define SDIO_USE_4BIT 1 +#define DEFAULT_DSHOT_BITBANG DSHOT_BITBANG_ON + +#define SYSTEM_HSE_MHZ 16 -#define PINIO1_BOX 40 -#define PINIO1_CONFIG 129 -#define BOX_USER1_NAME "10V BEC" +#define SDIO_DEVICE SDIODEV_1 +#define SDIO_USE_4BIT 1 -#define GYRO_1_SPI_INSTANCE SPI1 -#define GYRO_1_ALIGN CW90_DEG +#define PINIO1_BOX 40 +#define PINIO1_CONFIG 129 +#define BOX_USER1_NAME "10V BEC" +#define GYRO_1_SPI_INSTANCE SPI1 +#define GYRO_1_ALIGN CW90_DEG