Compensate the Viterbi traceback delay when timestamping decoded SBAS
messages by carrying per-sample reception timestamps through the sample
and symbol aligners (removes a ~140 ms bias), with a deterministic unit
test covering the FIFO pairing.
Protect decoder state with d_setlock in reset(), set_satellite(),
set_channel() and general_work(), following the convention of the other
telemetry decoders.
Share per-PRN EMS dump files through a per-run dump session: the first
open in a run truncates stale data, later opens append, so channel
reassignments no longer wipe previously decoded messages.
- gnss_satellite.cc: accept the full supported SBAS PRN range (120-138)
instead of a stale 6-PRN whitelist that rejected valid PRNs such as WAAS
PRN 133. Per-PRN satellite/service names are no longer hardcoded, since
that assignment changes over time and cannot be reliably kept up to date
here (fixes review comments on PRN support and outdated satellite info).
- SBAS_L1.h: cap SBAS_L1_MAX_COHERENT_INTEGRATION_SYMBOLS at 1 (1 ms). The
telemetry decoder performs its own unsynchronized sample/symbol pairing,
so extending tracking's coherent integration to 2 ms is unsafe and
corrupts that pairing.
- sbas_l1_telemetry_decoder_gs.{h,cc}: carry an absolute per-sample/per-bit
timestamp through the sample buffer and Frame_Detector, replacing the
buggy offset that anchored the message timestamp to whichever sample was
current when decoding happened, which could be off by up to a full
message duration. Add
sbas_l1_telemetry_decoder_gs::compute_message_timestamp() as a small,
independently testable helper for the residual sub-bit correction, and a
matching deterministic unit test.
- sbas_l1_telemetry_decoder_gs.{h,cc}: implement a real reset() that clears
all decoder buffers/aligners and closes the dump file, so a channel
reassigned to a different PRN never mixes messages into the previous
satellite's file.
- Remove the orphan sbas_l1_telemetry_decoder.cc adapter: it includes a
header that no longer exists and is not part of any CMake target (the
factory instantiates the GNU Radio block directly), so it silently never
compiled.
- Dump file: overwrite instead of append on each run, remove the hardcoded
GNSS-SDR version string, and document that the .ems output is an
EMS-like raw message dump, not a conformant EMS file.
- conf/File_input/SBAS/gnss-sdr_SBAS_EGNOS_rx.conf: drop the outdated
PRN/satellite table and per-channel satellite comments, correct the
coherent-integration note to 1 ms, and clarify that SBAS is not used as
a ranging source in this configuration.
Signed-off-by: miguekf <miguel.gomezlopez@uclm.es>