ArduPilot / ArduPilot/MAVProxy
Erroneous `link %u down` message with sysid outputs
- 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