diff --git a/src/algorithms/telemetry_decoder/gnuradio_blocks/beidou_b1i_telemetry_decoder_gs.cc b/src/algorithms/telemetry_decoder/gnuradio_blocks/beidou_b1i_telemetry_decoder_gs.cc index badeb3f14..e84cbb77b 100644 --- a/src/algorithms/telemetry_decoder/gnuradio_blocks/beidou_b1i_telemetry_decoder_gs.cc +++ b/src/algorithms/telemetry_decoder/gnuradio_blocks/beidou_b1i_telemetry_decoder_gs.cc @@ -63,6 +63,7 @@ beidou_b1i_telemetry_decoder_gs::beidou_b1i_telemetry_decoder_gs( d_dump_filename = conf.dump_filename; d_dump = conf.dump; d_dump_mat = conf.dump_mat; + d_remove_dat = conf.remove_dat; d_satellite = Gnss_Satellite(satellite.get_system(), satellite.get_PRN()); LOG(INFO) << "Initializing BeiDou B1I Telemetry Decoding for satellite " << this->d_satellite; @@ -131,6 +132,13 @@ beidou_b1i_telemetry_decoder_gs::~beidou_b1i_telemetry_decoder_gs() if (d_dump && (pos != 0) && d_dump_mat) { save_tlm_matfile(d_dump_filename); + if (d_remove_dat) + { + if (!tlm_remove_file(d_dump_filename)) + { + LOG(WARNING) << "Error deleting temporary file"; + } + } } } diff --git a/src/algorithms/telemetry_decoder/gnuradio_blocks/beidou_b1i_telemetry_decoder_gs.h b/src/algorithms/telemetry_decoder/gnuradio_blocks/beidou_b1i_telemetry_decoder_gs.h index 8bdb1955b..5b07f5fb4 100644 --- a/src/algorithms/telemetry_decoder/gnuradio_blocks/beidou_b1i_telemetry_decoder_gs.h +++ b/src/algorithms/telemetry_decoder/gnuradio_blocks/beidou_b1i_telemetry_decoder_gs.h @@ -121,6 +121,7 @@ private: bool Flag_valid_word; bool d_dump; bool d_dump_mat; + bool d_remove_dat; }; diff --git a/src/algorithms/telemetry_decoder/gnuradio_blocks/beidou_b3i_telemetry_decoder_gs.cc b/src/algorithms/telemetry_decoder/gnuradio_blocks/beidou_b3i_telemetry_decoder_gs.cc index b9d9f98ce..5256eed11 100644 --- a/src/algorithms/telemetry_decoder/gnuradio_blocks/beidou_b3i_telemetry_decoder_gs.cc +++ b/src/algorithms/telemetry_decoder/gnuradio_blocks/beidou_b3i_telemetry_decoder_gs.cc @@ -63,6 +63,7 @@ beidou_b3i_telemetry_decoder_gs::beidou_b3i_telemetry_decoder_gs( d_dump_filename = conf.dump_filename; d_dump = conf.dump; d_dump_mat = conf.dump_mat; + d_remove_dat = conf.remove_dat; d_satellite = Gnss_Satellite(satellite.get_system(), satellite.get_PRN()); LOG(INFO) << "Initializing BeiDou B3I Telemetry Decoding for satellite " << this->d_satellite; @@ -131,6 +132,13 @@ beidou_b3i_telemetry_decoder_gs::~beidou_b3i_telemetry_decoder_gs() if (d_dump && (pos != 0) && d_dump_mat) { save_tlm_matfile(d_dump_filename); + if (d_remove_dat) + { + if (!tlm_remove_file(d_dump_filename)) + { + LOG(WARNING) << "Error deleting temporary file"; + } + } } } diff --git a/src/algorithms/telemetry_decoder/gnuradio_blocks/beidou_b3i_telemetry_decoder_gs.h b/src/algorithms/telemetry_decoder/gnuradio_blocks/beidou_b3i_telemetry_decoder_gs.h index f558a8899..eb5bd6548 100644 --- a/src/algorithms/telemetry_decoder/gnuradio_blocks/beidou_b3i_telemetry_decoder_gs.h +++ b/src/algorithms/telemetry_decoder/gnuradio_blocks/beidou_b3i_telemetry_decoder_gs.h @@ -118,6 +118,7 @@ private: bool Flag_valid_word; bool d_dump; bool d_dump_mat; + bool d_remove_dat; }; diff --git a/src/algorithms/telemetry_decoder/gnuradio_blocks/galileo_telemetry_decoder_gs.cc b/src/algorithms/telemetry_decoder/gnuradio_blocks/galileo_telemetry_decoder_gs.cc index 8f02a6137..b4409bdd3 100644 --- a/src/algorithms/telemetry_decoder/gnuradio_blocks/galileo_telemetry_decoder_gs.cc +++ b/src/algorithms/telemetry_decoder/gnuradio_blocks/galileo_telemetry_decoder_gs.cc @@ -75,6 +75,7 @@ galileo_telemetry_decoder_gs::galileo_telemetry_decoder_gs( d_dump_filename = conf.dump_filename; d_dump = conf.dump; d_dump_mat = conf.dump_mat; + d_remove_dat = conf.remove_dat; d_satellite = Gnss_Satellite(satellite.get_system(), satellite.get_PRN()); d_frame_type = frame_type; DLOG(INFO) << "Initializing GALILEO UNIFIED TELEMETRY DECODER"; @@ -241,6 +242,13 @@ galileo_telemetry_decoder_gs::~galileo_telemetry_decoder_gs() if (d_dump && (pos != 0) && d_dump_mat) { save_tlm_matfile(d_dump_filename); + if (d_remove_dat) + { + if (!tlm_remove_file(d_dump_filename)) + { + LOG(WARNING) << "Error deleting temporary file"; + } + } } } diff --git a/src/algorithms/telemetry_decoder/gnuradio_blocks/galileo_telemetry_decoder_gs.h b/src/algorithms/telemetry_decoder/gnuradio_blocks/galileo_telemetry_decoder_gs.h index 473bada45..eec8d3ce4 100644 --- a/src/algorithms/telemetry_decoder/gnuradio_blocks/galileo_telemetry_decoder_gs.h +++ b/src/algorithms/telemetry_decoder/gnuradio_blocks/galileo_telemetry_decoder_gs.h @@ -141,6 +141,7 @@ private: bool d_flag_preamble; bool d_dump; bool d_dump_mat; + bool d_remove_dat; }; diff --git a/src/algorithms/telemetry_decoder/gnuradio_blocks/glonass_l1_ca_telemetry_decoder_gs.cc b/src/algorithms/telemetry_decoder/gnuradio_blocks/glonass_l1_ca_telemetry_decoder_gs.cc index ed98cb3a9..a2c75e08a 100644 --- a/src/algorithms/telemetry_decoder/gnuradio_blocks/glonass_l1_ca_telemetry_decoder_gs.cc +++ b/src/algorithms/telemetry_decoder/gnuradio_blocks/glonass_l1_ca_telemetry_decoder_gs.cc @@ -60,6 +60,7 @@ glonass_l1_ca_telemetry_decoder_gs::glonass_l1_ca_telemetry_decoder_gs( d_dump_filename = conf.dump_filename; d_dump = conf.dump; d_dump_mat = conf.dump_mat; + d_remove_dat = conf.remove_dat; d_satellite = Gnss_Satellite(satellite.get_system(), satellite.get_PRN()); LOG(INFO) << "Initializing GLONASS L1 CA TELEMETRY DECODING"; @@ -124,6 +125,13 @@ glonass_l1_ca_telemetry_decoder_gs::~glonass_l1_ca_telemetry_decoder_gs() if (d_dump && (pos != 0) && d_dump_mat) { save_tlm_matfile(d_dump_filename); + if (d_remove_dat) + { + if (!tlm_remove_file(d_dump_filename)) + { + LOG(WARNING) << "Error deleting temporary file"; + } + } } } diff --git a/src/algorithms/telemetry_decoder/gnuradio_blocks/glonass_l1_ca_telemetry_decoder_gs.h b/src/algorithms/telemetry_decoder/gnuradio_blocks/glonass_l1_ca_telemetry_decoder_gs.h index 2eddb1e3f..74adb1068 100644 --- a/src/algorithms/telemetry_decoder/gnuradio_blocks/glonass_l1_ca_telemetry_decoder_gs.h +++ b/src/algorithms/telemetry_decoder/gnuradio_blocks/glonass_l1_ca_telemetry_decoder_gs.h @@ -120,6 +120,7 @@ private: bool Flag_valid_word; bool d_dump; bool d_dump_mat; + bool d_remove_dat; }; 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 1fe4296ae..fc7aad5a9 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 @@ -60,6 +60,7 @@ glonass_l2_ca_telemetry_decoder_gs::glonass_l2_ca_telemetry_decoder_gs( d_dump_filename = conf.dump_filename; d_dump = conf.dump; d_dump_mat = conf.dump_mat; + d_remove_dat = conf.remove_dat; d_satellite = Gnss_Satellite(satellite.get_system(), satellite.get_PRN()); LOG(INFO) << "Initializing GLONASS L2 CA TELEMETRY DECODING"; @@ -124,6 +125,13 @@ glonass_l2_ca_telemetry_decoder_gs::~glonass_l2_ca_telemetry_decoder_gs() if (d_dump && (pos != 0) && d_dump_mat) { save_tlm_matfile(d_dump_filename); + if (d_remove_dat) + { + if (!tlm_remove_file(d_dump_filename)) + { + LOG(WARNING) << "Error deleting temporary file"; + } + } } } diff --git a/src/algorithms/telemetry_decoder/gnuradio_blocks/glonass_l2_ca_telemetry_decoder_gs.h b/src/algorithms/telemetry_decoder/gnuradio_blocks/glonass_l2_ca_telemetry_decoder_gs.h index dc35009df..a02ae658b 100644 --- a/src/algorithms/telemetry_decoder/gnuradio_blocks/glonass_l2_ca_telemetry_decoder_gs.h +++ b/src/algorithms/telemetry_decoder/gnuradio_blocks/glonass_l2_ca_telemetry_decoder_gs.h @@ -114,6 +114,7 @@ private: bool flag_TOW_set; // Indicates when time of week is set bool d_dump; bool d_dump_mat; + bool d_remove_dat; }; 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 2a84a5aa2..3f0c0633a 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 @@ -75,6 +75,7 @@ gps_l1_ca_telemetry_decoder_gs::gps_l1_ca_telemetry_decoder_gs( d_dump_filename = conf.dump_filename; d_dump = conf.dump; d_dump_mat = conf.dump_mat; + d_remove_dat = conf.remove_dat; d_satellite = Gnss_Satellite(satellite.get_system(), satellite.get_PRN()); DLOG(INFO) << "Initializing GPS L1 TELEMETRY DECODER"; @@ -146,6 +147,13 @@ gps_l1_ca_telemetry_decoder_gs::~gps_l1_ca_telemetry_decoder_gs() if (d_dump && (pos != 0) && d_dump_mat) { save_tlm_matfile(d_dump_filename); + if (d_remove_dat) + { + if (!tlm_remove_file(d_dump_filename)) + { + LOG(WARNING) << "Error deleting temporary file"; + } + } } } diff --git a/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l1_ca_telemetry_decoder_gs.h b/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l1_ca_telemetry_decoder_gs.h index 71d0164ab..dae94c761 100644 --- a/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l1_ca_telemetry_decoder_gs.h +++ b/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l1_ca_telemetry_decoder_gs.h @@ -112,6 +112,7 @@ private: bool d_flag_TOW_set; bool d_dump; bool d_dump_mat; + bool d_remove_dat; }; diff --git a/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l2c_telemetry_decoder_gs.cc b/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l2c_telemetry_decoder_gs.cc index 32f9111b3..018793f98 100644 --- a/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l2c_telemetry_decoder_gs.cc +++ b/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l2c_telemetry_decoder_gs.cc @@ -65,6 +65,7 @@ gps_l2c_telemetry_decoder_gs::gps_l2c_telemetry_decoder_gs( d_dump_filename = conf.dump_filename; d_dump = conf.dump; d_dump_mat = conf.dump_mat; + d_remove_dat = conf.remove_dat; d_satellite = Gnss_Satellite(satellite.get_system(), satellite.get_PRN()); DLOG(INFO) << "GPS L2C M TELEMETRY PROCESSING: satellite " << d_satellite; // set_output_multiple (1); @@ -109,6 +110,13 @@ gps_l2c_telemetry_decoder_gs::~gps_l2c_telemetry_decoder_gs() if (d_dump && (pos != 0) && d_dump_mat) { save_tlm_matfile(d_dump_filename); + if (d_remove_dat) + { + if (!tlm_remove_file(d_dump_filename)) + { + LOG(WARNING) << "Error deleting temporary file"; + } + } } } diff --git a/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l2c_telemetry_decoder_gs.h b/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l2c_telemetry_decoder_gs.h index a42dc82d7..5ff1a6681 100644 --- a/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l2c_telemetry_decoder_gs.h +++ b/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l2c_telemetry_decoder_gs.h @@ -99,6 +99,7 @@ private: bool d_flag_PLL_180_deg_phase_locked; bool d_flag_valid_word; bool d_dump_mat; + bool d_remove_dat; }; diff --git a/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l5_telemetry_decoder_gs.cc b/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l5_telemetry_decoder_gs.cc index 838291571..88aa5f996 100644 --- a/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l5_telemetry_decoder_gs.cc +++ b/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l5_telemetry_decoder_gs.cc @@ -63,6 +63,7 @@ gps_l5_telemetry_decoder_gs::gps_l5_telemetry_decoder_gs( d_dump_filename = conf.dump_filename; d_dump = conf.dump; d_dump_mat = conf.dump_mat; + d_remove_dat = conf.remove_dat; d_satellite = Gnss_Satellite(satellite.get_system(), satellite.get_PRN()); DLOG(INFO) << "GPS L5 TELEMETRY PROCESSING: satellite " << d_satellite; d_channel = 0; @@ -103,6 +104,13 @@ gps_l5_telemetry_decoder_gs::~gps_l5_telemetry_decoder_gs() if (d_dump && (pos != 0) && d_dump_mat) { save_tlm_matfile(d_dump_filename); + if (d_remove_dat) + { + if (!tlm_remove_file(d_dump_filename)) + { + LOG(WARNING) << "Error deleting temporary file"; + } + } } } diff --git a/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l5_telemetry_decoder_gs.h b/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l5_telemetry_decoder_gs.h index 76156aace..bc351f6b8 100644 --- a/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l5_telemetry_decoder_gs.h +++ b/src/algorithms/telemetry_decoder/gnuradio_blocks/gps_l5_telemetry_decoder_gs.h @@ -95,6 +95,7 @@ private: bool d_sent_tlm_failed_msg; bool d_dump; bool d_dump_mat; + bool d_remove_dat; }; diff --git a/src/algorithms/telemetry_decoder/libs/tlm_conf.cc b/src/algorithms/telemetry_decoder/libs/tlm_conf.cc index 67857c036..cd81b8085 100644 --- a/src/algorithms/telemetry_decoder/libs/tlm_conf.cc +++ b/src/algorithms/telemetry_decoder/libs/tlm_conf.cc @@ -34,4 +34,5 @@ void Tlm_Conf::SetFromConfiguration(const ConfigurationInterface *configuration, dump_filename = configuration->property(role + ".dump_filename", default_dumpname); dump = configuration->property(role + ".dump", false); dump_mat = configuration->property(role + ".dump_mat", dump); + remove_dat = configuration->property(role + ".remove_dat", false); } diff --git a/src/algorithms/telemetry_decoder/libs/tlm_conf.h b/src/algorithms/telemetry_decoder/libs/tlm_conf.h index 156919fbe..f925cd4e6 100644 --- a/src/algorithms/telemetry_decoder/libs/tlm_conf.h +++ b/src/algorithms/telemetry_decoder/libs/tlm_conf.h @@ -40,6 +40,7 @@ public: std::string dump_filename; bool dump; bool dump_mat; + bool remove_dat; }; diff --git a/src/algorithms/telemetry_decoder/libs/tlm_utils.cc b/src/algorithms/telemetry_decoder/libs/tlm_utils.cc index 67388f2f9..ea073c6b2 100644 --- a/src/algorithms/telemetry_decoder/libs/tlm_utils.cc +++ b/src/algorithms/telemetry_decoder/libs/tlm_utils.cc @@ -56,7 +56,7 @@ int save_tlm_matfile(const std::string &dumpfile) std::ifstream dump_file; std::string dump_filename_(dumpfile); - std::cout << "Generating .mat file for " << dump_filename_ << '\n'; + std::cout << "Generating .mat file for " << std::string(dump_filename_.begin(), dump_filename_.end() - 4) << '\n'; dump_file.exceptions(std::ifstream::failbit | std::ifstream::badbit); try {