mirror of https://github.com/ArduPilot/ardupilot
hwdef: SkySakura H743 fc Support
SkySakura H743 fc Support
This commit is contained in:
parent
e63740d35d
commit
7d4c75bb78
Binary file not shown.
|
@ -0,0 +1,115 @@
|
|||
# SkySakura H743 Flight Controller
|
||||
|
||||
The SkySakura H743 is a flight controller produced by [SkySakuraRC]
|
||||
|
||||
## Features
|
||||
|
||||
- MCU: STM32H743VIT6, 480MHz
|
||||
- Gyro1: ICM42688
|
||||
- Gyro2: IIM42652
|
||||
- SD Card support
|
||||
- BEC output: 5V 5A & 12V 5A (MAX 60W total) (switchable 12V)
|
||||
- Barometer1: DPS310
|
||||
- Barometer2: ICP20100
|
||||
- Magnometer: IST8310
|
||||
- CAN bus support
|
||||
- 7 UARTS: (USART1, USART2, USART3, UART4, USART6, UART7 with flow control, UART8)
|
||||
- 2 I2C, I2C1 is used internally.
|
||||
- 13 PWM outputs (12 motor outputs, 1 led)
|
||||
- 4-12s wide voltage support
|
||||
|
||||
## Pinout
|
||||
|
||||
![SkySakura H743 Board](SkySakuraH743.png "SkySakura H743")
|
||||
|
||||
## UART Mapping
|
||||
|
||||
The UARTs are marked Rn and Tn in the above pinouts. The Rn pin is the
|
||||
receive pin for UARTn. The Tn pin is the transmit pin for UARTn.
|
||||
|Name|Pin|Function|
|
||||
|:-|:-|:-|
|
||||
|SERIAL0|COMPUTER|USB|
|
||||
|SERIAL1|RX7/TX7|UART7 (MAVLink2, flow-control-capable)|
|
||||
|SERIAL2|TX1/RX1|UART1 (MAVLink2, DMA-enabled)|
|
||||
|SERIAL3|TX2/RX2|UART2 (USER)|
|
||||
|SERIAL4|TX3/RX3|UART3 (GPS1, DMA-enabled)|
|
||||
|SERIAL5|TX4/RX4|UART4 (RCIN, DMA-enabled)|
|
||||
|SERIAL6|TX6/RX6|UART6 (DisplayPort, DMA-enabled)|
|
||||
|SERIAL7|TX8/RX8|UART8 (ESC-Telemetry, RX8 on ESC connectors, TX8 can be used if protocol is change from ESC telem)|
|
||||
|SERIAL8|COMPUTER|USB|
|
||||
|
||||
## Safety Button
|
||||
|
||||
SkySakura H743 supports safety button, with connection to sh1.0 6 pin connector, with buzzer and safety led on the same connector.
|
||||
Safety button is defaulted to be disabled but can be enabled by setting the following parameter:
|
||||
- BRD_SAFETY_DEFLT 1
|
||||
|
||||
## RC Input
|
||||
|
||||
RC input is configured on UART4 with an sh1.0 connector. It supports all RC protocols except PPM. The SBUS pin on the HD VTX connector is tied directly the UART4 RX. If ELRS is used on UART4, then the SBUS lead from a DJI VTX must not be connected to the SBUS to prevent ELRS lock up on boot.
|
||||
|
||||
## OSD Support
|
||||
|
||||
SkySakura H743 supports HD OSD through UART6 by default.
|
||||
|
||||
## VTX Power Control
|
||||
|
||||
The 12VSW output voltage on the HD VTX connector is controlled by GPIO 85, via RELAY1 by default. Low activates the voltage.
|
||||
|
||||
## PWM Output
|
||||
|
||||
The SkySakura H743 has 13 PWM outputs. M1-M8 are linked to sh1.0 8 pin connectors. The first 8 outputs support bi-directional DShot and DShot. Output 9-13 only support non-DShot protocols and 13 is configured as NEOPIXEL LED by default.
|
||||
|
||||
The PWM are in in two groups:
|
||||
|
||||
- PWM 1-2 in group1
|
||||
- PWM 3-4 in group2
|
||||
- PWM 5-6 in group3
|
||||
- PWM 7-8 in group4
|
||||
- PWM 9-12 in group5
|
||||
- PWM 13 in group6
|
||||
|
||||
Channels within the same group need to use the same output rate. If
|
||||
any channel in a group uses DShot then all channels in the group need
|
||||
to use DShot.
|
||||
|
||||
## Battery Monitoring
|
||||
|
||||
The board has a builtin voltage sensor and external current monitor inputs. The voltage sensor can handle up to 12S LiPo batteries. The current sensor scale's default range is 120A, but will need to be adjusted according to which sensor is used. These inputs are present on the first ESC connector.
|
||||
A second battery monitor can be also used. Its voltage sensor is capable of reading up to 6.6V maximum and is available on the A3 solder pad. Its current monitor input is on the A4 solder pad.
|
||||
|
||||
The default battery setting parameters are:
|
||||
|
||||
- BATT_MONITOR 4
|
||||
- BATT_VOLT_PIN 10
|
||||
- BATT_VOLT_MULT 34
|
||||
- BATT_CURR_PIN 11
|
||||
- set BATT2_MONITOR 4
|
||||
- BATT2_VOLT_PIN 12
|
||||
- BATT2_CURR_PIN 13
|
||||
- BATT2_VOLT_MULT 10
|
||||
- set BATT2_AMP_PERVLT to appropriate value for second current sensor
|
||||
|
||||
## Compass
|
||||
|
||||
The SkySakura H743 have a builtin IST8310 compass. Due to motor interference, users often disable this compass and use an external compass attached via the external SDA/SCL pins.
|
||||
|
||||
## NeoPixel LED
|
||||
|
||||
PWM13 provides external NeoPixel LED support.
|
||||
|
||||
|
||||
## Firmware
|
||||
|
||||
Firmware can bee found on the `firmware server < https://firmware.ardupilot.org`__ in the "SkySakuraH743" folders
|
||||
|
||||
|
||||
## Loading Firmware
|
||||
|
||||
Initial firmware load can be done with DFU by plugging in USB with the
|
||||
bootloader button pressed. Then you should load the "with_bl.hex"
|
||||
firmware, using your favourite DFU loading tool.
|
||||
|
||||
Once the initial firmware is loaded you can update the firmware using
|
||||
any ArduPilot ground station software. Updates should be done with the
|
||||
\*.apj firmware files.
|
Binary file not shown.
After Width: | Height: | Size: 553 KiB |
Binary file not shown.
After Width: | Height: | Size: 382 KiB |
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,2 @@
|
|||
SERVO13_FUNCTION 120
|
||||
NTF_LED_TYPES 257
|
|
@ -0,0 +1,77 @@
|
|||
# hw definition file for processing by chibios_pins.py
|
||||
# for SakuraH743 bootloader
|
||||
|
||||
# MCU class and specific type
|
||||
MCU STM32H7xx STM32H743xx
|
||||
|
||||
# board ID for firmware load
|
||||
APJ_BOARD_ID 2714
|
||||
|
||||
# USB setup
|
||||
USB_STRING_MANUFACTURER "SkySakura"
|
||||
|
||||
# crystal frequency, setup to use external oscillator
|
||||
OSCILLATOR_HZ 8000000
|
||||
|
||||
FLASH_SIZE_KB 2048
|
||||
|
||||
# bootloader starts at zero offset
|
||||
FLASH_RESERVE_START_KB 0
|
||||
|
||||
# the location where the bootloader will put the firmware
|
||||
# the H743 has 128k sectors
|
||||
FLASH_BOOTLOADER_LOAD_KB 128
|
||||
|
||||
|
||||
# order of UARTs (and USB). Allow bootloading on USB and telem1
|
||||
SERIAL_ORDER OTG1 UART7
|
||||
|
||||
# UART7 (telem1)
|
||||
PE7 UART7_RX UART7
|
||||
PE8 UART7_TX UART7
|
||||
PE10 UART7_CTS UART7
|
||||
PE9 UART7_RTS UART7
|
||||
|
||||
# PA10 IO-debug-console
|
||||
PA11 OTG_FS_DM OTG1
|
||||
PA12 OTG_FS_DP OTG1
|
||||
|
||||
PA13 JTMS-SWDIO SWD
|
||||
PA14 JTCK-SWCLK SWD
|
||||
|
||||
# make sure Vsw is on during bootloader
|
||||
PE15 PINIO1 OUTPUT HIGH
|
||||
|
||||
PB5 LED_BOOTLOADER OUTPUT LOW
|
||||
define HAL_LED_ON 0
|
||||
|
||||
# Add CS pins to ensure they are high in bootloader
|
||||
PA4 IMU1_CS CS
|
||||
PE11 IMU2_CS CS
|
||||
PC5 BARO2_CS CS
|
||||
PB12 EXT_CS CS
|
||||
|
||||
|
||||
# enable DFU by default
|
||||
ENABLE_DFU_BOOT 1
|
||||
|
||||
# enable flashing from SD 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
|
||||
|
||||
# enable FAT filesystem support (needs a microSD defined via SDMMC)
|
||||
define HAL_OS_FATFS_IO 1
|
||||
define AP_BOOTLOADER_FLASH_FROM_SD_ENABLED 1
|
||||
|
||||
# FATFS support:
|
||||
define CH_CFG_USE_MEMCORE 1
|
||||
define CH_CFG_USE_HEAP 1
|
||||
define CH_CFG_USE_SEMAPHORES 0
|
||||
define CH_CFG_USE_MUTEXES 1
|
||||
define CH_CFG_USE_DYNAMIC 1
|
||||
define CH_CFG_USE_WAITEXIT 1
|
||||
define CH_CFG_USE_REGISTRY 1
|
|
@ -0,0 +1,229 @@
|
|||
# hw definition file for processing by chibios_pins.py
|
||||
# for SakuraH743
|
||||
|
||||
# MCU class and specific type
|
||||
MCU STM32H7xx STM32H743xx
|
||||
|
||||
# board ID for firmware load
|
||||
APJ_BOARD_ID 2714
|
||||
|
||||
# crystal frequency, setup to use external oscillator
|
||||
OSCILLATOR_HZ 8000000
|
||||
|
||||
FLASH_SIZE_KB 2048
|
||||
env OPTIMIZE -Os
|
||||
|
||||
# USB setup
|
||||
USB_STRING_MANUFACTURER "SkySakura"
|
||||
|
||||
#debug on USART6 -- Uncomment if debugging
|
||||
#STDOUT_SERIAL SD6
|
||||
#STDOUT_BAUDRATE 115200
|
||||
|
||||
|
||||
# bootloader takes first sector
|
||||
FLASH_RESERVE_START_KB 128
|
||||
|
||||
|
||||
# ChibiOS system timer
|
||||
STM32_ST_USE_TIMER 12
|
||||
define CH_CFG_ST_RESOLUTION 16
|
||||
|
||||
# DRDY pins
|
||||
PC4 DRDY_IIM42652_SPI1 INPUT
|
||||
PB2 DRDY_ICM42688_SPI4 INPUT
|
||||
|
||||
# USB
|
||||
PA11 OTG_FS_DM OTG1
|
||||
PA12 OTG_FS_DP OTG1
|
||||
|
||||
# This is the pin that senses USB being connected. It is an input pin
|
||||
# setup as OPENDRAIN.
|
||||
PD4 VBUS INPUT OPENDRAIN
|
||||
|
||||
PA13 JTMS-SWDIO SWD
|
||||
PA14 JTCK-SWCLK SWD
|
||||
|
||||
# allow to have have a dedicated safety switch pin
|
||||
define HAL_HAVE_SAFETY_SWITCH 1
|
||||
PD10 LED_SAFETY OUTPUT LOW
|
||||
PD11 SAFETY_IN INPUT PULLDOWN
|
||||
#disable safety button by default
|
||||
define BOARD_SAFETY_ENABLE_DEFAULT 0
|
||||
|
||||
# SPI1 for IMU1 (IIM42652)
|
||||
PA5 SPI1_SCK SPI1
|
||||
PA6 SPI1_MISO SPI1
|
||||
PA7 SPI1_MOSI SPI1
|
||||
PA4 IMU1_CS CS
|
||||
|
||||
# SPI2 - external (USER)
|
||||
PB13 SPI2_SCK SPI2
|
||||
PB14 SPI2_MISO SPI2
|
||||
PB15 SPI2_MOSI SPI2
|
||||
PB12 EXT_CS CS
|
||||
#PB12 FLASH_CS CS
|
||||
|
||||
# SPI1 for BARO2 (DPS310)
|
||||
PC5 BARO2_CS CS
|
||||
|
||||
# SPI4 for IMU2 (ICM42688)
|
||||
PE11 IMU2_CS CS
|
||||
PE12 SPI4_SCK SPI4
|
||||
PE13 SPI4_MISO SPI4
|
||||
PE14 SPI4_MOSI SPI4
|
||||
|
||||
# two I2C bus
|
||||
I2C_ORDER I2C1 I2C2
|
||||
|
||||
# I2C1
|
||||
PB6 I2C1_SCL I2C1 PULLUP
|
||||
PB7 I2C1_SDA I2C1 PULLUP
|
||||
|
||||
# I2C2
|
||||
PB10 I2C2_SCL I2C2
|
||||
PB11 I2C2_SDA I2C2
|
||||
|
||||
# ADC
|
||||
PC3 BATT_VOLTAGE_SENS ADC1 SCALE(1)
|
||||
PC2 BATT_CURRENT_SENS ADC1 SCALE(1)
|
||||
PC0 BATT2_VOLTAGE_SENS ADC2 SCALE(1)
|
||||
PC1 BATT2_CURRENT_SENS ADC2 SCALE(1)
|
||||
|
||||
define HAL_BATT_MONITOR_DEFAULT 4
|
||||
define HAL_BATT_VOLT_PIN 13
|
||||
define HAL_BATT_CURR_PIN 12
|
||||
define HAL_BATT2_VOLT_PIN 10
|
||||
define HAL_BATT2_CURR_PIN 11
|
||||
define HAL_BATT_VOLT_SCALE 34.0
|
||||
define HAL_BATT_CURR_SCALE 40.0
|
||||
define HAL_BATT2_VOLT_SCALE 10
|
||||
|
||||
# LED setup
|
||||
define AP_NOTIFY_GPIO_LED_RGB_ENABLED 1
|
||||
PB5 LED_RED OUTPUT GPIO(83)
|
||||
PB4 LED_GREEN OUTPUT GPIO(82)
|
||||
PB3 LED_BLUE OUTPUT GPIO(81)
|
||||
|
||||
define AP_NOTIFY_GPIO_LED_RGB_RED_PIN 83
|
||||
define AP_NOTIFY_GPIO_LED_RGB_GREEN_PIN 82
|
||||
define AP_NOTIFY_GPIO_LED_RGB_BLUE_PIN 81
|
||||
|
||||
|
||||
# order of UARTs (and USB)
|
||||
SERIAL_ORDER OTG1 UART7 USART1 USART2 USART3 UART4 USART6 UART8 OTG2
|
||||
|
||||
# USART1 (TELEM2)
|
||||
PA10 USART1_RX USART1
|
||||
PA9 USART1_TX USART1
|
||||
|
||||
# USART2 (USER)
|
||||
PD5 USART2_TX USART2 NODMA
|
||||
PD6 USART2_RX USART2 NODMA
|
||||
define DEFAULT_SERIAL3_PROTOCOL SerialProtocol_None
|
||||
|
||||
# USART3 (GPS1)
|
||||
PD9 USART3_RX USART3
|
||||
PD8 USART3_TX USART3
|
||||
|
||||
# UART4 (RCIN)
|
||||
PB9 UART4_TX UART4
|
||||
PB8 UART4_RX UART4
|
||||
define DEFAULT_SERIAL5_PROTOCOL SerialProtocol_RCIN
|
||||
|
||||
# USART6 (DisplayPort)
|
||||
PC7 USART6_RX USART6
|
||||
PC6 USART6_TX USART6
|
||||
define DEFAULT_SERIAL6_PROTOCOL SerialProtocol_MSP_DisplayPort
|
||||
|
||||
# UART7 (telem1)
|
||||
PE7 UART7_RX UART7 NODMA
|
||||
PE8 UART7_TX UART7 NODMA
|
||||
PE10 UART7_CTS UART7
|
||||
PE9 UART7_RTS UART7
|
||||
|
||||
# UART8 (ESC Telemetry)
|
||||
PE0 UART8_RX UART8 NODMA
|
||||
PE1 UART8_TX UART8 NODMA
|
||||
define DEFAULT_SERIAL7_PROTOCOL SerialProtocol_ESCTelemetry
|
||||
|
||||
|
||||
# CAN bus
|
||||
PD0 CAN1_RX CAN1
|
||||
PD1 CAN1_TX CAN1
|
||||
PD3 GPIO_CAN1_SILENT OUTPUT PUSHPULL SPEED_LOW LOW GPIO(90)
|
||||
|
||||
# Motors
|
||||
PA2 TIM5_CH3 TIM5 PWM(1) GPIO(50) BIDIR
|
||||
PA3 TIM5_CH4 TIM5 PWM(2) GPIO(51)
|
||||
PB1 TIM3_CH4 TIM3 PWM(3) GPIO(52) BIDIR
|
||||
PB0 TIM3_CH3 TIM3 PWM(4) GPIO(53)
|
||||
PA1 TIM2_CH2 TIM2 PWM(5) GPIO(54) BIDIR
|
||||
PA0 TIM2_CH1 TIM2 PWM(6) GPIO(55)
|
||||
PE5 TIM15_CH1 TIM15 PWM(7) GPIO(56) BIDIR
|
||||
PE6 TIM15_CH2 TIM15 PWM(8) GPIO(57)
|
||||
PD12 TIM4_CH1 TIM4 PWM(9) GPIO(58) NODMA
|
||||
PD13 TIM4_CH2 TIM4 PWM(10) GPIO(59) NODMA
|
||||
PD14 TIM4_CH3 TIM4 PWM(11) GPIO(60) NODMA
|
||||
PD15 TIM4_CH4 TIM4 PWM(12) GPIO(61) NODMA
|
||||
|
||||
#LED
|
||||
PA8 TIM1_CH1 TIM1 PWM(13) GPIO(62) # for WS2812 LED
|
||||
|
||||
# Beeper
|
||||
PD7 BUZZER OUTPUT GPIO(84) LOW
|
||||
define HAL_BUZZER_PIN 84
|
||||
|
||||
# microSD support
|
||||
PC8 SDMMC1_D0 SDMMC1
|
||||
PC9 SDMMC1_D1 SDMMC1
|
||||
PC10 SDMMC1_D2 SDMMC1
|
||||
PC11 SDMMC1_D3 SDMMC1
|
||||
PC12 SDMMC1_CK SDMMC1
|
||||
PD2 SDMMC1_CMD SDMMC1
|
||||
|
||||
# GPIOs
|
||||
PE15 VTX_PWR OUTPUT LOW GPIO(85)
|
||||
define RELAY1_PIN_DEFAULT 85
|
||||
|
||||
|
||||
define HAL_STORAGE_SIZE 32768
|
||||
|
||||
# use last 2 pages for flash storage
|
||||
# H743 has 16 pages of 128k each
|
||||
STORAGE_FLASH_PAGE 14
|
||||
|
||||
# spi devices
|
||||
SPIDEV icm42688 SPI4 DEVID1 IMU2_CS MODE3 2*MHZ 16*MHZ
|
||||
SPIDEV iim42652 SPI1 DEVID1 IMU1_CS MODE3 2*MHZ 8*MHZ
|
||||
SPIDEV dps310 SPI1 DEVID2 BARO2_CS MODE3 5*MHZ 5*MHZ
|
||||
|
||||
|
||||
DMA_PRIORITY SPI1* SPI4*
|
||||
DMA_NOSHARE SPI1* SPI4* TIM5* TIM3* TIM2* TIM15*
|
||||
|
||||
# has an integreted mag, but still probe the i2c bus for all possible
|
||||
# external compass types
|
||||
define HAL_PROBE_EXTERNAL_I2C_COMPASSES
|
||||
COMPASS IST8310 I2C:0:0x0E false ROTATION_YAW_90
|
||||
define HAL_COMPASS_AUTO_ROT_DEFAULT 2
|
||||
define ALLOW_ARM_NO_COMPASS
|
||||
|
||||
# two IMUs
|
||||
# H743-V1, ICM42688, IIM42652
|
||||
IMU Invensensev3 SPI:icm42688 ROTATION_YAW_180
|
||||
IMU Invensensev3 SPI:iim42652 ROTATION_YAW_180
|
||||
define HAL_DEFAULT_INS_FAST_SAMPLE 1
|
||||
|
||||
# DPS310 integrated on SPI1 bus
|
||||
BARO ICP201XX I2C:0:0x63
|
||||
BARO DPS310 SPI:dps310
|
||||
|
||||
define HAL_OS_FATFS_IO 1
|
||||
define HAL_OTG2_PROTOCOL SerialProtocol_SLCAN
|
||||
define HAL_FRAME_TYPE_DEFAULT 12
|
||||
|
||||
# enable DFU reboot for installing bootloader
|
||||
# note that if firmware is build with --secure-bl then DFU is
|
||||
# disabled
|
||||
ENABLE_DFU_BOOT 1
|
Loading…
Reference in New Issue