-
Notifications
You must be signed in to change notification settings - Fork 4.3k
GNSS Resilience with Septentrio #13009
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
base: master
Are you sure you want to change the base?
Conversation
Let me know when that PX4 PR gets merged |
This pull request has been mentioned on Discussion Forum for PX4, Pixhawk, QGroundControl, MAVSDK, MAVLink. There might be relevant details there: https://discuss.px4.io/t/px4-dev-call-aug-06-2025-team-sync-and-community-q-a/46826/2 |
This pull request has been mentioned on Discussion Forum for PX4, Pixhawk, QGroundControl, MAVSDK, MAVLink. There might be relevant details there: https://discuss.px4.io/t/px4-dev-call-aug-06-2025-team-sync-and-community-q-a/46826/1 |
This pull request has been mentioned on Discussion Forum for PX4, Pixhawk, QGroundControl, MAVSDK, MAVLink. There might be relevant details there: https://discuss.px4.io/t/px4-dev-call-aug-13-2025-team-sync-and-community-q-a/46972/2 |
@HTRamsey, hello. The PX4 side was merged this week. Can this pr be reviewed again ? |
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.
Pull Request Overview
This PR adds GNSS resilience support with interference detection and authentication features for GPS receivers, particularly targeting Septentrio hardware integration. The implementation provides real-time monitoring of jamming, spoofing attacks, and authentication status through new toolbar indicators and vehicle telemetry.
- Adds new GPS fact fields for spoofing state, jamming state, authentication state, and various quality metrics
- Implements two new toolbar indicators for GPS interference and authentication status display
- Integrates GNSS integrity message handling from MAVLink development dialect
Reviewed Changes
Copilot reviewed 14 out of 16 changed files in this pull request and generated 3 comments.
Show a summary per file
File | Description |
---|---|
src/Vehicle/FactGroups/VehicleGPSFactGroup.h | Adds new fact properties for GNSS resilience monitoring |
src/Vehicle/FactGroups/VehicleGPSFactGroup.cc | Implements GNSS integrity message handling and fact initialization |
src/Vehicle/FactGroups/GPSFact.json | Defines metadata for new GPS resilience facts with enums |
src/UI/toolbar/GPSInterferenceIndicator.qml | Creates interference status indicator with jamming/spoofing display |
src/UI/toolbar/GPSAuthenticationIndicator.qml | Creates authentication status indicator with color-coded states |
src/FirmwarePlugin/FirmwarePlugin.cc | Registers new toolbar indicators in the UI |
translations/qgc-json.ts | Adds translation strings for new GPS fact descriptions |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
@HTRamsey thank you for the review, I have applied the suggested changes |
Looks good to me but I'll get Don to double check. Only comment I have (and it's not required but would be nice) would be to use an enum and switch in the QML files kinda similar to how this is done in RemoteIDSettings.h/RemoteIDSettings.qml |
Actually can't you just return the enum string from the fact in qml for spoofingState, jammingState, and authenticationState? |
…state text mapping
Thank you, I applied the suggestion. Let me know if it looks better now. I have limited access to hardware to test these new changes, but if you confirm the code is fine, I’ll test the final version on hardware and let you know that everything works as expected |
Add support for GNSS receiver resilience information
Depend on this PX4-Autopilot PR : PX4/PX4-Autopilot#25012
Original PR : #11781
Description
This PR is mostly taken from @chiara-septentrio and @flyingthingsintothings PR.
The code is mostly the same, I have improved a little code structure and move some files to update code structure
If you want to have resilience information, you should use this PR of PX4 : PX4/PX4-Autopilot#25012
And set
CONFIG_MAVLINK_DIALECT="development"
to yourdefault.px4board
Test Steps
I have used a Septentrio emulator that emulate Jamming, Spoofing and Authentication attacks which was impossible to test before.
The functionality run smoothly in all cases, tell me if you need a video of demonstration or something's else to merge the PR 😃
Checklist:
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.