ArduPilot / ArduPilot/MAVProxy

PingRX ADS-B causes MAVProxy to lose flight mode mapping

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

Description

Making an issue from this discuss post:
https://discuss.ardupilot.org/t/pingrx-spamming-mavlink/38472/8?u=anubis

Basically, when I have a PingRX plugged in and ADSB_ENABLED = 1, MAVProxy doesn't know what flight modes are available. I get these errors when trying to change or list flight modes:

```
LOITER> loiter
LOITER> ERROR in command: argument of type 'NoneType' is not iterable
Unknown command 'loiter'
```
```
LOITER> mode
LOITER> No mode mapping available
```

My guess is that the Ping's heartbeats are being handled as flight controller heartbeats, and fails to get a flight mode list because the MAV_AUTOPILOT parameter (or whichever is used to determine available flight modes) is 0. I suppose Mavproxy should be able to discriminate heartbeats based on their component ID or type.

Peter Barker [added a provision to pymavutil](https://github.com/ArduPilot/pymavlink/pull/270) to do this, but I'm still experiencing flight mode problems after applying this fix.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the reported MAVProxy flight-mode commands and the pymavutil provision in pymavlink pull request 270. Reproduce with a PingRX connected and ADSB_ENABLED=1, then trace how heartbeats are classified and how the mode mapping is selected. Done means MAVProxy lists and changes flight modes without the reported errors.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.