Jacob Dahl
0d1fa8d64c
fix(gps): split RTCM corrections and moving-baseline uORB topics
...
The single gps_inject_data topic served two unrelated purposes:
external fixed-base RTCM corrections (from MAVLink GPS_RTCM_DATA or
UAVCAN RTCMStream) and moving-base-to-rover RTCM 4072. In a
dual-GPS-with-moving-base plus fixed-base setup, the two streams
collided on the same queue and the FMU UAVCAN bridge mirrored
fixed-base RTCM onto the MovingBaselineData CAN message, breaking
rover heading or RTK fix (see PX4/PX4-Autopilot#27088 ).
Split by role:
- rtcm_corrections (renamed from gps_inject_data): external RTCM
flowing into the vehicle; producers are
MAVLink, UAVCAN RTCMStream, and GPS drivers in
dump mode.
- rtcm_moving_baseline (new): moving-base GPS output intended for a
rover; single producer per vehicle.
GPS driver routes publishRTCMCorrections() based on a new
GPSHelper::isMovingBase() virtual (overridden in UBX). Septentrio's
publish_rtcm_corrections() always publishes to rtcm_moving_baseline
(only the Secondary moving base calls it). Rover-side consumers
(gps, septentrio, uavcan bridge) drain both topics independently;
each gets its own stale-link switchover state.
FMU UAVCAN bridge: two independent drain loops, one per topic. No
more dual-publish of a single uORB message onto both RTCMStream and
MovingBaselineData CAN streams.
CANnode MovingBaselineDataPub subscribes to rtcm_moving_baseline and
drops the bus_type == UAVCAN heuristic that was papering over the
conflation. CANnode RTCMStream subscriber switches to
PublicationMulti so multiple CAN RTCM sources coexist (e.g. dual
rovers outputting MSM7 for logging plus a fixed-base feed).
Signed-off-by: Jacob Dahl <dahl.jakejacob@gmail.com >
2026-04-15 17:26:08 -08:00
..
2026-04-13 09:06:11 -07:00
2026-04-13 09:06:11 -07:00
2026-04-13 09:06:11 -07:00
2026-03-04 10:01:40 +01:00
2025-07-28 17:07:08 +02:00
2023-03-16 11:55:45 +01:00
2023-03-06 09:51:22 -05:00
2022-10-19 19:36:47 -04:00
2023-09-08 15:28:16 -04:00
2025-11-04 17:22:10 +01:00
2025-08-14 19:39:52 +10:00
2025-08-06 11:34:29 +02:00
2025-10-02 15:17:40 +02:00
2025-06-17 09:05:22 +02:00
2022-10-19 19:36:47 -04:00
2022-11-14 09:26:14 -05:00
2022-10-19 19:36:47 -04:00
2022-10-19 19:36:47 -04:00
2024-03-20 12:38:47 -04:00
2025-08-14 19:39:52 +10:00
2026-04-15 17:26:08 -08:00
2022-10-19 19:36:47 -04:00
2025-09-30 11:23:09 +02:00
2022-10-19 19:36:47 -04:00
2024-07-19 14:33:36 +02:00
2023-07-24 13:10:31 +02:00
2024-07-19 14:33:36 +02:00
2022-10-19 19:36:47 -04:00
2022-10-19 19:36:47 -04:00
2022-10-19 19:36:47 -04:00
2026-02-20 15:16:43 +01:00
2025-10-24 06:07:28 +11:00
2024-09-09 15:40:40 +02:00
2024-09-16 09:11:23 +02:00
2025-07-22 23:17:58 -08:00
2025-01-26 23:05:39 -05:00
2026-03-17 16:38:33 -08:00
2026-03-17 16:38:33 -08:00
2026-03-18 10:52:59 +01:00
2026-03-17 16:38:33 -08:00
2026-04-01 15:01:31 +02:00
2024-11-22 15:13:47 +01:00
2024-06-17 15:30:42 -04:00
2022-12-20 10:23:56 -05:00
2024-06-26 11:05:38 +02:00
2024-07-10 10:43:55 -04:00
2026-04-02 16:20:19 +02:00
2024-07-09 16:31:11 +02:00
2024-06-26 11:05:38 +02:00
2022-10-19 19:36:47 -04:00
2022-10-19 19:36:47 -04:00
2024-06-26 11:05:38 +02:00
2025-12-16 10:10:37 +01:00
2026-03-13 17:46:31 +01:00
2026-04-13 14:23:51 +02:00
2025-09-30 11:23:09 +02:00
2023-10-31 15:57:59 -04:00
2025-05-26 14:47:38 +02:00
2025-05-26 14:47:38 +02:00
2026-01-14 17:01:11 +01:00
2024-02-06 17:32:09 +01:00
2022-10-19 19:36:47 -04:00
2022-10-19 19:36:47 -04:00
2022-10-19 19:36:47 -04:00
2024-06-17 12:58:46 -07:00
2025-11-27 17:33:06 +01:00
2022-10-19 19:36:47 -04:00
2023-11-22 21:45:02 -05:00
2024-03-08 17:26:04 +01:00
2026-01-16 11:33:45 +01:00
2025-10-14 11:45:43 -08:00
2024-12-18 07:51:40 +01:00
2022-10-19 19:36:47 -04:00
2022-10-19 19:36:47 -04:00
2025-02-18 14:38:11 +01:00
2022-10-19 19:36:47 -04:00
2022-10-19 19:36:47 -04:00
2023-06-19 07:58:21 +02:00
2025-12-17 17:48:30 +01:00
2023-06-19 07:58:21 +02:00
2023-06-19 07:58:21 +02:00
2025-12-16 08:36:02 -09:00
2022-10-24 13:22:26 +02:00
2022-10-19 19:36:47 -04:00
2022-10-19 19:36:47 -04:00
2022-10-19 19:36:47 -04:00
2025-11-25 13:15:44 +01:00
2025-06-02 16:50:30 +02:00
2022-10-19 19:36:47 -04:00
2024-04-25 08:23:32 +02:00
2022-10-19 19:36:47 -04:00
2022-10-19 19:36:47 -04:00
2022-11-22 13:46:25 -05:00
2022-10-19 19:36:47 -04:00
2022-10-19 19:36:47 -04:00
2026-02-17 09:26:38 +01:00
2022-10-19 19:36:47 -04:00
2024-05-29 11:56:50 +02:00
2024-04-29 14:02:09 +12:00
2022-10-19 19:36:47 -04:00
2022-10-19 19:36:47 -04:00
2025-07-23 11:13:11 +02:00
2022-10-19 19:36:47 -04:00
2026-02-08 20:51:31 -07:00
2023-12-01 13:11:00 -05:00
2024-07-19 14:33:36 +02:00
2024-01-30 11:25:37 -05:00
2024-03-08 17:26:04 +01:00
2022-10-19 19:36:47 -04:00
2024-08-08 13:37:36 +02:00
2024-08-14 11:08:02 +02:00
2025-07-25 09:42:12 -08:00
2023-03-06 22:43:41 +01:00
2024-07-16 11:07:03 +02:00
2023-11-22 22:14:50 -05:00
2022-10-19 19:36:47 -04:00
2024-09-02 16:20:10 +12:00
2024-09-02 16:20:10 +12:00
2024-09-02 16:20:10 +12:00
2024-09-02 16:20:10 +12:00
2024-08-07 11:12:52 +02:00
2022-10-19 19:36:47 -04:00
2022-10-19 19:36:47 -04:00
2024-03-08 16:28:24 -05:00
2024-03-11 13:52:22 -04:00
2024-03-11 13:52:22 -04:00
2024-03-11 13:52:22 -04:00
2024-07-19 14:33:36 +02:00
2022-10-19 19:36:47 -04:00
2022-10-19 19:36:47 -04:00
2022-10-19 19:36:47 -04:00
2025-02-18 14:33:16 +01:00
2025-07-28 10:57:56 +02:00
2022-10-19 19:36:47 -04:00
2022-10-19 19:36:47 -04:00
2022-10-19 19:36:47 -04:00
2022-10-19 19:36:47 -04:00
2025-09-18 17:33:36 +10:00
2025-01-14 14:55:34 +01:00
2025-07-28 17:07:08 +02:00
2022-12-09 16:49:41 -05:00
2022-12-09 16:49:41 -05:00
2022-10-19 19:36:47 -04:00
2026-04-01 15:01:31 +02:00
2025-05-26 14:47:38 +02:00
2025-07-23 11:13:11 +02:00
2022-10-19 19:36:47 -04:00
2025-09-18 15:59:54 +10:00
2025-09-18 15:59:54 +10:00
2025-09-18 15:59:54 +10:00
2025-09-18 15:59:54 +10:00
2025-09-18 15:59:54 +10:00
2025-09-18 15:59:54 +10:00
2025-09-18 15:59:54 +10:00
2025-09-18 15:59:54 +10:00
2025-09-18 15:59:54 +10:00
2025-01-14 14:55:34 +01:00
2026-04-15 17:26:08 -08:00
2026-04-15 17:26:08 -08:00
2026-03-20 17:55:42 +01:00
2022-10-19 19:36:47 -04:00
2025-06-24 13:14:08 -06:00
2022-10-19 19:36:47 -04:00
2022-10-19 19:36:47 -04:00
2024-08-27 09:23:43 +02:00
2025-10-24 06:07:28 +11:00
2022-10-19 19:36:47 -04:00
2023-06-07 12:07:29 -04:00
2024-01-22 12:30:24 -05:00
2025-09-24 11:08:10 -04:00
2026-03-17 17:33:41 -08:00
2022-10-19 19:36:47 -04:00
2022-10-19 19:36:47 -04:00
2022-10-19 19:36:47 -04:00
2022-10-19 19:36:47 -04:00
2022-10-19 19:36:47 -04:00
2025-02-25 14:04:52 +01:00
2022-10-19 19:36:47 -04:00
2022-10-19 19:36:47 -04:00
2022-10-19 19:36:47 -04:00
2022-10-19 19:36:47 -04:00
2025-11-06 10:00:26 -09:00
2023-07-12 11:44:23 -04:00
2024-10-30 11:35:35 -04:00
2022-10-19 19:36:47 -04:00
2022-10-19 19:36:47 -04:00
2024-09-19 16:24:53 +03:00
2026-02-18 17:37:03 +01:00
2023-03-06 22:43:41 +01:00
2022-10-19 19:36:47 -04:00
2025-04-15 10:24:03 +02:00
2025-07-02 11:10:46 -08:00
2022-10-19 19:36:47 -04:00
2022-10-19 19:36:47 -04:00
2022-10-19 19:36:47 -04:00
2022-10-19 19:36:47 -04:00
2022-10-19 19:36:47 -04:00
2022-10-19 19:36:47 -04:00
2025-08-14 11:37:48 +10:00
2022-10-19 19:36:47 -04:00
2022-10-19 19:36:47 -04:00
2025-01-21 16:48:33 +03:00
2022-10-19 19:36:47 -04:00
2022-10-19 19:36:47 -04:00
2022-10-19 19:36:47 -04:00
2025-02-25 14:04:52 +01:00
2024-08-27 10:38:17 -04:00
2022-10-19 19:36:47 -04:00
2023-03-16 11:55:45 +01:00
2023-03-16 11:55:45 +01:00
2023-12-08 21:17:59 +01:00
2026-01-26 11:05:22 +01:00
2023-11-28 16:30:17 +01:00
2022-10-19 19:36:47 -04:00