Skip to content

Conversation

Louis-max-H
Copy link
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

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
Copy link
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.

@Louis-max-H Louis-max-H marked this pull request as draft June 25, 2025 14:50
@Louis-max-H
Copy link
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

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
Contributor

mrpollo commented Jun 25, 2025

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

@DronecodeBot
Copy link

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
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
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
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 ?

@Tory9
Copy link
Contributor

Tory9 commented Sep 2, 2025

Hi @dagar! I just wanted to check in and see if there’s any feedback or changes I can address in preparation for the call tomorrow?

@DronecodeBot
Copy link

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
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

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

@Tory9
Copy link
Contributor

Tory9 commented Sep 10, 2025

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

@DronecodeBot
Copy link

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
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
Contributor

mrpollo commented Sep 24, 2025

Congrats @Tory9 @Louis-max-H

@hamishwillee
Copy link
Contributor

Congrats @Tory9 @Louis-max-H

And from me!

@Louis-max-H
Copy link
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>
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