GPS: Add support for GNSS receiver resilience information
Added support for GNSS receivers' resilience information
Description
This pull request modifies the UI to adapt to the resilience information for GPS interference (jamming and spoofing) as well as status for the GPS that were both recently added to mavlink. These changes only impact users that have GPS that use those mavlink messages, otherwise nothing new will show and it won't crowd the UI.
Interference
For interference, the status are shown with a new icon that colors depending on the status:
| Status | Color | Example |
|---|---|---|
| Unknown (default) | None, the icon won't show | N/A |
| OK | White | |
| Mitigated | Orange | |
| Ongoing | Red |
A drop-down menu will then allow user to have more insight into the kind of interference happening, for example:
| Example of mitigated interference | Example of interference |
|---|---|
| Note: the lower-case 'i' has been fixed later |
Authentication
GNSS authentication is another way to check for interference, for example using Galileo OSNMA. An icon was also added for this purpose the same as the interference with a drop-down menu :
| Status | Color | Example |
|---|---|---|
| Unknown (default) | None, the icon won't show | N/A |
| OK | White | |
| Initializing/In progress | Yellow | |
| Ongoing | Red | |
| Available but sisabled | Gray |
GPS Status
The added GPS status message allow to know the error concerning the GPS. If one or more error happen, to warn the user, the GPS icon will turn red and a field, GPS status, will be added to the drop-down menu (it isn't visible otherwise).
| Status | Example |
|---|---|
| One error | |
| Multiple errors |
NB
- I am more than willing to discuss any changes to the UI to improve this pull request, and implement them.
Test Steps
I used PX4 with the resilience message enabled with a Pixhawk4 and a Septentrio Mosaic go. Not all status could be easily recreated, interference was hard-coded to test its impact on the UI and not all error were tested, only ones that could be provoked. As of creating this pull request, the resilience PR has to be approved after a minor style change and its logic will not be modified, it can be safely used for testing.
Checklist:
- [x] Review Contribution Guidelines.
- [x] Review Code of Conduct.
- [x] I have tested my changes.
Related Issue
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
@julianoes Would it be possible to have some feedback on it shortly? I unfortunatly will soon finish my internship and will have a harder time testing changes
@chiara-septentrio thanks for this. I've put it on my list for next week when I'm back.
@chiara-septentrio if you have plans to do an update to this, I am definitely interested in it
@HTRamsey @chiara-septentrio
Hi guys, it seems this has gone stale. Are there any plans to merge this to master? We are very interested in having it merged.
Thanks,
@SkycutterUAS just need them to resolve conflicts, but looks like they haven't been active in some time
Seems someone else will have to do it https://github.com/PX4/PX4-Autopilot/pull/23096#issuecomment-2306965020