feat(boards): add Amovlab Flycore support#27407
Conversation
|
No broken links found in changed files. |
| #endif | ||
|
|
||
| #ifndef BOOT_DEVICES_FILTER_ONUSB | ||
| # define BOOT_DEVICES_FILTER_ONUSB USB0_DEV|SERIAL0_DEV|SERIAL1_DEV |
There was a problem hiding this comment.
[error] bugprone-macro-parentheses [error]
macro replacement list should be enclosed in parentheses
| # define BOOT_DEVICES_FILTER_ONUSB USB0_DEV|SERIAL0_DEV|SERIAL1_DEV | |
| # define BOOT_DEVICES_FILTER_ONUSB (USB0_DEV|SERIAL0_DEV|SERIAL1_DEV) |
| @@ -0,0 +1,85 @@ | |||
| # Amovlab Flycore | |||
There was a problem hiding this comment.
Please remove all changes in the docs/zh path. If you want to translate this, you join crowdin and provide a translation there - then that round-trips from the English version.
There was a problem hiding this comment.
Done — I have removed all changes under the docs/zh path in the latest update. Thanks for clarifying the translation workflow.
| <!-- | ||
| Insert description | ||
|
|
||
| Insert image | ||
| --> |
There was a problem hiding this comment.
Minimally we need an image and description here. That tells us things like what are the ports available.
There was a problem hiding this comment.
Done — I have added the board image and expanded the description to include the available ports and board-level details.
|
|
||
| ## Where to Buy {#store} | ||
|
|
||
| TBD |
There was a problem hiding this comment.
Where can people get this
There was a problem hiding this comment.
Done — I have added the availability/purchase information for the board.
|
@hamishwillee I also corrected the TELEM2 flow-control entry because the physical TELEM2 connector only exposes GND/RX/TX, and added the mechanical dimensions, mounting hole spacing, weight, and PWM rail power information. The |
|
The Flycore documentation link-check issues have been fixed separately. The current The build fails while processing:
with:
This does not seem to be caused by Please let me know if you would like me to wait for the upstream docs issue to be resolved and then update the branch again. |
|
Hi @hamishwillee , all checks are green now and the review comments have been addressed. Could you please take another look when convenient? Thanks! |
|
Hi @amovlgf Thanks for your updates - really helpful. One last docs thing. What connectors does the board use - I cant see. Are they the JS GH connectors defined in the Pixhawk standard connectors? If so, for which ports. If not, can you state what are used. It matters if people want to connect to them and easily get hold of a cable. @farhangnaderi Can you do a technical review of the board port, or suggest someone else please? I'm very nearly happy with the docs. |
|
Thanks for pointing this out. I have updated the Flycore documentation to clarify the connector types. The external peripheral connectors use JST-GH 1.25 mm pitch connectors. The Pinouts section now documents the connector pin definitions, with POWER using XT30. USB, SD card, RTK antenna, and exposed pads are documented separately. Please let me know if you would like the connector table adjusted to match a specific Pixhawk connector naming convention. |
What you have done is fine. If you want and it is accurate it is usual to note that "Flycore uses Pixhawk standard connectors" in the introduction - because it saves people a lot of effort. If not all of them match, such as the debug port, you might add "including X, Y, Z" for supported ports, or "with the exception of the Debug Port, X, Y, Z" depending on which ports are and are not. I'm not checking ;-) |
|
Thanks, that makes sense. I checked the Flycore connector definitions against DS-009 and avoided claiming that the board uses Pixhawk standard connectors. I updated the Connections section to say that Flycore uses Pixhawk-style port names for common interfaces such as TELEM, GPS, CAN, I2C, and RC, while the fitted connectors and pin assignments are board-specific and are not claimed to fully comply with the DS-009 Pixhawk Connector Standard. The Pinouts section is now called out as the authoritative connector definition for this board. POWER, USB, the SD card slot, RTK antenna interfaces, and the exposed buzzer, SWD, and UART8 debug console pads remain documented separately. |
farhangnaderi
left a comment
There was a problem hiding this comment.
@amovlgf Thanks, you need one more rebase. Conflicts again. Approved from my side.
|
Note the PID for the usb identifier hasn't been assigned yet. |
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
7493192 to
444cc48
Compare
Done, rebased on latest upstream/main. Thanks! |
|
@mrpollo I updated both the bootloader and application USB configurations, regenerated the bootloader binary, and verified that both |
boards: add Amovlab Flycore support
PR Description
Solved Problem
PX4 does not currently include an upstream board target for the Amovlab Flycore flight controller.
This means Flycore users need to maintain the board port out-of-tree in a downstream PX4 fork.
There is no linked GitHub issue; this is a new board port.
Solution
This PR adds board support for the Amovlab Flycore flight controller, an STM32H743-based FMU.
The new board support includes:
boards/amovlab/flycore/NuttX configuration, bootloader configuration, and board-level drivers (init.c,spi.cpp,i2c.cpp,timer_config.cpp,can.c, etc.)amovlab_flycore_defaultandamovlab_flycore_bootloadertargetsboard_id106 infirmware.prototyperc.board_sensorsBOARD_UAVCAN_TIMER_OVERRIDE=6because the buzzer uses TIM2 on PA15docs/en/flight_controller/amovlab_flycore.mddocs/zh/flight_controller/amovlab_flycore.mdThe board has no onboard magnetometer. External I2C1 and I2C4 are documented for optional user-installed GPS/compass modules.
CONFIG_COMMON_MAGNETOMETERis enabled so compatible external compass drivers can be started manually from NSH, but the default firmware does not start any magnetometer driver.Changelog Entry
For release notes:
Alternatives
CONFIG_COMMON_MAGNETOMETER,CONFIG_COMMON_INS, orCONFIG_MODULES_UXRCE_DDS_CLIENTto reduce flash usage. The current default build uses about 94.6% of the 1920 KB application flash region.SYS_AUTOSTARTvalue forFLYCORE0000.Test coverage
Build environment:
arm-none-eabi-gcc10.2.1Build tests:
make amovlab_flycore_default— passmake amovlab_flycore_bootloader— passHardware tests on Amovlab Flycore with the default firmware:
ver all— reports:HW arch: AMOVLAB_FLYCOREHW type: FLYCORE000000HW version/revision: 0x000listener sensor_accellistener sensor_gyrolistener sensor_barosensor_magis published unless a user starts an external compass driverboard_id106 — OKContext
make amovlab_flycore_defaultmake amovlab_flycore_bootloaderboards/amovlab/flycore/amovlgf:pr/amovlab-flycore-boardFlycore is similar to Pixhawk 6C class FMUs, with the following board-specific differences: