-
Notifications
You must be signed in to change notification settings - Fork 1.7k
add HAKRCH743 target #11182
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
add HAKRCH743 target #11182
Conversation
Branch Targeting SuggestionYou've targeted the
If This is an automated suggestion to help route contributions to the appropriate branch. |
PR Compliance Guide 🔍All compliance sections have been disabled in the configurations. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
High-level Suggestion
The PR adds a new hardware target with a known critical bug (broken OSD). It is suggested to close the PR and not merge it until the issue is fixed in a separate fork. [High-level, importance: 10]
Solution Walkthrough:
Before:
// src/main/target/HAKRCH743/target.h
// The PR adds configuration for a new hardware target,
// including enabling the OSD feature.
/*** OSD ***/
#define USE_MAX7456
#define MAX7456_SPI_BUS BUS_SPI3
#define MAX7456_CS_PIN PE2
...
#define DEFAULT_FEATURES (FEATURE_OSD | FEATURE_TELEMETRY | ...)
// However, the PR author explicitly states in the description:
// "OSD is not working properly !!"After:
// No code is merged into the main branch.
// The PR is closed, as it introduces a non-functional hardware target.
// Development on the HAKRCH743 target should continue in a separate fork.
// The PR should only be re-submitted once all critical features,
// including the OSD, are fully functional and verified.
src/main/target/HAKRCH743/target.c
Outdated
| DEF_TIM(TIM1, CH1, PA8, TIM_USE_LED, 0, 9), // LED_2812 | ||
| DEF_TIM(TIM1, CH1, PE9, TIM_USE_BEEPER, 0, 0), // BEEPER |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
✅ Suggestion: Change the beeper's timer from TIM1, CH1 to TIM1, CH2 to resolve a resource conflict with the LED strip, which uses the same timer channel. [possible issue, importance: 9]
| DEF_TIM(TIM1, CH1, PA8, TIM_USE_LED, 0, 9), // LED_2812 | |
| DEF_TIM(TIM1, CH1, PE9, TIM_USE_BEEPER, 0, 0), // BEEPER | |
| DEF_TIM(TIM1, CH1, PA8, TIM_USE_LED, 0, 9), // LED_2812 | |
| DEF_TIM(TIM1, CH2, PE9, TIM_USE_BEEPER, 0, 0), // BEEPER |
Co-authored-by: qodo-code-review[bot] <151058649+qodo-code-review[bot]@users.noreply.github.com>
|
Thank you for the automated reply from the robot. Based on the feedback you provided, I have further optimized target.c and conducted testing. All functions work normally except for OSD. Therefore, I hope someone from the development team can help check whether there is any problem with my hardware design. |
|
The bot's suggestion "Correct the duplicated motor output indices" is incorrect and should be ignored. For the OSD, are you using a MAX7456 chip, or a simulation? |
Thank you for your reply. We are using the MAX7456 chip mounted on the flight controller. |
|
Okay, we can poke around with the OSD using the test sample board. Have you already sent one to a developer? That may sound like a silly question if this FC happens to be the one in the box on my workbench right now. :) |
No, I haven't sent the test sample to the development team yet. I emailed this coredev@inavflight.com address, and once I get the mailing address, I will send the test sample as soon as possible. |
Can you ping me or another developer on the Discord, please? |
No problem, I sent you a message on Discord. |
User description
User description
Added support for the HAKRCH743 flight control board.
Board hardware verification
Folder Structure
Hardware Verification
Notes
Description
Problem Description
I have checked both the hardware and software parts and found no issues, but the OSD still does not work properly. Therefore, I would like to create this new task to seek help from the development team. I can provide all relevant materials, including test samples.
Before this, I created the related issue: Building the new HAKRCH743 target, OSD cannot function properly · Issue #11135 · iNavFlight/inav
PR Type
Enhancement
Description
Adds support for HAKRCH743 STM32H743 flight controller board
Configures dual ICM42688 IMU sensors on separate SPI buses
Defines 12 PWM/DSHOT motor outputs with timer configuration
Implements comprehensive I/O: 8 UARTs, dual I2C, SPI, ADC, SDIO
Enables OSD, blackbox logging, LED strip, and PinIO features
Diagram Walkthrough
File Walkthrough
target.h
Complete hardware configuration and pin definitionssrc/main/target/HAKRCH743/target.h
HK743and USB product stringtarget.c
Timer hardware and IMU bus device registrationsrc/main/target/HAKRCH743/target.c
config.c
Target-specific configuration initializationsrc/main/target/HAKRCH743/config.c
targetConfiguration()function for board-specific setupCMakeLists.txt
Build system configurationsrc/main/target/HAKRCH743/CMakeLists.txt