[1.14] fmu-v6x: add crossfire UART driver #22619
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Solved Problem
When seeing https://youtu.be/LKpMfl6EHOQ?t=1107 I realized that the driver to support hooking up a Crossfire receiver to a UART port like Telem1/2, GPS2, ... which I happily use on a Holybro pixhawk 4 (fmu-v5) is not contained in the fmu-v6x build which made it not straight forward for Joshua in the video and also leads to the documentation suggesting to manually rebuild the firmware with the driver included: https://docs.px4.io/main/en/telemetry/crsf_telemetry.html#firmware-configuration-build
Solution
Add Kconfig target
COMMON_RC
for v6x which only contains the crossfire driver so far:PX4-Autopilot/src/drivers/rc/Kconfig
Lines 2 to 5 in 071565a
Changelog Entry
Alternatives
We could leave this but document and test they way of using Crossfire through the IO (without telemetry?) which should work out of the box but I never used.
Ideally, we eventually have a consistent way of using it documented across the supported boards.
Test coverage
I currently don't have a v6x board at hand to test but I could make that happen given enough time. On v5 it works flawlessly.
Context
It adds 5.66kb to the v6x release build and brings it from 99.3% to 99.59% flash usage which is not great for people adding customizations on top of the release because they will quickly need to remove. Also I don't add it to other boards so e.g. a pixracer (v4) could be next. Is the alternative better?