diff --git a/configs/JHEF435PRO/config.h b/configs/JHEF435PRO/config.h new file mode 100644 index 000000000..d75a61bab --- /dev/null +++ b/configs/JHEF435PRO/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 AT32F435G + +#define BOARD_NAME JHEF435PRO +#define MANUFACTURER_ID JHEF + +#define USE_ACC +#define USE_GYRO +#define USE_GYRO_CLKIN + +#define USE_ACC_SPI_ICM42688P +#define USE_GYRO_SPI_ICM42688P + +#define USE_BARO +#define USE_BARO_DPS310 + +#define USE_FLASH +#define USE_FLASH_W25Q128FV + +#define USE_MAX7456 + +#define BEEPER_PIN PC15 +#define LED_STRIP_PIN PB6 // TMR4_CH1 / I2C1_SCL / SPI4_CS / USART1_TX / UART5_TX +#define MOTOR1_PIN PA0 // TMR2_CH1 / TMR5_CH1 / I2C2_SCL / UART4_TX +#define MOTOR2_PIN PA1 // TMR2_CH2 / TMR5_CH2 / I2C2_SDA / SPI4_MOSI / UART4_RX +#define MOTOR3_PIN PA3 // TMR2_CH4 / TMR5_CH4 / TMR9_CH2 / USART2_RX +#define MOTOR4_PIN PA2 // TMR2_CH3 / TMR5_CH3 / TMR9_CH1 / USART2_TX / SDIO2_CK +#define UART1_TX_PIN PA9 // TMR1_CH2 / SPI2_SCK / USART1_TX / I2C1_SCL +#define UART4_TX_PIN PH3 // TMR5_CH1 / I2C2_SCL / UART4_RX +#define UART5_TX_PIN PB9 // TMR2_CH2 / TMR4_CH4 / TMR11_CH1 / I2C1_SDA / SPI2_CS / SPI4_MOSI / I2C2_SDA / UART5_TX +#define UART1_RX_PIN PA10 // TMR1_CH3 / SPI2_MOSI / USART1_RX / I2C1_SDA +#define UART4_RX_PIN PH2 // TMR5_CH2 / I2C2_SDA / UART4_TX +#define UART5_RX_PIN PB8 // TMR2_CH1 / TMR4_CH3 / TMR10_CH1 / I2C1_SCL / SPI4_MISO / UART5_RX +#define LED0_PIN PB7 // TMR4_CH2 / I2C1_SDA / SPI4_SCK +#define I2C2_SCL_PIN PB10 // TMR2_CH3 / I2C2_SCL / SPI2_SCK / USART3_TX +#define I2C2_SDA_PIN PB11 // TMR2_CH4 / TMR5_CH4 / I2C2_SDA / USART3_RX +#define SPI1_SCK_PIN PA5 // TMR2_CH1 / TMR8_CH1C / SPI1_SCK / USART6_RX +#define SPI2_SCK_PIN PB13 // TMR1_CH1C / SPI2_SCK / SPI4_SCK / I2C3_SCL +#define SPI3_SCK_PIN PB3 // TMR2_CH2 / I2C2_SDA / SPI1_SCK / SPI3_SCK / USART1_RX / UART7_RX +#define SPI1_SDI_PIN PA6 // TMR3_CH1 / SPI1_MISO / TMR13_CH1 +#define SPI2_SDI_PIN PB14 // TMR1_CH2C / TMR8_CH2C / I2C3_SDA / SPI2_MISO +#define SPI3_SDI_PIN PB4 // TMR3_CH1 / I2C3_SDA / SPI1_MISO / SPI3_MISO / UART7_TX +#define SPI1_SDO_PIN PA7 // TMR1_CH1C / TMR3_CH2 / TMR8_CH1C / SPI1_MOSI / TMR14_CH1 +#define SPI2_SDO_PIN PB15 // TMR1_CH3C / TMR8_CH3C / I2C3_SCL / SPI2_MOSI +#define SPI3_SDO_PIN PB5 // TMR3_CH2 / SPI1_MOSI / SPI3_MOSI / UART5_RX +#define ADC_VBAT_PIN PB0 // TMR1_CH2C / TMR3_CH3 / TMR8_CH2C / USART2_RX / SPI3_MOSI / ADC +#define ADC_CURR_PIN PB1 // TMR1_CH3C / TMR3_CH4 / TMR8_CH3C / SPI2_SCK / ADC +#define PINIO1_PIN PC13 +#define FLASH_CS_PIN PA15 // TMR2_CH1 / SPI1_CS / SPI3_CS / USART1_TX / USART2_RX +#define MAX7456_SPI_CS_PIN PB12 // TMR5_CH1 / SPI2_CS / SPI4_CS / SPI3_SCK +#define GYRO_1_EXTI_PIN PC14 +#define GYRO_1_CS_PIN PA4 // SPI1_CS / SPI3_CS / USART6_TX +#define GYRO_1_CLKIN_PIN PA8 // TMR1_CH1 / I2C3_SCL / USART2_TX + +#define TIMER_PIN_MAPPING TIMER_PIN_MAP(0, PB6, 1, 0) \ + TIMER_PIN_MAP(1, PA0, 1, 1) \ + TIMER_PIN_MAP(2, PA1, 1, 2) \ + TIMER_PIN_MAP(3, PA3, 1, 3) \ + TIMER_PIN_MAP(4, PA2, 1, 4) \ + TIMER_PIN_MAP(5, PA8, 1, -1) + +#define ADC_INSTANCE ADC1 +#define ADC1_DMA_OPT 8 + +#define DEFAULT_BLACKBOX_DEVICE BLACKBOX_DEVICE_FLASH +#define DEFAULT_DSHOT_BITBANG DSHOT_BITBANG_ON +#define DEFAULT_CURRENT_METER_SOURCE CURRENT_METER_ADC +#define DEFAULT_VOLTAGE_METER_SOURCE VOLTAGE_METER_ADC +#define BEEPER_INVERTED +#define SYSTEM_HSE_MHZ 8 +#define GYRO_1_SPI_INSTANCE SPI1 +#define GYRO_1_ALIGN CW180_DEG +#define DEFAULT_ALIGN_BOARD_YAW -45 +#define MAX7456_SPI_INSTANCE SPI2 +#define FLASH_SPI_INSTANCE SPI3 +#define BARO_I2C_INSTANCE I2CDEV_2 +#define MAG_I2C_INSTANCE I2CDEV_2 +#define PINIO1_BOX 40 +#define PINIO1_CONFIG 129 +#define BOX_USER1_NAME "COB" +#define LED0_INVERTED