From 6d3bdbc3ccf17d186446c7df3e137b127641f454 Mon Sep 17 00:00:00 2001 From: joebre Date: Thu, 27 Aug 2026 15:48:02 +0200 Subject: [PATCH] python: add missing BeiDou B1C/SBAS L1 entries to plot SIGNAL_ORDER SIGNAL_ORDER in utils/python/lib/gnss_sdr_conf.py is meant to mirror signal_mapping in src/core/receiver/gnss_block_factory.cc, which GetChannels() walks in a fixed order to assign absolute channel IDs (consuming Channels_.count channels per entry; the per-channel Channel.signal lines in the conf file are not used for this). SIGNAL_ORDER was missing "1D" (BeiDou B1C) and "S1" (SBAS L1), both present in signal_mapping. Any configuration enabling BeiDou B1C or SBAS alongside other signal types would get every later signal's inferred channel range shifted, mislabeling tracking dump plots for those channels. Added both entries, in the same relative position as signal_mapping, along with their SignalType metadata. Signed-off-by: joebre --- utils/python/lib/gnss_sdr_conf.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/utils/python/lib/gnss_sdr_conf.py b/utils/python/lib/gnss_sdr_conf.py index 36b6719a0..22b5572fe 100644 --- a/utils/python/lib/gnss_sdr_conf.py +++ b/utils/python/lib/gnss_sdr_conf.py @@ -20,9 +20,10 @@ from pathlib import Path from typing import Optional -# Keep this order in sync with src/core/receiver/gnss_block_factory.cc. GNSS-SDR -# assigns absolute channel IDs by walking the configured signal counts in this -# order. +# Keep this order in sync with signal_mapping in +# src/core/receiver/gnss_block_factory.cc. GNSS-SDR assigns absolute channel +# IDs by walking the configured signal counts in this order (it does not use +# the per-channel Channel.signal lines in the conf file for this). SIGNAL_ORDER = ( "1C", "2S", @@ -33,10 +34,12 @@ SIGNAL_ORDER = ( "1G", "2G", "B1", + "1D", "B3", "7X", "J1", "J5", + "S1", ) @dataclass(frozen=True) @@ -66,9 +69,11 @@ SIGNAL_TYPES = { "1G": SignalType("R", 511, "GLONASS L1 C/A"), "2G": SignalType("R", 511, "GLONASS L2 C/A"), "B1": SignalType("C", 2046, "BeiDou B1I"), + "1D": SignalType("C", 10230, "BeiDou B1C"), "B3": SignalType("C", 10230, "BeiDou B3I"), "J1": SignalType("J", 1023, "QZSS L1 C/A"), "J5": SignalType("J", 10230, "QZSS L5"), + "S1": SignalType("S", 1023, "SBAS L1"), } N_CHIPS = {