-
Notifications
You must be signed in to change notification settings - Fork 17.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AP_Compass: don't publish frozen data #9549
AP_Compass: don't publish frozen data #9549
Conversation
seems to be a problem in the particular driver. What driver is that? |
@lucasdemarchi it is noticed with QMC5883L device. |
this doesn't look correct at all. It is quite possible for a compass to produce exactly static values while sitting on the ground awaiting takeoff. If this was used then the compass would show as unhealthy and the aircraft couldn't fly. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
most likely an issue with the specific sensor
@tridge unfortunatelly I've lost the log. Are you sure some compass normally could produce a static value without any noise? |
2ee1b5c
to
b6e4549
Compare
If @tridge can confirm that a sensor could reasonably produce absolutely consistent values for seconds then we can close this. Marked DevCall |
See also #9525 - which seeks to remove the equivalent stale-data check from all barometers.... |
doesn't this mean if we have a very low noise compass it will be marked unhealthy? that seems like a bad idea |
If this is an issue with a specific compass driver then I'd like the fix in that driver. |
I don't think this is a valid change without a log to back things up, and even if found we'd want to enable this in one driver |
This is a try to avoid a situation described in
https://discuss.ardupilot.org/t/compass-stop-working-but-remains-healthy/33205
when compass hangs up for some reason. It still can be read but does not provide any changes. So it stays healthy all the time:
(plz never mind the peaks, they're likely caused by a long wires)
This fix does monitor the values published and if they are equal for a number in a row ( > threshold), then publishing will stop till the values be different again. Stop of publish will lead to a bad compass health, that is the goal.