ardupilot
ardupilot copied to clipboard
GPS/SBF: Non consequentual gps errors are counted as bad GPS health
Bug report
Non consequential errors reported by a Septentrio GPS, such as a congestion on an unrelated port (error 0x40) or a full sd card (error 0x200 ref) cause the GPS to be counted as unhealthy, which may inhibit arming.
Version
visible on current master (ce8745496930fad7b530d3e2f7ade02e27b9d12d) Relevant code: https://github.com/ArduPilot/ardupilot/blob/ce8745496930fad7b530d3e2f7ade02e27b9d12d/libraries/AP_GPS/AP_GPS_SBF.cpp#L697-L699
Platform [x] All [ ] AntennaTracker [ ] Copter [ ] Plane [ ] Rover [ ] Submarine
Airframe type (inconsequential) X500
Hardware type Pixhawk + Septentrio X5
Logs TODO
Do they only prevent arming or also using GPS for navigation after arming? If it is only the former I would consider that ok, as either thing indicates the GPS is not under correct conditions (matching configuration). Later could be really bad.
SD-card-full could be a critical mission problem for some users - and it would seem if it is inconsequential the user could clear the SD card and disable logging.
The port congestion issue also sounds like it should be fixed in the GPS configuration.
In our case the port congestion is caused by our USB side not being active, which is nothing the Pilot should be concerned with, rather "Mission Control" talking to the USB side, and seeing any errors pop up saying "unhealthy GPS" may confuse the pilot and distract during debugging
GPS not operating as expected absolutely should concern the pilot as it is putting either the mission or the vehicle at risk. Avionics should not emmit error messages during normal operation.
I think we have to say that the sanity checks are appropriate for normal operation of the vehicle.
We can't remove the sanity checks for normal operation to aid in debugging - I'm afraid I think that's on the poor sod trying to debug things.
Closing this one - if you really want to argue it please re-open and I'll take it to a DevCall for another opinion.