-
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.
|
||
|
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.
Remove unnecessary empty lines at the end of the function.
Copilot uses AI. Check for mistakes.
if(!_activeVehicle){ | ||
return qsTr("Disconnected") | ||
} else if (_activeVehicle.gps.authenticationState.value === 0) { | ||
return qsTr("Unkown") |
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.
Fix spelling error: 'Unkown' should be 'Unknown'.
Copilot uses AI. Check for mistakes.
} else if (_activeVehicle.gps.systemErrors.value === 64) { | ||
return qsTr("Output congestion") | ||
} | ||
return "Multiple errors" |
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.
The string should use qsTr() for translation consistency with other UI strings in the function.
return "Multiple errors" | |
return qsTr("Multiple errors") |
Copilot uses AI. Check for mistakes.
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.