From d6dd4cad7793888c887f67b89be055d0d3c28053 Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Tue, 9 Jul 2019 20:09:34 +0200 Subject: [PATCH] Fix GLONASS L2 nav message decoding --- .../glonass_l2_ca_telemetry_decoder_gs.cc | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/algorithms/telemetry_decoder/gnuradio_blocks/glonass_l2_ca_telemetry_decoder_gs.cc b/src/algorithms/telemetry_decoder/gnuradio_blocks/glonass_l2_ca_telemetry_decoder_gs.cc index e26592279..053596048 100644 --- a/src/algorithms/telemetry_decoder/gnuradio_blocks/glonass_l2_ca_telemetry_decoder_gs.cc +++ b/src/algorithms/telemetry_decoder/gnuradio_blocks/glonass_l2_ca_telemetry_decoder_gs.cc @@ -100,7 +100,7 @@ glonass_l2_ca_telemetry_decoder_gs::glonass_l2_ca_telemetry_decoder_gs( } } - d_symbol_history.set_capacity(GLONASS_GNAV_PREAMBLE_PERIOD_SYMBOLS); + d_symbol_history.set_capacity(GLONASS_GNAV_STRING_SYMBOLS); d_sample_counter = 0ULL; d_stat = 0; d_preamble_index = 0ULL; @@ -289,13 +289,12 @@ int glonass_l2_ca_telemetry_decoder_gs::general_work(int noutput_items __attribu d_flag_preamble = false; - if (d_symbol_history.size() == GLONASS_GNAV_PREAMBLE_PERIOD_SYMBOLS) + if (static_cast(d_symbol_history.size()) >= d_symbols_per_preamble) { // ******* preamble correlation ******** - int i = 0; - for (const auto &iter : d_symbol_history) + for (int32_t i = 0; i < d_symbols_per_preamble; i++) { - if (iter.Prompt_I < 0.0) // symbols clipping + if (d_symbol_history.[i].Prompt_I < 0.0) // symbols clipping { corr_value -= d_preambles_symbols[i]; } @@ -303,7 +302,6 @@ int glonass_l2_ca_telemetry_decoder_gs::general_work(int noutput_items __attribu { corr_value += d_preambles_symbols[i]; } - i++; } }