diff --git a/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l1_ca_telemetry_decoder_gs.cc b/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l1_ca_telemetry_decoder_gs.cc index 62bbf6bfa..7c223a9da 100644 --- a/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l1_ca_telemetry_decoder_gs.cc +++ b/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l1_ca_telemetry_decoder_gs.cc @@ -636,9 +636,18 @@ int gps_l1_ca_telemetry_decoder_gs::general_work(int noutput_items __attribute__ current_symbol.Flag_PLL_180_deg_phase_locked = false; } - // time tags + // TODO - Merge these two loops std::vector tags_vec; - this->get_tags_in_range(tags_vec, 0, this->nitems_read(0), this->nitems_read(0) + 1); + get_tags_in_range(tags_vec, 0, this->nitems_read(0)-1, this->nitems_read(0), pmt::mp("extra_data")); + for (const auto & tag : tags_vec) + { + add_item_tag(0, this->nitems_written(0) + 1, tag.key, tag.value); + // std::cout << "[ED TAG (TRK)] [" << std::to_string(tag.offset) << "] "; + // std::cout << std::endl; + } + // time tags + tags_vec.clear(); + this->get_tags_in_range(tags_vec, 0, this->nitems_read(0), this->nitems_read(0) + 1, pmt::mp("timetag")); for (const auto &it : tags_vec) { try diff --git a/src/algorithms/tracking/gnuradio_blocks/dll_pll_veml_tracking.cc b/src/algorithms/tracking/gnuradio_blocks/dll_pll_veml_tracking.cc index 803d1e7c6..22c68d556 100644 --- a/src/algorithms/tracking/gnuradio_blocks/dll_pll_veml_tracking.cc +++ b/src/algorithms/tracking/gnuradio_blocks/dll_pll_veml_tracking.cc @@ -2092,6 +2092,16 @@ int dll_pll_veml_tracking::general_work(int noutput_items __attribute__((unused) d_timetag_waiting = false; } + std::vector tags{}; + // get_tags_in_window(tags, 0, 0, ninput_items[0], pmt::mp("extra_data")); + get_tags_in_range(tags, 0, nitems_read(0) - d_current_prn_length_samples, nitems_read(0), pmt::mp("extra_data")); + + for (const auto &tag : tags) + { + add_item_tag(0, this->nitems_written(0) + 1, tag.key, tag.value); + // std::cout << "[ED TAG (TRK)] [" << std::to_string(tag.offset) << "] "; + // std::cout << std::endl; + } *out[0] = std::move(current_synchro_data); return 1; }