From 59e3ffe1674721a231195f219e5f484ead537470 Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Thu, 2 Feb 2017 20:05:15 +0100 Subject: [PATCH] Add header --- .../libs/CMakeLists.txt | 2 +- .../libs/tlm_dump_reader.cc | 111 ++++++++++------ .../libs/tlm_dump_reader.h | 38 +++++- .../libs/tracking_dump_reader.cc | 120 +++++++++++------- .../libs/tracking_dump_reader.h | 38 +++++- .../libs/tracking_true_obs_reader.cc | 113 +++++++++++------ .../libs/tracking_true_obs_reader.h | 38 +++++- 7 files changed, 323 insertions(+), 137 deletions(-) diff --git a/src/tests/unit-tests/signal-processing-blocks/libs/CMakeLists.txt b/src/tests/unit-tests/signal-processing-blocks/libs/CMakeLists.txt index 82d4d76e3..3e68bc02d 100644 --- a/src/tests/unit-tests/signal-processing-blocks/libs/CMakeLists.txt +++ b/src/tests/unit-tests/signal-processing-blocks/libs/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2015 (see AUTHORS file for a list of contributors) +# Copyright (C) 2012-2017 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # diff --git a/src/tests/unit-tests/signal-processing-blocks/libs/tlm_dump_reader.cc b/src/tests/unit-tests/signal-processing-blocks/libs/tlm_dump_reader.cc index 9cfb645a9..3cf8993fa 100644 --- a/src/tests/unit-tests/signal-processing-blocks/libs/tlm_dump_reader.cc +++ b/src/tests/unit-tests/signal-processing-blocks/libs/tlm_dump_reader.cc @@ -1,73 +1,110 @@ -// -// Created by javier on 1/2/2017. -// +/*! + * \file tlm_dump_reader.cc + * \brief Helper file for unit testing + * \author Javier Arribas, 2017. jarribas(at)cttc.es + * + * ------------------------------------------------------------------------- + * + * Copyright (C) 2010-2017 (see AUTHORS file for a list of contributors) + * + * GNSS-SDR is a software defined Global Navigation + * Satellite Systems receiver + * + * This file is part of GNSS-SDR. + * + * GNSS-SDR is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * GNSS-SDR is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GNSS-SDR. If not, see . + * + * ------------------------------------------------------------------------- + */ #include "tlm_dump_reader.h" bool tlm_dump_reader::read_binary_obs() +{ + try { - try { d_dump_file.read((char *) &TOW_at_current_symbol, sizeof(double)); d_dump_file.read((char *) &Prn_timestamp_ms, sizeof(double)); d_dump_file.read((char *) &d_TOW_at_Preamble, sizeof(double)); + } + catch (const std::ifstream::failure &e) + { + return false; + } + return true; +} + +bool tlm_dump_reader::restart() +{ + if (d_dump_file.is_open()) + { + d_dump_file.clear(); + d_dump_file.seekg(0, std::ios::beg); + return true; } - catch (const std::ifstream::failure &e) { + else + { return false; } - return true; - } - -bool tlm_dump_reader::restart() { - if (d_dump_file.is_open()) - { - d_dump_file.clear(); - d_dump_file.seekg(0, std::ios::beg); - return true; - }else{ - return false; - } } long int tlm_dump_reader::num_epochs() { std::ifstream::pos_type size; - int number_of_vars_in_epoch=3; - int epoch_size_bytes=sizeof(double)*number_of_vars_in_epoch; + int number_of_vars_in_epoch = 3; + int epoch_size_bytes = sizeof(double)*number_of_vars_in_epoch; std::ifstream tmpfile( d_dump_filename.c_str(), std::ios::binary | std::ios::ate); if (tmpfile.is_open()) { size = tmpfile.tellg(); long int nepoch=size / epoch_size_bytes; return nepoch; - }else{ + } + else + { return 0; } } -bool tlm_dump_reader::open_obs_file(std::string out_file) { +bool tlm_dump_reader::open_obs_file(std::string out_file) +{ if (d_dump_file.is_open() == false) - { - try { - d_dump_filename=out_file; - d_dump_file.exceptions ( std::ifstream::failbit | std::ifstream::badbit ); - d_dump_file.open(d_dump_filename.c_str(), std::ios::in | std::ios::binary); - std::cout << "TLM dump enabled, Log file: " << d_dump_filename.c_str()<< std::endl; - return true; + try + { + d_dump_filename=out_file; + d_dump_file.exceptions ( std::ifstream::failbit | std::ifstream::badbit ); + d_dump_file.open(d_dump_filename.c_str(), std::ios::in | std::ios::binary); + std::cout << "TLM dump enabled, Log file: " << d_dump_filename.c_str()<< std::endl; + return true; + } + catch (const std::ifstream::failure & e) + { + std::cout << "Problem opening TLM dump Log file: " << d_dump_filename.c_str()<< std::endl; + return false; + } } - catch (const std::ifstream::failure & e) + else { - std::cout << "Problem opening TLM dump Log file: " << d_dump_filename.c_str()<< std::endl; return false; } - }else{ - return false; - } } -tlm_dump_reader::~tlm_dump_reader() { +tlm_dump_reader::~tlm_dump_reader() +{ if (d_dump_file.is_open() == true) - { - d_dump_file.close(); - } + { + d_dump_file.close(); + } } diff --git a/src/tests/unit-tests/signal-processing-blocks/libs/tlm_dump_reader.h b/src/tests/unit-tests/signal-processing-blocks/libs/tlm_dump_reader.h index 0b64d19bf..a3afec291 100644 --- a/src/tests/unit-tests/signal-processing-blocks/libs/tlm_dump_reader.h +++ b/src/tests/unit-tests/signal-processing-blocks/libs/tlm_dump_reader.h @@ -1,9 +1,35 @@ -// -// Created by javier on 23/1/2017. -// +/*! + * \file tlm_dump_reader.h + * \brief Helper file for unit testing + * \author Javier Arribas, 2017. jarribas(at)cttc.es + * + * ------------------------------------------------------------------------- + * + * Copyright (C) 2010-2017 (see AUTHORS file for a list of contributors) + * + * GNSS-SDR is a software defined Global Navigation + * Satellite Systems receiver + * + * This file is part of GNSS-SDR. + * + * GNSS-SDR is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * GNSS-SDR is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GNSS-SDR. If not, see . + * + * ------------------------------------------------------------------------- + */ -#ifndef GNSS_SIM_tlm_dump_reader_H -#define GNSS_SIM_tlm_dump_reader_H +#ifndef GNSS_SDR_tlm_dump_reader_H +#define GNSS_SDR_tlm_dump_reader_H #include #include @@ -31,4 +57,4 @@ private: }; -#endif //GNSS_SIM_tlm_dump_reader_H +#endif //GNSS_SDR_tlm_dump_reader_H diff --git a/src/tests/unit-tests/signal-processing-blocks/libs/tracking_dump_reader.cc b/src/tests/unit-tests/signal-processing-blocks/libs/tracking_dump_reader.cc index 90b46b048..ac4120eb4 100644 --- a/src/tests/unit-tests/signal-processing-blocks/libs/tracking_dump_reader.cc +++ b/src/tests/unit-tests/signal-processing-blocks/libs/tracking_dump_reader.cc @@ -1,12 +1,38 @@ -// -// Created by javier on 1/2/2017. -// +/*! + * \file tracking_dump_reader.cc + * \brief Helper file for unit testing + * \author Javier Arribas, 2017. jarribas(at)cttc.es + * + * ------------------------------------------------------------------------- + * + * Copyright (C) 2010-2017 (see AUTHORS file for a list of contributors) + * + * GNSS-SDR is a software defined Global Navigation + * Satellite Systems receiver + * + * This file is part of GNSS-SDR. + * + * GNSS-SDR is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * GNSS-SDR is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GNSS-SDR. If not, see . + * + * ------------------------------------------------------------------------- + */ #include "tracking_dump_reader.h" bool tracking_dump_reader::read_binary_obs() - { - try { +{ + try { d_dump_file.read((char *) &abs_E, sizeof(float)); d_dump_file.read((char *) &abs_P, sizeof(float)); d_dump_file.read((char *) &abs_L, sizeof(float)); @@ -27,22 +53,26 @@ bool tracking_dump_reader::read_binary_obs() d_dump_file.read((char *) &aux1, sizeof(double)); d_dump_file.read((char *) &aux2, sizeof(double)); + } + catch (const std::ifstream::failure &e) + { + return false; + } + return true; +} + +bool tracking_dump_reader::restart() +{ + if (d_dump_file.is_open()) + { + d_dump_file.clear(); + d_dump_file.seekg(0, std::ios::beg); + return true; } - catch (const std::ifstream::failure &e) { + else + { return false; } - return true; - } - -bool tracking_dump_reader::restart() { - if (d_dump_file.is_open()) - { - d_dump_file.clear(); - d_dump_file.seekg(0, std::ios::beg); - return true; - }else{ - return false; - } } long int tracking_dump_reader::num_epochs() @@ -50,44 +80,48 @@ long int tracking_dump_reader::num_epochs() std::ifstream::pos_type size; int number_of_double_vars=11; int number_of_float_vars=5; - int epoch_size_bytes=sizeof(unsigned long int)+ - sizeof(double)*number_of_double_vars+ - sizeof(float)*number_of_float_vars; + int epoch_size_bytes=sizeof(unsigned long int) + + sizeof(double) * number_of_double_vars + + sizeof(float) * number_of_float_vars; std::ifstream tmpfile( d_dump_filename.c_str(), std::ios::binary | std::ios::ate); if (tmpfile.is_open()) { size = tmpfile.tellg(); - long int nepoch=size / epoch_size_bytes; + long int nepoch = size / epoch_size_bytes; return nepoch; - }else{ + } + else + { return 0; } } -bool tracking_dump_reader::open_obs_file(std::string out_file) { +bool tracking_dump_reader::open_obs_file(std::string out_file) +{ if (d_dump_file.is_open() == false) - { - try { - d_dump_filename=out_file; - d_dump_file.exceptions ( std::ifstream::failbit | std::ifstream::badbit ); - d_dump_file.open(d_dump_filename.c_str(), std::ios::in | std::ios::binary); - std::cout << "Tracking dump enabled, Log file: " << d_dump_filename.c_str()<< std::endl; - return true; + try + { + d_dump_filename = out_file; + d_dump_file.exceptions ( std::ifstream::failbit | std::ifstream::badbit ); + d_dump_file.open(d_dump_filename.c_str(), std::ios::in | std::ios::binary); + std::cout << "Tracking dump enabled, Log file: " << d_dump_filename.c_str() << std::endl; + return true; + } + catch (const std::ifstream::failure & e) + { + std::cout << "Problem opening Tracking dump Log file: " << d_dump_filename.c_str() << std::endl; + return false; + } + }else{ + return false; } - catch (const std::ifstream::failure & e) - { - std::cout << "Problem opening Tracking dump Log file: " << d_dump_filename.c_str()<< std::endl; - return false; - } - }else{ - return false; - } } -tracking_dump_reader::~tracking_dump_reader() { +tracking_dump_reader::~tracking_dump_reader() +{ if (d_dump_file.is_open() == true) - { - d_dump_file.close(); - } + { + d_dump_file.close(); + } } diff --git a/src/tests/unit-tests/signal-processing-blocks/libs/tracking_dump_reader.h b/src/tests/unit-tests/signal-processing-blocks/libs/tracking_dump_reader.h index a72315ce9..9f145ecc8 100644 --- a/src/tests/unit-tests/signal-processing-blocks/libs/tracking_dump_reader.h +++ b/src/tests/unit-tests/signal-processing-blocks/libs/tracking_dump_reader.h @@ -1,9 +1,35 @@ -// -// Created by javier on 23/1/2017. -// +/*! + * \file tracking_dump_reader.h + * \brief Helper file for unit testing + * \author Javier Arribas, 2017. jarribas(at)cttc.es + * + * ------------------------------------------------------------------------- + * + * Copyright (C) 2010-2017 (see AUTHORS file for a list of contributors) + * + * GNSS-SDR is a software defined Global Navigation + * Satellite Systems receiver + * + * This file is part of GNSS-SDR. + * + * GNSS-SDR is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * GNSS-SDR is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GNSS-SDR. If not, see . + * + * ------------------------------------------------------------------------- + */ -#ifndef GNSS_SIM_tracking_dump_reader_H -#define GNSS_SIM_tracking_dump_reader_H +#ifndef GNSS_SDR_tracking_dump_reader_H +#define GNSS_SDR_tracking_dump_reader_H #include #include @@ -60,4 +86,4 @@ private: }; -#endif //GNSS_SIM_tracking_dump_reader_H +#endif //GNSS_SDR_tracking_dump_reader_H diff --git a/src/tests/unit-tests/signal-processing-blocks/libs/tracking_true_obs_reader.cc b/src/tests/unit-tests/signal-processing-blocks/libs/tracking_true_obs_reader.cc index cc843e70b..90a31cca4 100644 --- a/src/tests/unit-tests/signal-processing-blocks/libs/tracking_true_obs_reader.cc +++ b/src/tests/unit-tests/signal-processing-blocks/libs/tracking_true_obs_reader.cc @@ -1,75 +1,112 @@ -// -// Created by javier on 1/2/2017. -// +/*! + * \file tracking_true_obs_reader.cc + * \brief Helper file for unit testing + * \author Javier Arribas, 2017. jarribas(at)cttc.es + * + * ------------------------------------------------------------------------- + * + * Copyright (C) 2010-2017 (see AUTHORS file for a list of contributors) + * + * GNSS-SDR is a software defined Global Navigation + * Satellite Systems receiver + * + * This file is part of GNSS-SDR. + * + * GNSS-SDR is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * GNSS-SDR is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GNSS-SDR. If not, see . + * + * ------------------------------------------------------------------------- + */ #include "tracking_true_obs_reader.h" bool tracking_true_obs_reader::read_binary_obs() +{ + try { - try { d_dump_file.read((char *) &signal_timestamp_s, sizeof(double)); d_dump_file.read((char *) &acc_carrier_phase_cycles, sizeof(double)); d_dump_file.read((char *) &doppler_l1_hz, sizeof(double)); d_dump_file.read((char *) &prn_delay_chips, sizeof(double)); d_dump_file.read((char *) &tow, sizeof(double)); + } + catch (const std::ifstream::failure &e) + { + return false; + } + return true; +} + +bool tracking_true_obs_reader::restart() +{ + if (d_dump_file.is_open()) + { + d_dump_file.clear(); + d_dump_file.seekg(0, std::ios::beg); + return true; } - catch (const std::ifstream::failure &e) { + else + { return false; } - return true; - } - -bool tracking_true_obs_reader::restart() { - if (d_dump_file.is_open()) - { - d_dump_file.clear(); - d_dump_file.seekg(0, std::ios::beg); - return true; - }else{ - return false; - } } long int tracking_true_obs_reader::num_epochs() { std::ifstream::pos_type size; - int number_of_vars_in_epoch=5; - int epoch_size_bytes=sizeof(double)*number_of_vars_in_epoch; + int number_of_vars_in_epoch = 5; + int epoch_size_bytes = sizeof(double) * number_of_vars_in_epoch; std::ifstream tmpfile( d_dump_filename.c_str(), std::ios::binary | std::ios::ate); if (tmpfile.is_open()) { size = tmpfile.tellg(); - long int nepoch=size / epoch_size_bytes; + long int nepoch = size / epoch_size_bytes; return nepoch; - }else{ + } + else + { return 0; } } -bool tracking_true_obs_reader::open_obs_file(std::string out_file) { +bool tracking_true_obs_reader::open_obs_file(std::string out_file) +{ if (d_dump_file.is_open() == false) - { - try { - d_dump_filename=out_file; - d_dump_file.exceptions ( std::ifstream::failbit | std::ifstream::badbit ); - d_dump_file.open(d_dump_filename.c_str(), std::ios::in | std::ios::binary); - std::cout << "Observables dump enabled, Log file: " << d_dump_filename.c_str()<< std::endl; - return true; + try + { + d_dump_filename = out_file; + d_dump_file.exceptions ( std::ifstream::failbit | std::ifstream::badbit ); + d_dump_file.open(d_dump_filename.c_str(), std::ios::in | std::ios::binary); + std::cout << "Observables dump enabled, Log file: " << d_dump_filename.c_str() << std::endl; + return true; + } + catch (const std::ifstream::failure & e) + { + std::cout << "Problem opening Observables dump Log file: " << d_dump_filename.c_str() << std::endl; + return false; + } } - catch (const std::ifstream::failure & e) + else { - std::cout << "Problem opening Observables dump Log file: " << d_dump_filename.c_str()<< std::endl; return false; } - }else{ - return false; - } } -tracking_true_obs_reader::~tracking_true_obs_reader() { +tracking_true_obs_reader::~tracking_true_obs_reader() +{ if (d_dump_file.is_open() == true) - { - d_dump_file.close(); - } + { + d_dump_file.close(); + } } diff --git a/src/tests/unit-tests/signal-processing-blocks/libs/tracking_true_obs_reader.h b/src/tests/unit-tests/signal-processing-blocks/libs/tracking_true_obs_reader.h index de4664896..c7f1e646b 100644 --- a/src/tests/unit-tests/signal-processing-blocks/libs/tracking_true_obs_reader.h +++ b/src/tests/unit-tests/signal-processing-blocks/libs/tracking_true_obs_reader.h @@ -1,9 +1,35 @@ -// -// Created by javier on 23/1/2017. -// +/*! + * \file tracking_true_obs_reader.h + * \brief Helper file for unit testing + * \author Javier Arribas, 2017. jarribas(at)cttc.es + * + * ------------------------------------------------------------------------- + * + * Copyright (C) 2010-2017 (see AUTHORS file for a list of contributors) + * + * GNSS-SDR is a software defined Global Navigation + * Satellite Systems receiver + * + * This file is part of GNSS-SDR. + * + * GNSS-SDR is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * GNSS-SDR is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GNSS-SDR. If not, see . + * + * ------------------------------------------------------------------------- + */ -#ifndef GNSS_SIM_tracking_true_obs_reader_H -#define GNSS_SIM_tracking_true_obs_reader_H +#ifndef GNSS_SDR_tracking_true_obs_reader_H +#define GNSS_SDR_tracking_true_obs_reader_H #include #include @@ -33,4 +59,4 @@ private: }; -#endif //GNSS_SIM_tracking_true_obs_reader_H +#endif //GNSS_SDR_tracking_true_obs_reader_H