# hw definition file for processing by chibios_hwdef.py # for H743 bootloader QMWV7 # ------- CPU -------------- # MCU class and specific type MCU STM32H7xx STM32H743xx # ------------ Clocks ---------- # crystal frequency OSCILLATOR_HZ 16000000 # ------ ID ---------------- # board ID for firmware load APJ_BOARD_ID 3 # ---------- Storage ----------- env OPTIMIZE -O2 FLASH_SIZE_KB 2048 FLASH_RESERVE_START_KB 128 define HAL_STORAGE_SIZE 16384 # Save to SD card more reliable # use last 2 pages for flash storage # H743 has 16 pages of 128k each # define STORAGE_FLASH_PAGE 14 # --------- Board Timer --------- define STM32_ST_USE_TIMER 5 define CH_CFG_ST_RESOLUTION 32 # ---------I2C------------------- I2C_ORDER I2C2 # J1 PB10 I2C2_SCL I2C2 PB11 I2C2_SDA I2C2 -----# Safety SW---------- PA9 SAFETY_LED OUTPUT HIGH GPIO(2) PA8 SAFETY_SWITCH INPUT PULLDOWN define HAL_GPIO_PIN_SAFETY_IN PAL_LINE(GPIOA, 8) define HAL_GPIO_PIN_LED_SAFETY PAL_LINE(GPIOA, 9) # allow to have have a dedicated safety switch pin define HAL_HAVE_SAFETY_SWITCH 1 # -------analog pins---------- PC4 BATT_VOLTAGE_SENS ADC1 SCALE(1) PC5 BATT_CURRENT_SENS ADC1 SCALE(1) # define default battery setup define HAL_BATT_VOLT_PIN 4 define HAL_BATT_CURR_PIN 8 define HAL_BATT_VOLT_SCALE 9.3 define HAL_BATT_CURR_SCALE 10.0 PB0 RSSI_IN ADC1 SCALE(1) define BOARD_RSSI_ANA_PIN 9 # ---------UARTS----------- # order of UARTs (and USB) # Order USB sr1 sr2 sr3 sr4 sr5 sr6 # AP Name USB GPS1 TELM1 TELM2 GPS2 SERIAL_ORDER OTG1 USART1 USART2 USART3 UART4 UART5 # USB PA11 OTG_FS_DM OTG1 PA12 OTG_FS_DP OTG1 # PA9 VBUS INPUT OPENDRAIN # GPS1 PB6 USART1_TX USART1 NODMA PB7 USART1_RX USART1 NODMA # TELEM1 PD5 USART2_TX USART2 PD6 USART2_RX USART2 PD3 USART2_CTS USART2 PD4 USART2_RTS USART2 # TELEM2 PD8 USART3_TX USART3 PD9 USART3_RX USART3 # UART4 GPS1 PA1 UART4_RX UART4 NODMA PA0 UART4_TX UART4 NODMA # UART 5 OSD PB12 UART5_RX UART5 PB13 UART5_TX UART5 # --------SPI------------- # SPI1 # MS5611 & MPU9250 PA5 SPI1_SCK SPI1 PA6 SPI1_MISO SPI1 PA7 SPI1_MOSI SPI1 PA4 BARO_CS CS PA2 MPU_CS CS # --------PWM------------ PE14 TIM1_CH4 TIM1 PWM(1) GPIO(50) PE13 TIM1_CH3 TIM1 PWM(2) GPIO(51) PE11 TIM1_CH2 TIM1 PWM(3) GPIO(52) PE9 TIM1_CH1 TIM1 PWM(4) GPIO(53) PD13 TIM4_CH2 TIM4 PWM(5) GPIO(54) PD14 TIM4_CH3 TIM4 PWM(6) GPIO(55) PD15 TIM4_CH4 TIM4 PWM(7) GPIO(56) define BOARD_PWM_COUNT_DEFAULT 7 # --------SENSORS----------- # One IMU # IMU mpu9250 IMU Invensense SPI:mpu9250 ROTATION_NONE # ------IMU fast sampling ----------- define HAL_DEFAULT_INS_FAST_SAMPLE 1 # One Baro ms5611 BARO MS56XX SPI:ms5611 # One Compass ak8963 COMPASS AK8963:probe_mpu9250 1 ROTATION_NONE define ALLOW_ARM_NO_COMPASS define HAL_COMPASS_DEFAULT HAL_COMPASS_NONE define HAL_PROBE_EXTERNAL_I2C_COMPASSES define HAL_I2C_INTERNAL_MASK 0 define HAL_COMPASS_AUTO_ROT_DEFAULT 2 # SPI devices SPIDEV ms5611 SPI1 DEVID1 BARO_CS MODE3 20*MHZ 20*MHZ SPIDEV mpu9250 SPI1 DEVID2 MPU_CS MODE3 4*MHZ 8*MHZ # --------SD CARD----------- # Setup microSD card PC8 SDMMC1_D0 SDMMC1 PC9 SDMMC1_D1 SDMMC1 PC10 SDMMC1_D2 SDMMC1 PC11 SDMMC1_D3 SDMMC1 PC12 SDMMC1_CK SDMMC1 PD2 SDMMC1_CMD SDMMC1 define HAL_OS_FATFS_IO 1 # Now some defines for logging and terrain data files. define HAL_BOARD_LOG_DIRECTORY "/APM/LOGS" define HAL_BOARD_TERRAIN_DIRECTORY "/APM/TERRAIN" # DMA_NOSHARE TIM4* USART3_TX USART2_TX # -----------OSD--------------- define OSD_ENABLED 1 # -----------Debug--------------- # define CH_DBG_ENABLE_ASSERTS TRUE # define CH_DBG_ENABLE_CHECKS TRUE # define CH_DBG_SYSTEM_STATE_CHECK TRUE # define CH_DBG_ENABLE_STACK_CHECK TRUE # PA13 JTMS-SWDIO SWD # PA14 JTCK-SWCLK SW