[Not sure if this should be considered an ArduPilot/MAVLink issue or a MAVLink/MAVLink upstream one but feel here's the best place to start]
The "ardupilotmega" dialect defines a RADIO message with the same field names and types as the "common" RADIO_STATUS message (with a different ID).
ArduPilot appears to treat both messages the same in MAVLink handling code, e.g.: https://github.com/ArduPilot/ardupilot/blob/master/ArduCopter/GCS_Mavlink.cpp#L1283 .
In ardupilotmega against the RADIO message, txbuf is described as being How full the tx buffer is as a percentage [ https://mavlink.io/en/messages/ardupilotmega.html#RADIO , https://github.com/ArduPilot/mavlink/blob/master/message_definitions/v1.0/ardupilotmega.xml#L1236 ] and in common, the inverse (Remaining free transmitter buffer space) [ https://mavlink.io/en/messages/common.html#RADIO_STATUS , https://github.com/ArduPilot/mavlink/blob/master/message_definitions/v1.0/common.xml#L4092 ] for RADIO_STATUS.
Sending a RADIO message to ArduPilot with txbuf set to 0 to indicate, according to its description, that "the tx buffer" is 0% full leads to it throttling back messaging (see GCS_MAVLINK::handle_radio_status()).
Is the ardupilotmega description of the RADIO messages txbuf flag in need of correction? Should the RADIO and RADIO_STATUS messages be treated differently?
[Not sure if this should be considered an
ArduPilot/MAVLinkissue or aMAVLink/MAVLinkupstream one but feel here's the best place to start]The "ardupilotmega" dialect defines a
RADIOmessage with the same field names and types as the "common"RADIO_STATUSmessage (with a different ID).ArduPilot appears to treat both messages the same in MAVLink handling code, e.g.: https://github.com/ArduPilot/ardupilot/blob/master/ArduCopter/GCS_Mavlink.cpp#L1283 .
In ardupilotmega against the
RADIOmessage,txbufis described as beingHow full the tx buffer isas a percentage [ https://mavlink.io/en/messages/ardupilotmega.html#RADIO , https://github.com/ArduPilot/mavlink/blob/master/message_definitions/v1.0/ardupilotmega.xml#L1236 ] and in common, the inverse (Remaining free transmitter buffer space) [ https://mavlink.io/en/messages/common.html#RADIO_STATUS , https://github.com/ArduPilot/mavlink/blob/master/message_definitions/v1.0/common.xml#L4092 ] forRADIO_STATUS.Sending a
RADIOmessage to ArduPilot withtxbufset to 0 to indicate, according to its description, that "the tx buffer" is 0% full leads to it throttling back messaging (seeGCS_MAVLINK::handle_radio_status()).Is the ardupilotmega description of the
RADIOmessagestxbufflag in need of correction? Should theRADIOandRADIO_STATUSmessages be treated differently?