From e592d09971bbfa730d626273466f5df88a542743 Mon Sep 17 00:00:00 2001 From: Javier Arribas Date: Wed, 13 Sep 2023 15:04:50 +0200 Subject: [PATCH] Disable Galileo E6 observables generation if the user sets PVT.use_e6_for_pvt=false --- src/algorithms/observables/adapters/hybrid_observables.cc | 1 + .../observables/gnuradio_blocks/hybrid_observables_gs.cc | 4 ++++ src/algorithms/observables/libs/obs_conf.h | 1 + 3 files changed, 6 insertions(+) diff --git a/src/algorithms/observables/adapters/hybrid_observables.cc b/src/algorithms/observables/adapters/hybrid_observables.cc index 6413d48a7..fbb6ba2a3 100644 --- a/src/algorithms/observables/adapters/hybrid_observables.cc +++ b/src/algorithms/observables/adapters/hybrid_observables.cc @@ -43,6 +43,7 @@ HybridObservables::HybridObservables(const ConfigurationInterface* configuration conf.observable_interval_ms = configuration->property("GNSS-SDR.observable_interval_ms", conf.observable_interval_ms); conf.enable_carrier_smoothing = configuration->property(role + ".enable_carrier_smoothing", conf.enable_carrier_smoothing); conf.always_output_gs = configuration->property("PVT.an_output_enabled", conf.always_output_gs) || configuration->property(role + ".always_output_gs", conf.always_output_gs); + conf.enable_E6 = configuration->property("PVT.use_e6_for_pvt", conf.enable_E6); if (FLAGS_carrier_smoothing_factor == DEFAULT_CARRIER_SMOOTHING_FACTOR) { diff --git a/src/algorithms/observables/gnuradio_blocks/hybrid_observables_gs.cc b/src/algorithms/observables/gnuradio_blocks/hybrid_observables_gs.cc index 6fb36d92c..ddc32e2c0 100644 --- a/src/algorithms/observables/gnuradio_blocks/hybrid_observables_gs.cc +++ b/src/algorithms/observables/gnuradio_blocks/hybrid_observables_gs.cc @@ -720,6 +720,10 @@ int hybrid_observables_gs::general_work(int noutput_items __attribute__((unused) // Push the valid tracking Gnss_Synchros to their corresponding deque if (in[n][m].Flag_valid_word) { + if (std::string(in[n][m].Signal, 2) == std::string("E6")) + { + if (d_conf.enable_E6 == false) continue; + } if (d_gnss_synchro_history->size(n) > 0) { // Check if the last Gnss_Synchro comes from the same satellite as the previous ones diff --git a/src/algorithms/observables/libs/obs_conf.h b/src/algorithms/observables/libs/obs_conf.h index 22da24476..480a0d888 100644 --- a/src/algorithms/observables/libs/obs_conf.h +++ b/src/algorithms/observables/libs/obs_conf.h @@ -41,6 +41,7 @@ public: bool always_output_gs{false}; bool dump{false}; bool dump_mat{false}; + bool enable_E6{false}; }; /** \} */