ArduPilot/ardupilot

MAVlink library prevents OSD from receiving RSSI from 3DR modems

Open

#5,275 opened on Nov 25, 2016

View on GitHub
 (6 comments) (0 reactions) (1 assignee)C++ (15,603 forks)batch import
EnhancementLibraryMAVLinkgood first issue

Repository metrics

Stars
 (9,336 stars)
PR merge metrics
 (Avg merge 26d 16h) (166 merged PRs in 30d)

Description

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.

Contributor guide