I’m developing a custom Ground Control Station (GCS) for my UAV project, and I’m trying to get full telemetry link quality data directly from my telemetry radios. My telemetry radio supports the RADIO_STATUS (ID 109) MAVLink message, which reports fields like RSSI, remote RSSI, noise levels, TX buffer, and packet error counts. However, in my custom GCS I cannot see RADIO_STATUS by default. Behavior I’m seeing: If I first connect to the drone with Skydroid GCS, I can see RADIO_STATUS messages appearing in Skydroid. If I then close Skydroid GCS and connect my custom GCS, I still receive RADIO_STATUS normally. But if I reboot the drone and connect only my custom GCS (without using Skydroid first), I no longer receive RADIO_STATUS. It seems Skydroid GCS is doing something during the initial connection that causes the radio to start injecting RADIO_STATUS messages into the MAVLink stream. My GCS is not doing that yet.
Question: Has anyone else faced this? What handshake or initial packet do I need to send to trigger RADIO_STATUS injection right after connection, without having to use Skydroid first? Thanks in advance!
Well, I think only Skydroid knows the answer to it.
Radios should start injecting RADIO_STATUS messages as soon as they start receiving/sending mavlink data.
You could try capture the telemetry stream when connecting with a SkyDroid and look for clues.
I’ve noticed the same behavior when using the Mission Planner mobile app with the T12 transmitter. Right after connection, the transmitter makes a beep sound and then starts sending RADIO_STATUS messages.
In my custom GCS, this doesn’t happen unless I first connect with Mission Planner mobile app or Skydroid GCS. I’m trying to understand what exactly is being triggered during the connection phase.
I’d really appreciate any insights or guidance on whether a specific MAVLink message or handshake needs to be sent to enable RADIO_STATUS injection. Thank you so much in advance for your help!