10920 Commits
Author SHA1 Message Date
Carles Fernandez 272406467a Merge branch 'MrCry0-fix/opencl-test' into next 2026-08-27 16:49:34 +02:00
Carles Fernandez fac0496787 Fix segfault when testing with -DENABLE_OPENCL=ON in some environments 2026-08-27 16:38:30 +02:00
Carles Fernandez 7169a02c60 Merge branch 'fix/opencl-test' of https://github.com/MrCry0/gnss-sdr into MrCry0-fix/opencl-test 2026-08-27 16:13:59 +02:00
Carles Fernandez 409af58c10 Merge branch 'fix/opencl-acquisition' of https://github.com/MrCry0/gnss-sdr into MrCry0-fix/opencl-acquisition 2026-08-27 16:07:45 +02:00
Carles Fernandez f8399ece0d Merge branch 'joebre-fix/tracking-dump-signal-labeling' into next 2026-08-27 16:01:31 +02:00
joebre a9c12954f3 python: fix signal-type label when overriding the plotted channel range
apply_conf_defaults() picked the plotted signal-type label as
signals[0].signal whenever --first-channel/--channels was passed
explicitly to override the conf-derived channel range. signals[0] is
just the first enabled signal in SIGNAL_ORDER for the given conf, so
it is only correct when the manually requested range happens to start
at channel 0 of that same signal; for any other range it mislabels
every plot with the wrong signal type, even though the correct .dat
files are read (since --file-prefix is typically also given
explicitly in that case).

For example, running
  --conf EVK1029_Galileo_E1_E5a.conf --file-prefix trk_GalileoE5a_ch \
  --first-channel 10 --channels 10
correctly reads the Galileo E5a tracking dumps but titled every plot
"Galileo E1B", the conf's first enabled signal.

Resolve each requested channel's signal type from the conf's own
per-signal channel ranges (SignalConfig.channels) instead, falling
back to the previous behavior only when no conf is available at all.

Signed-off-by: joebre <joel.brenner@saphyrion.ch>
2026-08-27 15:48:11 +02:00
joebre 6d3bdbc3cc 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_<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>
2026-08-27 15:48:02 +02:00
joebre 5a7803d620 Fix I/Q swap in dll_pll_veml_tracking dump for pilot-tracked signals
log_data() read the data-arm Prompt correlator's real/imaginary parts
directly instead of going through map_correlator_to_iq(), unlike
assign_correlators_to_synchro() which already applies that mapping
correctly. For signals whose data and pilot components are true RF
quadrature (Galileo E5a/E5b, GPS L5), d_interchange_iq is true and the
actual data bits live on the imaginary axis of d_Prompt_Data, not the
real one used unconditionally by the dump.

This only affected the tracking .dat/.mat dump used by the Python/MATLAB
plotting utilities (utils/python/dll_pll_veml_plot_sample.py and
utils/matlab equivalents) for signals such as Galileo E5a: the "Prompt
I" / "Bits of the navigation message" plots showed pilot phase-noise
leakage on the wrong axis instead of the actual navigation bits, while
receiver operation itself (telemetry decoding, PVT) was unaffected
since it uses assign_correlators_to_synchro().

Signed-off-by: joebre <joel.brenner@saphyrion.ch>
2026-08-27 15:47:52 +02:00
Carles Fernandez 04484bc1e9 Merge branch 'MrCry0-feat/support-bladerf' into next 2026-08-27 11:43:47 +02:00
Carles Fernandez df001f4dc7 Add Oleksandr Suvorov to the list of contributors 2026-08-27 11:33:31 +02:00
Oleksandr Suvorov bec24f3081 conf: add 4-constellation L1 config for native bladeRF source
Add a sample configuration enabling GPS L1 C/A, Galileo E1, GLONASS
L1 C/A, and BeiDou B1I simultaneously through the new native
Bladerf_Signal_Source, following the same single-capture, multi-band
split already used by the existing USRP X300 and HackRF multichannel
templates.

One 56 Msps / 56 MHz wideband capture centered at 1584 MHz (the
maximum bandwidth supported by a bladeRF 2.0 Micro) is split via
SignalSource.RF_channels=3 into three Freq_Xlating_Fir_Filter
sub-bands tapping the same physical stream: BeiDou B1I (1561.098
MHz), GPS L1 C/A + Galileo E1 (co-located at 1575.42 MHz), and
GLONASS L1 C/A (FDMA, centered near 1602 MHz). The frequency plan and
per-system acquisition/tracking parameters are carried over from the
existing USRP X300 four-constellation template.

Verified against a physical bladeRF 2.0 Micro: the receiver
simultaneously acquired and tracked real satellites on all four
systems from a live antenna.

Signed-off-by: Oleksandr Suvorov <cryosay@gmail.com>
2026-08-27 11:06:17 +03:00
Oleksandr Suvorov a5a6b9359b signal_source: add native BladeRF support via libbladeRF
Add a Bladerf_Signal_Source that streams RX samples directly from
bladeRF front-ends (bladeRF x40, x115, and bladeRF 2.0 Micro xA4/xA9)
through libbladeRF, instead of going through the generic gr-osmosdr
wrapper. gr-osmosdr's bladerf backend does not expose usable per-stage
gain control on bladeRF2 hardware and has no support for the RX bias
tee used to power an active antenna on the 2.0 Micro.

The new gr::sync_block (bladerf_source) talks to libbladeRF's
synchronous streaming API directly; the adapter (BladerfSignalSource)
follows the existing SignalSourceBase pattern used by the other signal
sources, with valve and dump support wired the same way. Building it
is gated behind -DENABLE_BLADERF=ON, degrades gracefully when
libbladeRF is absent, and requires libbladeRF v2.6.0 or newer,
enforced at configure time.

Verified against a physical bladeRF 2.0 Micro: the receiver opens the
device, streams live samples, and acquires and tracks real GPS
satellites end to end using the new sample configuration file.

Only single-channel (SISO) reception is supported for now; the second
RX channel is not yet exposed.

Signed-off-by: Oleksandr Suvorov <cryosay@gmail.com>
2026-08-27 11:06:11 +03:00
Carles Fernandez 4e0457bdaa Report NTRIP client status on the console 2026-08-25 22:21:11 +02:00
Carles Fernandez ec14efe2c6 Fix cppcoreguidelines-special-member-functions 2026-08-25 10:44:33 +02:00
Carles Fernandez 2a636daed3 Update local matio to v1.6.0 2026-08-25 09:56:48 +02:00
Mathieu FavreauandCarles Fernandez 200a119c9e Fix threshold 2 step acquisition 2026-08-24 18:32:01 +02:00
dependabot[bot]andCarles Fernandez 76adce46e1 Bump uraimo/run-on-arch-action in the github-actions group
Bumps the github-actions group with 1 update: [uraimo/run-on-arch-action](https://github.com/uraimo/run-on-arch-action).


Updates `uraimo/run-on-arch-action` from 3.1.0 to 3.2.0
- [Release notes](https://github.com/uraimo/run-on-arch-action/releases)
- [Commits](https://github.com/uraimo/run-on-arch-action/compare/v3.1.0...v3.2.0)

---
updated-dependencies:
- dependency-name: uraimo/run-on-arch-action
  dependency-version: 3.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-24 09:50:19 +02:00
Carles Fernandez c60c1a3c53 Update local matio to v1.6.0 2026-08-24 08:59:22 +02:00
Carles Fernandez a72369f2a3 Merge branch 'add-rtk' into next 2026-08-24 08:37:34 +02:00
Carles Fernandez 1f0be04d58 Update changelog 2026-08-23 13:22:29 +02:00
Carles Fernandez 8ac0737031 Fix application of BDS B1C corrections 2026-08-23 08:08:04 +02:00
Carles Fernandez 59b52c87a9 Improve DNS threads handling in NTRIP client 2026-08-22 22:27:31 +02:00
Carles Fernandez ac3f3f8e4c Improve robustness against a corrupted reference satellite 2026-08-22 11:10:08 +02:00
Carles Fernandez cb7366d2d9 Improve robustness against code outliers 2026-08-22 10:11:55 +02:00
Carles Fernandez 2f5322c20e Fix handling of malformed HTTP chunks 2026-08-22 10:01:31 +02:00
Carles Fernandez 07a0bed246 Improve snapshot caching in NTRIP client 2026-08-22 09:40:56 +02:00
Carles Fernandez 3867acb595 Fix DNS stalls in NTRIP client 2026-08-22 09:08:30 +02:00
Carles Fernandez e66c9a9538 Fix B3I-only Single Point Positioning ionosphere scaling 2026-08-22 08:47:13 +02:00
Carles Fernandez 6b1a2e2560 GnuTLS now verifies the leaf certificate for TLS server purpose 2026-08-22 08:35:43 +02:00
Carles Fernandez f507a4f68b Fix modernize-return-braced-init-list 2026-08-21 20:41:58 +02:00
Carles Fernandez 0378f06d8e Fix potential out of bound access to memory 2026-08-21 09:58:13 +02:00
Carles Fernandez e9a4b21b7b Merge branch 'clang22' into add-rtk 2026-08-21 09:06:31 +02:00
Carles Fernandez 961ff577c2 CI: move clang-tidy and clang-format jobs to version 22 2026-08-21 08:59:07 +02:00
Carles Fernandez 5546bff00e Fix bugprone misplaced widening cast, improve constant naming 2026-08-20 14:40:22 +02:00
Carles Fernandez c37d4b5820 Fix bugprone misplaced widening cast, improve constant naming 2026-08-20 14:39:58 +02:00
Carles Fernandez b972ca85be Add logging to the NTRIP client 2026-08-20 00:43:23 +02:00
Carles Fernandez ac0e54bcab Address the findings of a third deep review of the RTK and NTRIP code 2026-08-19 20:49:12 +02:00
Carles Fernandez 195e339c6d Remove NOLINT, make constructors explicit 2026-08-19 08:43:47 +02:00
Carles Fernandez 814988375b Improve consistency of color usage
Remove empty file, make formatting consistent
2026-08-19 08:31:55 +02:00
Carles Fernandez 280aae6d94 Improve consistency of color usage
Remove empty file, make formatting consistent
2026-08-19 08:27:21 +02:00
Carles Fernandez 7eeda95c21 Fix building with C++11 2026-08-18 21:56:51 +02:00
Carles Fernandez d9cdc16daa Address the findings of a second deep review of the RTK and NTRIP code 2026-08-18 21:31:57 +02:00
Carles Fernandez dd7931fc5b Fix defects found in a deep review of the RTK and NTRIP code 2026-08-18 12:56:49 +02:00
Carles Fernandez 9accccdbaa Add BeiDou B1C signals to RTK 2026-08-18 08:07:20 +02:00
Carles Fernandez e368102bfb Add single-frequency RTK 2026-08-17 20:29:25 +02:00
Carles Fernandez 43bff15976 Fix formatting 2026-08-17 14:19:31 +02:00
Carles Fernandez 200141fb14 Improve logging 2026-08-17 14:03:42 +02:00
Carles Fernandez 032cfa8e8d Update documentation 2026-08-17 14:02:01 +02:00
Carles Fernandez 59f2cb4509 Add L5 to RTK 2026-08-17 13:19:37 +02:00
Carles Fernandez 0ee669f59f Add Galileo E1+E5a to RTK 2026-08-17 11:52:41 +02:00