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_<type>.count channels per entry; the per-channel
Channel<N>.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 <joel.brenner@saphyrion.ch>
The KF tracking dump reader now follows the parameters dumped by kf_tracking.cc
lib/gps_l1_ca_kf_read_tracking_dump.py:
- Rewrite using the same _RECORD_FORMAT / _FIELD_NAMES architecture as
dll_pll_veml_read_tracking_dump.py: one struct.unpack per record and
EOF handling, dropping the v1..v22 / bytes_shift / seek.
gps_l1_ca_kf_plot_sample.py:
- map innovation -> carr_error; drop r_noise_cov
lib/plotKalman.py, lib/plotTracking.py:
- Skip the "Estimated Noise Variance" panel when r_noise_cov is absent.
- Replace fig.canvas.set_window_title() with
fig.canvas.manager.set_window_title(). The canvas method was deprecated
in matplotlib 3.4 and is gone in current matplotlib (3.6.3 here), where
it raised AttributeError. Ref: https://github.com/raysect/source/issues/383
Signed-off-by: minhaj <minhaj.sixbyte@gmail.com>
two fields (TOW_ms and WN). Probably because this file was written at a time when
these fields were not present in the tracking dump.
This commit fixes that, and plot_tracking_quality_indicator.py is operational now.
This script now also lays out a _RECORD_FORMAT such that it is easily maintainable
if the structure changes again in future in the dll_pll_veml_tracking.cc
Thanks!
Signed-off-by: minhaj <minhaj.sixbyte@gmail.com>