Add missing identifiers for commonly used flight controllers#3884
Add missing identifiers for commonly used flight controllers#3884gaojulong wants to merge 1 commit intobluerobotics:masterfrom
Conversation
This update adds missing board identifiers for commonly used flight controllers that were not previously recognized.
Reviewer's guide (collapsed on small PRs)Reviewer's GuideThis PR extends the ArduPilot manager’s serial board identification table by adding product strings for additional common flight controllers so they can be correctly mapped to their corresponding platforms during detection. Class diagram for extended serial board identification mappingclassDiagram
class SerialBoardIdentifier {
+SerialAttr attribute
+string id_value
+Platform platform
}
class SerialAttr {
<<enumeration>>
product
vendor
serial_number
}
class Platform {
<<enumeration>>
Pixhawk1
Pixhawk4
Pixhawk6X
Pixhawk6C
CubeOrange
}
class SerialBoardIdentificationTable {
+SerialBoardIdentifier FMUv3x_Pixhawk1
+SerialBoardIdentifier Pixhawk4_Pixhawk4
+SerialBoardIdentifier FMUv5x_Pixhawk4
+SerialBoardIdentifier CUAVv5_Pixhawk4
+SerialBoardIdentifier Pixhawk6X_Pixhawk6X
+SerialBoardIdentifier FMUv6Xx_Pixhawk6X
+SerialBoardIdentifier FMUv6Cx_Pixhawk6C
+SerialBoardIdentifier CubeOrange_CubeOrange
}
SerialBoardIdentifier --> SerialAttr : uses
SerialBoardIdentifier --> Platform : maps_to
SerialBoardIdentificationTable "1" --> "*" SerialBoardIdentifier : contains
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 99d08bc. Configure here.
| SerialBoardIdentifier(attribute=SerialAttr.product, id_value="FMU v3.x", platform=Platform.Pixhawk1), | ||
| SerialBoardIdentifier(attribute=SerialAttr.product, id_value="Pixhawk4", platform=Platform.Pixhawk4), | ||
| SerialBoardIdentifier(attribute=SerialAttr.product, id_value="FMU v5.x", platform=Platform.Pixhawk4), | ||
| SerialBoardIdentifier(attribute=SerialAttr.product, id_value="CUAVv5", platform=Platform.Pixhawk4), |
There was a problem hiding this comment.
CUAVv5 mapped to wrong firmware platform
High Severity
The CUAVv5 board is mapped to Platform.Pixhawk4, but CUAVv5 has its own distinct firmware in the ArduPilot manifest (platform name "CUAVv5"). Since platform.value is used directly to query the manifest for firmware downloads, this mapping causes the system to download and install Pixhawk4 firmware onto CUAVv5 hardware. These boards have different sensor configurations, pin mappings, and peripheral assignments, so running the wrong firmware on a flight controller is a safety concern. A dedicated Platform enum entry for CUAVv5 is needed.
Reviewed by Cursor Bugbot for commit 99d08bc. Configure here.


This update adds missing board identifiers for commonly used flight controllers that were not previously recognized.
Summary by Sourcery
Add support for additional flight controller board identifiers in the ArduPilot manager detector.
New Features: