Skip to content

Add target ACCTONGFH7(STM32H743) - #11993

Open
BrianChang1212 wants to merge 1 commit into
iNavFlight:maintenance-10.xfrom
BrianChang1212:feature/acctongfh7-board-support-10x
Open

BrianChang1212 wants to merge 1 commit into
iNavFlight:maintenance-10.xfrom
BrianChang1212:feature/acctongfh7-board-support-10x

Conversation

@BrianChang1212

@BrianChang1212 BrianChang1212 commented Sep 21, 2026

Copy link
Copy Markdown

Add support for the new flight controller: ACCTONGFH7

Hardware Specifications

  • MCU: STM32H743
  • Board identifier: GFH7
  • Gyro/Accelerometer: ICM42605 and LSM6DSK320X
  • Barometer: DPS310
  • Compass: IST8310
  • OSD: MAX7456 (disabled by default)
  • Motor Outputs: 8
  • UARTs: 8
  • CAN: 1
  • Blackbox: SD card
  • HSE: 16 MHz

Build command:

  • cmake --build build-acctongfh7-pr11993-osd-off --target ACCTONGFH7

@qodo-code-review

Copy link
Copy Markdown
Contributor

ⓘ Qodo reviews are paused because the subscription is no longer active. Ask your workspace admin to reactivate the subscription to resume reviews. Manage billing

@qodo-free-for-open-source-projects

Copy link
Copy Markdown

PR Summary by Qodo

Add ACCTONGFH7 STM32H743 board support

✨ Enhancement ⚙️ Configuration changes 🕐 20-40 Minutes

Grey Divider

AI Description

• Adds an ACCTONGFH7 firmware target for STM32H743 hardware with a 16 MHz oscillator.
• Maps onboard sensors, communications, storage, ADC, power control, and eight motor outputs.
• Establishes defaults for serial roles, preferred gyro, compass alignment, and blackbox logging.
Diagram

graph TD
  Build["CMake target"] --> Target["ACCTONGFH7 target"] --> MCU["STM32H743 MCU"]
  Target --> Defaults["Runtime defaults"]
  MCU --> Sensors["SPI and I2C"] & Comms["UART and VCP"] & Outputs["Timers and ADC"] & Storage["SDIO blackbox"]
Loading
High-Level Assessment

A dedicated target directory follows INAV's established board-support model and is appropriate for this unique pin map and peripheral set. Sharing another H743 target was considered, but would couple unrelated boards and obscure hardware-specific assignments.

Files changed (4) +288 / -0

Enhancement (2) +92 / -0
config.cDefine ACCTONGFH7 runtime defaults +46/-0

Define ACCTONGFH7 runtime defaults

• Assigns USART1 to ESC serial, USART3 to GPS, and USART4 to the serial receiver. It also configures USER1 power control, selects the second gyro by default, and rotates the compass alignment by 270 degrees.

src/main/target/ACCTONGFH7/config.c

target.cRegister IMUs and timer-backed outputs +46/-0

Register IMUs and timer-backed outputs

• Registers the ICM42605 and LSM6DSK320X SPI hardware descriptors. Maps eight motor channels and an LED-strip timer while avoiding the DMA stream reserved by ADC1.

src/main/target/ACCTONGFH7/target.c

Other (2) +196 / -0
CMakeLists.txtRegister the ACCTONGFH7 STM32H743 build target +1/-0

Register the ACCTONGFH7 STM32H743 build target

• Adds an STM32H743XI target configured for the board's 16 MHz external oscillator.

src/main/target/ACCTONGFH7/CMakeLists.txt

target.hDescribe the ACCTONGFH7 hardware and feature map +195/-0

Describe the ACCTONGFH7 hardware and feature map

• Defines board identity, GPIO assignments, buses, sensors, serial ports, SDIO storage, ADC channels, power control, and default firmware features. Enables eight DShot-capable motor outputs, SD-card blackbox logging, OSD, telemetry, and related peripherals.

src/main/target/ACCTONGFH7/target.h

@qodo-free-for-open-source-projects

qodo-free-for-open-source-projects Bot commented Sep 21, 2026

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0) 🎨 UX issues (0) 🔗 Cross-repo conflicts (0) 📜 Skill insights (0)

Grey Divider


Informational

1. A new comment denies active bus support ✓ Resolved 🐞 Bug ⚙ Maintainability
Description
target.h says the bus definitions are unreferenced because the firmware has no DroneCAN stack, but
USE_DRONECAN conditionally compiles and initializes that stack. A maintainer following this
comment can wrongly treat the live configuration as documentation-only when changing or diagnosing
this target.
Code

src/main/target/ACCTONGFH7/target.h[R139-141]

+// TLE9251VLE transceiver is wired to PD0/PD1. INAV has no CAN/DroneCAN stack
+// yet - these defines are unreferenced and kept only as hardware documentation.
+#define USE_DRONECAN
Evidence
The target defines USE_DRONECAN, while firmware initialization calls dronecanInit() under that
macro, the scheduler compiles its update task, and the H7 clock setup enables FDCAN. These
references directly contradict the claim that the definitions are unreferenced and no stack exists.

src/main/target/ACCTONGFH7/target.h[138-143]
src/main/fc/fc_init.c[579-582]
src/main/fc/fc_tasks.c[374-380]
src/main/target/system_stm32h7xx.c[520-525]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The new CAN section says INAV has no DroneCAN stack and that its definitions are unreferenced, although `USE_DRONECAN` enables initialization, scheduled updates, and FDCAN clock configuration.
## Fix Focus Areas
- src/main/target/ACCTONGFH7/target.h[139-141]
## Recommended Fix
Replace the misleading comment with one stating that the TLE9251VLE transceiver uses PD0/PD1 and that the target enables INAV's DroneCAN support.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Tip of the day
💡 Did you know, you can add REVIEW.md to your repo root and Qodo follows it on every PR

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

Comment thread src/main/target/ACCTONGFH7/target.h Outdated
@BrianChang1212
BrianChang1212 force-pushed the feature/acctongfh7-board-support-10x branch from aab6d05 to f958a71 Compare September 21, 2026 08:14
@BrianChang1212
BrianChang1212 force-pushed the feature/acctongfh7-board-support-10x branch from f958a71 to e6c85c3 Compare September 21, 2026 08:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant