Support for new MavLink v2.3 RC_CHANNELS_OVERRIDE (18Ch Extension)

Dear developers,

afaik ArduCopter 3.5 onwards supports the overhauled MavLink v2 protocol. Recently in MavLink v2.3 an extension for RC_CHANNELS_OVERRIDE supporting up to 18 channels was standardized (up until now it was just 8Ch). Does Arducopter yet support this feature?
https://mavlink.io/en/messages/common.html#RC_CHANNELS_OVERRIDE

We are really struggling to get this to work. We’ve setup a small test environment and compiled the latest MavLink v2 library on a ESP32 (we did so to have better debugging possibilities). From there we are generating according RC_CHANNEL_OVERRIDE MavLink messeages and feed them into a PIxhawk running the latest ArduCopter developer build (serial port protocol is set to Mavlink v2).
We can happily see the Channels 1-8 moving in mission planner. However Channels 9-18 show no reaction.
We also checked with a logic analyser that the messages are correct and indeed channels 9-18 are transfered to the Pixhawk correctly. However they do not seem to get interpreted. Are we missing something?

Sidenote: Browsing through Mission planner (parameter tree) we also noticed that it only seems to support 16Ch as of now. Maybe an indication the the 18Ch Extension is not yet implemented?

Any hints and help getting this to work are very much appreciated!
Thank you very much in advance!

I am not a programmer but I digged a bit in the ArduCopter GitHub repository - not sure if it is the correct file to search for this:

Looks as if ArduCopter indeed does only support 8 Channels via RC_CHANNELS_OVERRIDE.

@rmackay9: May I kindly ask to add support for the Mavlink v2.3 Extension messages for RC_CHANNELS_OVERRIDE for up to 18 Channels in one of the next releases please?
That would be awesome! (link: https://mavlink.io/en/messages/common.html#RC_CHANNELS_OVERRIDE)

Thank you very much.
P.S: Should I open an issue in the respective GitHub section or are you using your own issue/feature tracker?

Yes, please open an issue on github.

Thank you very much @amilcarlucas … opened a according Githut issue here: https://github.com/ArduPilot/ardupilot/issues/9472 … hoping this is the correct place? Thank you very much!

I’m looking into this and I’m not sure what I am missing. In common.xml the addition 8 channels are defined with an tag, and some of the code appears to be generated by mavgen.py. How can i enable the extension functionality and mavgen.py only has options for version 0.9 or 1.0. Can anyone offer a little more direction on how mavlink code gets implemented? I will reread the developers guide and keep digging.

I found all the info I needed by reading the makefiles. Thanks. After testing I’m going to try to submit a pull request. The changes were only needed in GCS_Mavlink.c

2 Likes