From 32b9c1aee56b38f006a39e23a1992d1b4e93c408 Mon Sep 17 00:00:00 2001 From: "Michael.G" Date: Wed, 30 Apr 2025 21:20:26 +0800 Subject: [PATCH 1/4] Add oxbot Champ_H743ICM and Champ_H743MPU --- configs/CHAMP_H743ICM/config.h | 105 +++++++++++++++++++++++++++++++++ configs/CHAMP_H743MPU/config.h | 103 ++++++++++++++++++++++++++++++++ 2 files changed, 208 insertions(+) create mode 100644 configs/CHAMP_H743ICM/config.h create mode 100644 configs/CHAMP_H743MPU/config.h diff --git a/configs/CHAMP_H743ICM/config.h b/configs/CHAMP_H743ICM/config.h new file mode 100644 index 00000000..ae7df975 --- /dev/null +++ b/configs/CHAMP_H743ICM/config.h @@ -0,0 +1,105 @@ +/* + * 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 CHAMP_H743ICM +#define MANUFACTURER_ID OXBT + +#define USE_ACC +#define USE_ACC_SPI_ICM42688P +#define USE_GYRO +#define USE_GYRO_SPI_ICM42688P +#define USE_FLASH +#define USE_FLASH_M25P16 +#define USE_MAX7456 +#define USE_FLASH_W25Q128FV + +#define MOTOR1_PIN PA0 +#define MOTOR2_PIN PA1 +#define MOTOR3_PIN PA2 +#define MOTOR4_PIN PA3 +#define RX_PPM_PIN PC7 +#define UART1_TX_PIN PA9 +#define UART2_TX_PIN PD5 +#define UART5_TX_PIN PC12 +#define UART6_TX_PIN PC6 +#define UART7_TX_PIN PE8 +#define UART1_RX_PIN PA10 +#define UART2_RX_PIN PD6 +#define UART5_RX_PIN PD2 +#define UART6_RX_PIN PC7 +#define UART7_RX_PIN PE7 +#define SPI1_SCK_PIN PA5 +#define SPI2_SCK_PIN PB13 +#define SPI3_SCK_PIN PB3 +#define SPI1_SDI_PIN PA6 +#define SPI2_SDI_PIN PB14 +#define SPI3_SDI_PIN PB4 +#define SPI1_SDO_PIN PD7 +#define SPI2_SDO_PIN PB15 +#define SPI3_SDO_PIN PB5 +#define ADC_VBAT_PIN PC0 +#define ADC_CURR_PIN PC1 +#define FLASH_CS_PIN PD4 +#define GYRO_1_EXTI_PIN PB2 +#define GYRO_1_CS_PIN PC15 +#define GYRO_1_CLKIN_PIN PA8 +#define MAX7456_SPI_CS_PIN PB12 +#define LED0_PIN PE3 +#define PINIO1_PIN PD13 +#define LED_STRIP_PIN PD12 +#define CAMERA_CONTROL_PIN PE5 +#define BEEPER_PIN PA15 + +#define TIMER_PIN_MAPPING \ + TIMER_PIN_MAP(0, MOTOR1_PIN, 1, 0) \ + TIMER_PIN_MAP(1, MOTOR2_PIN, 1, 1) \ + TIMER_PIN_MAP(2, MOTOR3_PIN, 1, 2) \ + TIMER_PIN_MAP(3, MOTOR4_PIN, 1, 3) \ + TIMER_PIN_MAP(4, RX_PPM_PIN, 2, -1) \ + TIMER_PIN_MAP(5, LED_STRIP_PIN, 1, 4) \ + TIMER_PIN_MAP(6, CAMERA_CONTROL_PIN, 1, -1) \ + TIMER_PIN_MAP(7, GYRO_1_CLKIN_PIN, 1, -1) \ + +#define ADC1_DMA_OPT 5 +#define ADC3_DMA_OPT 6 +#define TIMUP2_DMA_OPT 7 + +#define BARO_I2C_INSTANCE I2CDEV_2 +#define MAG_I2C_INSTANCE I2CDEV_1 +#define ADC_INSTANCE ADC1 +#define DEFAULT_BLACKBOX_DEVICE BLACKBOX_DEVICE_FLASH +#define DEFAULT_CURRENT_METER_SOURCE CURRENT_METER_NONE +#define DEFAULT_VOLTAGE_METER_SOURCE VOLTAGE_METER_ADC +#define DEFAULT_VOLTAGE_METER_SCALE 110 +#define DEFAULT_CURRENT_METER_SCALE 200 +#define BEEPER_INVERTED +#define MAX7456_SPI_INSTANCE SPI2 +#define FLASH_SPI_INSTANCE SPI3 +#define GYRO_1_SPI_INSTANCE SPI1 +#define PINIO1_CONFIG 129 +#define PINIO1_BOX 40 + +#define MSP_UART SERIAL_PORT_USART1 +#define SERIALRX_UART SERIAL_PORT_USART6 \ No newline at end of file diff --git a/configs/CHAMP_H743MPU/config.h b/configs/CHAMP_H743MPU/config.h new file mode 100644 index 00000000..95daea58 --- /dev/null +++ b/configs/CHAMP_H743MPU/config.h @@ -0,0 +1,103 @@ +/* + * 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 CHAMP_H743MPU +#define MANUFACTURER_ID OXBT + +#define USE_ACC +#define USE_ACC_SPI_MPU6000 +#define USE_GYRO +#define USE_GYRO_SPI_MPU6000 +#define USE_FLASH +#define USE_FLASH_M25P16 +#define USE_MAX7456 +#define USE_FLASH_W25Q128FV + +#define MOTOR1_PIN PA0 +#define MOTOR2_PIN PA1 +#define MOTOR3_PIN PA2 +#define MOTOR4_PIN PA3 +#define RX_PPM_PIN PC7 +#define UART1_TX_PIN PA9 +#define UART2_TX_PIN PD5 +#define UART5_TX_PIN PC12 +#define UART6_TX_PIN PC6 +#define UART7_TX_PIN PE8 +#define UART1_RX_PIN PA10 +#define UART2_RX_PIN PD6 +#define UART5_RX_PIN PD2 +#define UART6_RX_PIN PC7 +#define UART7_RX_PIN PE7 +#define SPI1_SCK_PIN PA5 +#define SPI2_SCK_PIN PB13 +#define SPI3_SCK_PIN PB3 +#define SPI1_SDI_PIN PA6 +#define SPI2_SDI_PIN PB14 +#define SPI3_SDI_PIN PB4 +#define SPI1_SDO_PIN PD7 +#define SPI2_SDO_PIN PB15 +#define SPI3_SDO_PIN PB5 +#define ADC_VBAT_PIN PC0 +#define ADC_CURR_PIN PC1 +#define FLASH_CS_PIN PD4 +#define GYRO_1_EXTI_PIN PB2 +#define GYRO_1_CS_PIN PC15 +#define MAX7456_SPI_CS_PIN PB12 +#define LED0_PIN PE3 +#define PINIO1_PIN PD13 +#define LED_STRIP_PIN PD12 +#define CAMERA_CONTROL_PIN PE5 +#define BEEPER_PIN PA15 + +#define TIMER_PIN_MAPPING \ + TIMER_PIN_MAP(0, MOTOR1_PIN, 1, 0) \ + TIMER_PIN_MAP(1, MOTOR2_PIN, 1, 1) \ + TIMER_PIN_MAP(2, MOTOR3_PIN, 1, 2) \ + TIMER_PIN_MAP(3, MOTOR4_PIN, 1, 3) \ + TIMER_PIN_MAP(4, RX_PPM_PIN, 2, -1) \ + TIMER_PIN_MAP(5, LED_STRIP_PIN, 1, 4) \ + TIMER_PIN_MAP(6, CAMERA_CONTROL_PIN, 1, -1) \ + +#define ADC1_DMA_OPT 5 +#define ADC3_DMA_OPT 6 +#define TIMUP2_DMA_OPT 7 + +#define BARO_I2C_INSTANCE I2CDEV_2 +#define MAG_I2C_INSTANCE I2CDEV_1 +#define ADC_INSTANCE ADC1 +#define DEFAULT_BLACKBOX_DEVICE BLACKBOX_DEVICE_FLASH +#define DEFAULT_CURRENT_METER_SOURCE CURRENT_METER_NONE +#define DEFAULT_VOLTAGE_METER_SOURCE VOLTAGE_METER_ADC +#define DEFAULT_VOLTAGE_METER_SCALE 110 +#define DEFAULT_CURRENT_METER_SCALE 200 +#define BEEPER_INVERTED +#define MAX7456_SPI_INSTANCE SPI2 +#define FLASH_SPI_INSTANCE SPI3 +#define GYRO_1_SPI_INSTANCE SPI1 +#define PINIO1_CONFIG 129 +#define PINIO1_BOX 40 + +#define MSP_UART SERIAL_PORT_USART1 +#define SERIALRX_UART SERIAL_PORT_USART6 \ No newline at end of file From c933b8512e2a60e3f03c2fd6ae221f17a3b37249 Mon Sep 17 00:00:00 2001 From: "Michael.G" Date: Sat, 3 May 2025 12:11:10 +0800 Subject: [PATCH 2/4] Add LF on EOF --- configs/CHAMP_H743ICM/config.h | 2 +- configs/CHAMP_H743MPU/config.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/configs/CHAMP_H743ICM/config.h b/configs/CHAMP_H743ICM/config.h index ae7df975..ee779453 100644 --- a/configs/CHAMP_H743ICM/config.h +++ b/configs/CHAMP_H743ICM/config.h @@ -102,4 +102,4 @@ #define PINIO1_BOX 40 #define MSP_UART SERIAL_PORT_USART1 -#define SERIALRX_UART SERIAL_PORT_USART6 \ No newline at end of file +#define SERIALRX_UART SERIAL_PORT_USART6 diff --git a/configs/CHAMP_H743MPU/config.h b/configs/CHAMP_H743MPU/config.h index 95daea58..b7fcf1fb 100644 --- a/configs/CHAMP_H743MPU/config.h +++ b/configs/CHAMP_H743MPU/config.h @@ -100,4 +100,4 @@ #define PINIO1_BOX 40 #define MSP_UART SERIAL_PORT_USART1 -#define SERIALRX_UART SERIAL_PORT_USART6 \ No newline at end of file +#define SERIALRX_UART SERIAL_PORT_USART6 From 776f471e5eb8a66387e458d0ec7b19dd80b74cc3 Mon Sep 17 00:00:00 2001 From: "Michael.G" Date: Sat, 3 May 2025 21:01:24 +0800 Subject: [PATCH 3/4] Remove extra backslashes in TIMER_PIN_MAPPING --- configs/CHAMP_H743ICM/config.h | 2 +- configs/CHAMP_H743MPU/config.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/configs/CHAMP_H743ICM/config.h b/configs/CHAMP_H743ICM/config.h index ee779453..ab87c73f 100644 --- a/configs/CHAMP_H743ICM/config.h +++ b/configs/CHAMP_H743ICM/config.h @@ -80,7 +80,7 @@ TIMER_PIN_MAP(4, RX_PPM_PIN, 2, -1) \ TIMER_PIN_MAP(5, LED_STRIP_PIN, 1, 4) \ TIMER_PIN_MAP(6, CAMERA_CONTROL_PIN, 1, -1) \ - TIMER_PIN_MAP(7, GYRO_1_CLKIN_PIN, 1, -1) \ + TIMER_PIN_MAP(7, GYRO_1_CLKIN_PIN, 1, -1) #define ADC1_DMA_OPT 5 #define ADC3_DMA_OPT 6 diff --git a/configs/CHAMP_H743MPU/config.h b/configs/CHAMP_H743MPU/config.h index b7fcf1fb..d09f163e 100644 --- a/configs/CHAMP_H743MPU/config.h +++ b/configs/CHAMP_H743MPU/config.h @@ -78,7 +78,7 @@ TIMER_PIN_MAP(3, MOTOR4_PIN, 1, 3) \ TIMER_PIN_MAP(4, RX_PPM_PIN, 2, -1) \ TIMER_PIN_MAP(5, LED_STRIP_PIN, 1, 4) \ - TIMER_PIN_MAP(6, CAMERA_CONTROL_PIN, 1, -1) \ + TIMER_PIN_MAP(6, CAMERA_CONTROL_PIN, 1, -1) #define ADC1_DMA_OPT 5 #define ADC3_DMA_OPT 6 From 3a72b83959e1ff53ff03cdc40844bb1060a766fc Mon Sep 17 00:00:00 2001 From: "Michael.G" Date: Wed, 7 May 2025 11:22:41 +0800 Subject: [PATCH 4/4] Change timer config and remove unnecessary definitions --- configs/CHAMP_H743ICM/config.h | 18 ++++++++---------- configs/CHAMP_H743MPU/config.h | 18 ++++++++---------- 2 files changed, 16 insertions(+), 20 deletions(-) diff --git a/configs/CHAMP_H743ICM/config.h b/configs/CHAMP_H743ICM/config.h index ab87c73f..2a03fdb4 100644 --- a/configs/CHAMP_H743ICM/config.h +++ b/configs/CHAMP_H743ICM/config.h @@ -33,7 +33,6 @@ #define USE_FLASH #define USE_FLASH_M25P16 #define USE_MAX7456 -#define USE_FLASH_W25Q128FV #define MOTOR1_PIN PA0 #define MOTOR2_PIN PA1 @@ -73,21 +72,20 @@ #define BEEPER_PIN PA15 #define TIMER_PIN_MAPPING \ - TIMER_PIN_MAP(0, MOTOR1_PIN, 1, 0) \ - TIMER_PIN_MAP(1, MOTOR2_PIN, 1, 1) \ - TIMER_PIN_MAP(2, MOTOR3_PIN, 1, 2) \ - TIMER_PIN_MAP(3, MOTOR4_PIN, 1, 3) \ - TIMER_PIN_MAP(4, RX_PPM_PIN, 2, -1) \ + TIMER_PIN_MAP(0, MOTOR1_PIN, 2, 0) \ + TIMER_PIN_MAP(1, MOTOR2_PIN, 2, 1) \ + TIMER_PIN_MAP(2, MOTOR3_PIN, 2, 2) \ + TIMER_PIN_MAP(3, MOTOR4_PIN, 2, 3) \ + TIMER_PIN_MAP(4, RX_PPM_PIN, 1, -1) \ TIMER_PIN_MAP(5, LED_STRIP_PIN, 1, 4) \ TIMER_PIN_MAP(6, CAMERA_CONTROL_PIN, 1, -1) \ - TIMER_PIN_MAP(7, GYRO_1_CLKIN_PIN, 1, -1) + TIMER_PIN_MAP(7, GYRO_1_CLKIN_PIN, 1, -1) \ + TIMER_PIN_MAP(8, BEEPER_PIN, 1, -1) #define ADC1_DMA_OPT 5 #define ADC3_DMA_OPT 6 -#define TIMUP2_DMA_OPT 7 +#define TIMUP5_DMA_OPT 7 -#define BARO_I2C_INSTANCE I2CDEV_2 -#define MAG_I2C_INSTANCE I2CDEV_1 #define ADC_INSTANCE ADC1 #define DEFAULT_BLACKBOX_DEVICE BLACKBOX_DEVICE_FLASH #define DEFAULT_CURRENT_METER_SOURCE CURRENT_METER_NONE diff --git a/configs/CHAMP_H743MPU/config.h b/configs/CHAMP_H743MPU/config.h index d09f163e..e1717682 100644 --- a/configs/CHAMP_H743MPU/config.h +++ b/configs/CHAMP_H743MPU/config.h @@ -33,7 +33,6 @@ #define USE_FLASH #define USE_FLASH_M25P16 #define USE_MAX7456 -#define USE_FLASH_W25Q128FV #define MOTOR1_PIN PA0 #define MOTOR2_PIN PA1 @@ -72,20 +71,19 @@ #define BEEPER_PIN PA15 #define TIMER_PIN_MAPPING \ - TIMER_PIN_MAP(0, MOTOR1_PIN, 1, 0) \ - TIMER_PIN_MAP(1, MOTOR2_PIN, 1, 1) \ - TIMER_PIN_MAP(2, MOTOR3_PIN, 1, 2) \ - TIMER_PIN_MAP(3, MOTOR4_PIN, 1, 3) \ - TIMER_PIN_MAP(4, RX_PPM_PIN, 2, -1) \ + TIMER_PIN_MAP(0, MOTOR1_PIN, 2, 0) \ + TIMER_PIN_MAP(1, MOTOR2_PIN, 2, 1) \ + TIMER_PIN_MAP(2, MOTOR3_PIN, 2, 2) \ + TIMER_PIN_MAP(3, MOTOR4_PIN, 2, 3) \ + TIMER_PIN_MAP(4, RX_PPM_PIN, 1, -1) \ TIMER_PIN_MAP(5, LED_STRIP_PIN, 1, 4) \ - TIMER_PIN_MAP(6, CAMERA_CONTROL_PIN, 1, -1) + TIMER_PIN_MAP(6, CAMERA_CONTROL_PIN, 1, -1) \ + TIMER_PIN_MAP(7, BEEPER_PIN, 1, -1) #define ADC1_DMA_OPT 5 #define ADC3_DMA_OPT 6 -#define TIMUP2_DMA_OPT 7 +#define TIMUP5_DMA_OPT 7 -#define BARO_I2C_INSTANCE I2CDEV_2 -#define MAG_I2C_INSTANCE I2CDEV_1 #define ADC_INSTANCE ADC1 #define DEFAULT_BLACKBOX_DEVICE BLACKBOX_DEVICE_FLASH #define DEFAULT_CURRENT_METER_SOURCE CURRENT_METER_NONE