-
Notifications
You must be signed in to change notification settings - Fork 13.5k
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
gps(septentrio): add resilience information reporting #23096
base: main
Are you sure you want to change the base?
gps(septentrio): add resilience information reporting #23096
Conversation
81b9091
to
6f5cdc2
Compare
One note that jamming and spoofing state is used currently by the ublox driver. I did the implementation last year. https://github.com/PX4/PX4-GPSDrivers/blob/main/src/ubx.cpp#L2361-L2362 https://github.com/PX4/PX4-GPSDrivers/blob/main/src/ubx.cpp#L2120 |
I did indeed notice that the u-blox driver already provides this information to the rest of the system, but it isn't really used anywhere as far as I can tell. This PR would aim to send this information to ground control stations so they can display it to the user. I used the existing uORB topics from the u-blox implementation you mentioned, but added some things to send extra information like GNSS signal authentication state. |
68cdd4e
to
952b82f
Compare
This implementation should be ready, although there is one problem I don't know how to solve. The Septentrio driver uses This is also meant as a basic implementation of the new protocol that can be further implemented in the future. For example the RAIM fields in the new MAVLink message aren't used yet. This is also only implemented for the Septentrio driver for now. |
6e82821
to
eba7a76
Compare
I just noticed that most boards use the |
42dd167
to
08197bb
Compare
I've added a conditional include in mavlink_message.cpp as I've seen done with other types of messages using development.xml. I didn't have an issue with building when not using development.xml with this change. |
12f5219
to
09eb816
Compare
|
||
_message_gps_state.system_error = sensor_gps_s::SYSTEM_ERROR_OK; | ||
|
||
if (receiver_status.rx_error_cpu_overload) |
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.
This is minor, but can you make sure that even one line if statements have braces to prevent any accidents?
if (receiver_status.rx_error_cpu_overload) | |
if (receiver_status.rx_error_cpu_overload) { |
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.
I've added all the missing braces
This pull request has been mentioned on Discussion Forum for PX4, Pixhawk, QGroundControl, MAVSDK, MAVLink. There might be relevant details there: |
09eb816
to
0bf03a4
Compare
@dagar I've also double checked, the resilience values were already at 0 by default. It was probably already done when they were first created for Ublox. |
0bf03a4
to
9e61dd5
Compare
This pull request has been mentioned on Discussion Forum for PX4, Pixhawk, QGroundControl, MAVSDK, MAVLink. There might be relevant details there: |
Implement support for the new MAVLink `GNSS_INTEGRITY` message and add support to the Septentrio driver.
9e61dd5
to
1b96ab4
Compare
@dagar I added comments to make more clear which value were the default ones for the new fields but I'm not sure where you would expect them to be initialized to default other than the files where it's already the case in the modules and drivers folder. |
Would it be possible to have an update quickly on this PR, I'm coming at the end of my internship and any hardware testing won't be possible afterward on my part. |
Solved Problem
When errors occur in attached GNSS receivers, there is no way to report them to the user so they know what is going wrong.
Solution
Changelog Entry
For release notes:
Alternatives
/
Test coverage
/
Context
Another part has been implemented for QGroundControl to display this new information to users. This feature was proposed during the 2022 Developer Summit and received positive feedback. Messages to report jamming and spoofing state were already in the uORB protocol, but weren't used by any modules.
I would love to discuss this during the next Community Q&A call on Wednesday 🙂