ArduPilot / ArduPilot/MAVProxy

Erroneous `link %u down` message with sysid outputs

Open
#453 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
595
Forks
773
Avg merge
2d 6h
Merged PRs (30d)
18

Description

If sysid outputs cover all sysid's coming into MAVProxy, MAVProxy erroneously reports `link %u down`.
Cause is likely the early return from `master_callback()` in [mavproxy_link.py:286](https://github.com/ArduPilot/MAVProxy/blob/7716afd78c0e5fafec9d7b1df3c3c62a611fb302/MAVProxy/modules/mavproxy_link.py#L286). This early return prevents the master's `last_message` time from being updated when all messages are handled by sysid outputs. This results in the timeout that causes the `link %u down`.

Rather than having sysid outputs exclusively handle messages for a specific sysid, could the sysid outputs instead receive a copy of the message? The message can then continue to be processed as normal, being sent over non-sysid outputs too. This was the behaviour I expected initially.

May be impacted by changes in issues #443 and #444

Contributor guide

No contributing guide indexed for this repository

Research direction

Start in MAVProxy/modules/mavproxy_link.py at master_callback(), especially around line 286, and review the early return described in the issue. Check how sysid outputs affect message handling and the master's last_message time, then review issues #443 and #444. Done means sysid outputs receive the message while normal processing continues and link-down timeouts no longer occur in this case.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
cli
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.