Skip to content

Commit 5da2367

Browse files
AP_HAL_Chibios: Add ArtosynH743 hwdef
1 parent a090813 commit 5da2367

File tree

2 files changed

+181
-0
lines changed

2 files changed

+181
-0
lines changed
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Set relay 1 as cam switch
2+
RELAY1_PIN 70
3+
RELAY1_FUNCTION 1
Lines changed: 178 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,178 @@
1+
# hw definition file for processing by chibios_hwdef.py
2+
# for the artosynH743 hardware
3+
4+
# MCU class and specific type
5+
MCU STM32H7xx STM32H743xx
6+
7+
# board ID. See Tools/AP_Bootloader/board_types.txt
8+
APJ_BOARD_ID AP_HW_ArtosynH743
9+
10+
# crystal frequency
11+
OSCILLATOR_HZ 8000000
12+
13+
# ChibiOS system timer
14+
STM32_ST_USE_TIMER 12
15+
define CH_CFG_ST_RESOLUTION 16
16+
17+
# flash size
18+
FLASH_SIZE_KB 2048
19+
FLASH_RESERVE_START_KB 128
20+
21+
define HAL_STORAGE_SIZE 32768
22+
STORAGE_FLASH_PAGE 14
23+
24+
# default to all pins low to avoid ESD issues
25+
DEFAULTGPIO OUTPUT LOW PULLDOWN
26+
27+
# order of UARTs (and USB)
28+
SERIAL_ORDER OTG1 USART1 USART2 USART3 UART4 UART5 USART6 UART7 UART8
29+
30+
# USB
31+
PA11 OTG_FS_DM OTG1
32+
PA12 OTG_FS_DP OTG1
33+
34+
# UARTs
35+
PA9 USART1_TX USART1
36+
PA10 USART1_RX USART1
37+
PA2 USART2_TX USART2
38+
PA3 USART2_RX USART2
39+
PD8 USART3_TX USART3
40+
PD9 USART3_RX USART3
41+
PA0 UART4_TX UART4
42+
PA1 UART4_RX UART4
43+
PB6 UART5_TX UART5
44+
PB5 UART5_RX UART5
45+
PC6 USART6_TX USART6
46+
PC7 USART6_RX USART6
47+
PE8 UART7_TX UART7
48+
PE7 UART7_RX UART7
49+
PE1 UART8_TX UART8
50+
PE0 UART8_RX UART8
51+
52+
# SWD
53+
PA13 JTMS-SWDIO SWD
54+
PA14 JTCK-SWCLK SWD
55+
56+
# order of I2C
57+
I2C_ORDER I2C2 I2C1
58+
59+
# I2C
60+
PB8 I2C1_SCL I2C1
61+
PB9 I2C1_SDA I2C1
62+
PB10 I2C2_SCL I2C2
63+
PB11 I2C2_SDA I2C2
64+
65+
# PWM
66+
PE14 TIM1_CH4 TIM1 PWM(1) GPIO(50) BIDIR
67+
PE13 TIM1_CH3 TIM1 PWM(2) GPIO(51)
68+
PE11 TIM1_CH2 TIM1 PWM(3) GPIO(52) BIDIR
69+
PE9 TIM1_CH1 TIM1 PWM(4) GPIO(53)
70+
PB1 TIM3_CH4 TIM3 PWM(5) GPIO(54) BIDIR
71+
PB0 TIM3_CH3 TIM3 PWM(6) GPIO(55)
72+
PD12 TIM4_CH1 TIM4 PWM(7) GPIO(56) BIDIR
73+
PD13 TIM4_CH2 TIM4 PWM(8) GPIO(57)
74+
PE5 TIM15_CH1 TIM15 PWM(9) GPIO(58)
75+
PE6 TIM15_CH2 TIM15 PWM(10) GPIO(59)
76+
77+
# LED-pad
78+
PD14 TIM4_CH3 TIM4 PWM(11) GPIO(60) #M11
79+
80+
# BUZZER
81+
PD15 BUZZER OUTPUT GPIO(61) LOW
82+
define HAL_BUZZER_PIN 61
83+
84+
# LEDs
85+
PE3 LED_RED OUTPUT LOW GPIO(0)
86+
PE2 LED_GREEN OUTPUT LOW GPIO(1)
87+
PE4 LED_BLUE OUTPUT LOW GPIO(2)
88+
89+
define AP_NOTIFY_GPIO_LED_RGB_RED_PIN 0
90+
define AP_NOTIFY_GPIO_LED_RGB_GREEN_PIN 1
91+
define AP_NOTIFY_GPIO_LED_RGB_BLUE_PIN 2
92+
93+
define AP_NOTIFY_GPIO_LED_RGB_ENABLED 1
94+
95+
# ADC for Power
96+
PC0 BATT_VOLTAGE_SENS ADC1 SCALE(1)
97+
PC1 BATT_CURRENT_SENS ADC1 SCALE(1)
98+
99+
# setup for battery
100+
define HAL_BATT_MONITOR_DEFAULT 4
101+
define HAL_BATT_VOLT_PIN 10
102+
define HAL_BATT_CURR_PIN 11
103+
define HAL_BATT_VOLT_SCALE 21.12
104+
define HAL_BATT_CURR_SCALE 40.2
105+
106+
# compass
107+
define HAL_COMPASS_DISABLE_QMC5883L_INTERNAL_PROBE
108+
define AP_COMPASS_PROBING_ENABLED 1
109+
COMPASS QMC5883L I2C:ALL_EXTERNAL:0x0D true ROTATION_NONE
110+
COMPASS QMC5883L I2C:ALL_INTERNAL:0x0D false ROTATION_NONE
111+
112+
# microSD support
113+
PC12 SDMMC1_CK SDMMC1
114+
PD2 SDMMC1_CMD SDMMC1
115+
PC8 SDMMC1_D0 SDMMC1
116+
PC9 SDMMC1_D1 SDMMC1
117+
PC10 SDMMC1_D2 SDMMC1
118+
PC11 SDMMC1_D3 SDMMC1
119+
define FATFS_HAL_DEVICE SDCD1
120+
121+
# SPI1 - OSD
122+
PA5 SPI1_SCK SPI1
123+
PA6 SPI1_MISO SPI1
124+
PA7 SPI1_MOSI SPI1
125+
PB12 AT7456E_CS CS
126+
127+
# SPI2 - ICM-42688P (IMU1)
128+
PD3 SPI2_SCK SPI2
129+
PC2 SPI2_MISO SPI2
130+
PC3 SPI2_MOSI SPI2
131+
PD5 ICM42688_1_CS CS
132+
PC15 DRDY1_ICM42688 INPUT
133+
134+
# SPI3 - ICM-42688P (IMU2)
135+
PB3 SPI3_SCK SPI3
136+
PB4 SPI3_MISO SPI3
137+
PD6 SPI3_MOSI SPI3
138+
PA15 ICM42688_2_CS CS
139+
PB7 DRDY2_ICM42688 INPUT
140+
141+
# SPI devices
142+
SPIDEV icm42688_1 SPI2 DEVID1 ICM42688_1_CS MODE3 1*MHZ 24*MHZ
143+
SPIDEV icm42688_2 SPI3 DEVID2 ICM42688_2_CS MODE3 1*MHZ 24*MHZ
144+
SPIDEV osd SPI1 DEVID4 AT7456E_CS MODE0 10*MHZ 10*MHZ
145+
146+
# 2 IMUs - ICM-42688P
147+
# ROTATION_ROLL_180_YAW_90 matches typical FC mounting; adjust per board layout
148+
IMU Invensensev3 SPI:icm42688_1 ROTATION_ROLL_180_YAW_90
149+
IMU Invensensev3 SPI:icm42688_2 ROTATION_ROLL_180
150+
151+
# barometer - BMP390 on I2C bus 0 (I2C2), default address 0x77
152+
# SDO pin low = 0x76, SDO pin high = 0x77
153+
BARO BMP390 I2C:0:0x77
154+
155+
# Camera switch via PinIO1 on PD4 (formerly BMI088_A_CS, now repurposed)
156+
PD4 PINIO1 OUTPUT GPIO(70) LOW
157+
define HAL_PINIO_PIN_COUNT 1
158+
define HAL_PINIO1_PIN 70
159+
define HAL_PINIO1_PARAMS 0
160+
161+
# enable FAT filesystem support (needs a microSD defined via SDMMC)
162+
define HAL_OS_FATFS_IO 1
163+
164+
# setup for serial ports
165+
define DEFAULT_SERIAL2_PROTOCOL SerialProtocol_MSP_DisplayPort
166+
define DEFAULT_SERIAL4_PROTOCOL SerialProtocol_MAVLink2
167+
define DEFAULT_SERIAL6_PROTOCOL SerialProtocol_RCIN
168+
define DEFAULT_SERIAL7_PROTOCOL SerialProtocol_ESCTelemetry
169+
define DEFAULT_SERIAL8_PROTOCOL SerialProtocol_MAVLink2
170+
define DEFAULT_SERIAL8_BAUD 115
171+
172+
# setup for OSD
173+
define OSD_ENABLED 1
174+
define HAL_OSD_TYPE_DEFAULT 1
175+
ROMFS_WILDCARD libraries/AP_OSD/fonts/font*.bin
176+
177+
# setup for BF migration
178+
define HAL_FRAME_TYPE 12

0 commit comments

Comments
 (0)