Skip to content

Septentrio resillience reporting#25012

Merged
dagar merged 34 commits intoPX4:mainfrom
Louis-max-H:pr-resillience2
Sep 24, 2025
Merged

Septentrio resillience reporting#25012
dagar merged 34 commits intoPX4:mainfrom
Louis-max-H:pr-resillience2

Conversation

@Louis-max-H
Copy link
Copy Markdown
Contributor

@Louis-max-H Louis-max-H commented Jun 11, 2025

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.

This PR is needed by QGC : mavlink/qgroundcontrol#13009
This is an update of PR made by @flyingthingsintothings #23096

Solution

  • Add automatic configuration for Septentrio receivers to report resilience information every second
  • Add to Septentrio parser so it can parse the new message
  • Change the uORB message for GNSS information to support this new
  • MAVLink message is in development.xml, you need to pass CONFIG_MAVLINK_DIALECT="development" to your default.px4board

Changelog Entry

For release notes:

Feature: Report resilience information from GNSS receivers
Documentation: Need to clarify page ...

Test coverage

  • I have tested this PR using a Septentrio receiver to emulate jamming, there was just a typo that has now been fixed.

Context

@DronecodeBot
Copy link
Copy Markdown

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-june-11-2025-team-sync-and-community-q-a/45976/1

@mrpollo mrpollo changed the title Pr resillience2 Septentrio resillience reporting Jun 12, 2025
Comment thread src/drivers/gnss/septentrio/CMakeLists.txt Outdated
Comment thread src/drivers/ins/vectornav/VectorNav.cpp Outdated
Copy link
Copy Markdown
Contributor Author

@Louis-max-H Louis-max-H left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have tested this version with Septentrio receiver and Jamming/Spoofing emulation.

Comment thread src/drivers/gnss/septentrio/CMakeLists.txt Outdated
Comment thread src/drivers/ins/vectornav/VectorNav.cpp Outdated
Comment thread src/drivers/gnss/septentrio/CMakeLists.txt Outdated
Comment thread src/modules/mavlink/streams/GNSS_INTEGRITY.hpp Outdated
Comment thread src/modules/mavlink/streams/GNSS_INTEGRITY.hpp Outdated
@Louis-max-H Louis-max-H marked this pull request as draft June 25, 2025 14:50
@Louis-max-H
Copy link
Copy Markdown
Contributor Author

Louis-max-H commented Jun 25, 2025

Hi 👋
Here is a quick update of this PR before the dev call,

  • Mavlink message have now 0 for default value (encoding 0 to 10 value to 1 to 11) has discussed in Mavlink discord channel. PR link : Update gnss quality info mavlink/mavlink#2293

  • I have renamed spoofing and jamming to match mavlink message :
    JAMMING_STATE_WARNING -> JAMMING_STATE_MITIGATED
    JAMMING_STATE_CRITICAL -> JAMMING_STATE_DETECTED
    SPOOFING_STATE_NONE -> SPOOFING_STATE_OK
    SPOOFING_STATE_INDICATED -> SPOOFING_STATE_MITIGATED
    SPOOFING_STATE_MULTIPLE -> SPOOFING_STATE_DETECTED

  • GNSS_INTEGRITY.hpp have been simplified, no more constant needed

  • I have tested my change with a Septentrio receiver

I need more time to check raim (default value is not 0 in mavlink message)
I will test on Ublox before re-opening this PR.

@DronecodeBot
Copy link
Copy Markdown

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-june-25-2025-team-sync-and-community-q-a/46161/3

@mrpollo
Copy link
Copy Markdown
Contributor

mrpollo commented Jun 25, 2025

@hamishwillee can you check wha'ts wrong with the docs ci?

@DronecodeBot
Copy link
Copy Markdown

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-june-25-2025-team-sync-and-community-q-a/46161/1

@hamishwillee
Copy link
Copy Markdown
Contributor

@hamishwillee can you check wha'ts wrong with the docs ci?

Yes, it's an error in a translation file that should have been removed. I'm fixing this in #25120

Copy link
Copy Markdown
Contributor

@dakejahl dakejahl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wouldn't it make more sense to create a new separate uORB message for this data? As far as I know this data is specific to Septentrio GPSs. If we used a separate publisher we wouldn't have the issue with zero initialization for these added fields, and this wouldn't impact any of the other GPS code. The GNSS_INTEGRITY mavlink stream could then subscribe to this new message, such that the mavlink message is only emitted when a septentrio receiver is connected and publishing.

@Louis-max-H
Copy link
Copy Markdown
Contributor Author

Louis-max-H commented Jul 2, 2025

I have updated this PR to :

  • Add uORB gps_status that include all 4 quality metrics
  • Update GNSS_INTEGRITY.hpp to :
    • Send one message when at least, sensor_gps or gps_status is updated
    • Set value to 0 for gps_sensor and 255 for gps_status when we have no data for a long time
  • Send gps status information in Septentrio receiver

I have tested on QGroundControl, values are correctly set for Septentrio receiver.
image

Feel free to ask me some changes if needed, I may have time to do it before the dev call :)

Ps: I am not passing SITL test, should I change something ?

Comment thread msg/CMakeLists.txt Outdated
Comment thread src/modules/mavlink/streams/GNSS_INTEGRITY.hpp Outdated
Comment thread src/modules/mavlink/streams/GNSS_INTEGRITY.hpp Outdated
@DronecodeBot
Copy link
Copy Markdown

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-sep-3-2025-team-sync-and-community-q-a/47287/1

@Tory9
Copy link
Copy Markdown
Contributor

Tory9 commented Sep 4, 2025

@dagar, hi. I have applied your suggestions and tested. let me know if I should adjust it more

@DronecodeBot
Copy link
Copy Markdown

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-sep-10-2025-team-sync-and-community-q-a/47336/1

Comment thread boards/cubepilot/cubeorangeplus/default.px4board Outdated
@Tory9
Copy link
Copy Markdown
Contributor

Tory9 commented Sep 10, 2025

hey @dagar, only MacOS build failed. is it ready for final review/ merge 🥺?

@DronecodeBot
Copy link
Copy Markdown

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-sep-17-2025-team-sync-and-community-q-a/47445/2

@hamishwillee
Copy link
Copy Markdown
Contributor

What's this waiting on now then @dagar - should we merge it?

@dagar dagar merged commit e71faf3 into PX4:main Sep 24, 2025
67 checks passed
@mrpollo
Copy link
Copy Markdown
Contributor

mrpollo commented Sep 24, 2025

Congrats @Tory9 @Louis-max-H

@hamishwillee
Copy link
Copy Markdown
Contributor

Congrats @Tory9 @Louis-max-H

And from me!

@Louis-max-H
Copy link
Copy Markdown
Contributor Author

Yes, thanks everyone !
It has been a good first experience with open source development : )

Antonio-Noel-Juarez pushed a commit to tamu-edu-students/PX4-Autopilot-Fork that referenced this pull request Oct 8, 2025
Co-authored-by: Tory9 <vvpost05@gmail.com>
kpbMarques pushed a commit to x-tidal/xtuav_px4_autopilot that referenced this pull request Oct 9, 2025
Co-authored-by: Tory9 <vvpost05@gmail.com>
mrpollo pushed a commit that referenced this pull request Nov 24, 2025
Co-authored-by: Tory9 <vvpost05@gmail.com>
@DronecodeBot
Copy link
Copy Markdown

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/gps-jamming-and-spoofing/48265/2

mbjd pushed a commit that referenced this pull request Feb 17, 2026
Co-authored-by: Tory9 <vvpost05@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants