ArduPilot/ardupilot

MAVlink library prevents OSD from receiving RSSI from 3DR modems

Aperta

#5275 aperta il 25 nov 2016

 (6 commenti) (0 reazioni) (1 assegnatario)C++ (15.603 fork)batch import
EnhancementLibraryMAVLinkgood first issue

Metriche repository

Star
 (9336 stelle)
Metriche merge PR
 (Merge medio 26g 16h) (166 PR mergiate in 30 g)

Descrizione

Issue details

file https://github.com/ArduPilot/ardupilot/blob/master/libraries/GCS_MAVLink/MAVLink_routing.cpp

lines starting 103

if (msg->msgid == MAVLINK_MSG_ID_RADIO ||
        msg->msgid == MAVLINK_MSG_ID_RADIO_STATUS) {
        // don't forward RADIO packets
        return true;
    }

this code fully filters out MAVLINK_MSG_ID_RADIO_STATUS and MAVLINK_MSG_ID_RADIO messages so no one module (and OSD too) can't see RSSI from 3DR modems.

So in Copter 3.1 3DR RSSI is working, and definitely not working on Copter 3.3/3.4. All OSD users logically consider that it is problem of OSD itself

This messages should be filtered out only on port from which they are comes, and be routed to all another MAVlink ports. Or even better to route this message to all ports and filter them out in 3DR modem firmware.

Guida contributor