GNSS Spoofing Warning Sensitivity Adjustment #25144
Merged
+0
−23
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Solved Problem & Solution
The GNSS spoofing warning was previously too sensitive, as it relied solely on the GNSS message to trigger a warning—even though spoofing detection is also covered by the GNSS checks.
Removed spoofing warnings based solely on the GNSS message (still gets logged per state change by driver)
https://github.com/PX4/PX4-Autopilot/blob/main/src/drivers/gps/gps.cpp#L1212
Users receive a spoofing warning only once per state change, and only when the spoofing-check is enabled.
https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/commander/HealthAndArmingChecks/checks/estimatorCheck.cpp#L259-L273
The spoofing check triggers a failure only if the driver explicitly reports a critical spoofing case (SPOOFING_STATE_MULTIPLE).
https://github.com/PX4/PX4-Autopilot/blob/main/src/modules/ekf2/EKF2.cpp#L2449
GNSS jamming detection remains unchanged: if the driver reports jamming, repeated warnings are still sent to the user immediately.
Test coverage
Tested in sim.