[hamradio-commits] [gnss-sdr] 188/303: Simple example of GPSTk usage
Carles Fernandez
carles_fernandez-guest at moszumanska.debian.org
Mon Feb 13 22:35:59 UTC 2017
This is an automated email from the git hooks/post-receive script.
carles_fernandez-guest pushed a commit to branch master
in repository gnss-sdr.
commit 7f9d3c385dbe2cb2c0e91974af2735d1f7a2559b
Author: Carles Fernandez <carles.fernandez at gmail.com>
Date: Thu Dec 22 01:35:31 2016 +0100
Simple example of GPSTk usage
---
src/tests/CMakeLists.txt | 4 +++
src/tests/system-tests/trk_system_test.cc | 47 +++++++++++++++++++++++++------
2 files changed, 42 insertions(+), 9 deletions(-)
diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt
index 9c086a6..02d972f 100644
--- a/src/tests/CMakeLists.txt
+++ b/src/tests/CMakeLists.txt
@@ -152,6 +152,10 @@ if(ENABLE_SW_GENERATOR)
add_definitions(-DSW_GENERATOR_BIN="${SW_GENERATOR_BIN}")
add_definitions(-DDEFAULT_RINEX_NAV="${CMAKE_CURRENT_BINARY_DIR}/../../../thirdparty/gnss-sim/brdc3540.14n")
add_definitions(-DDEFAULT_POSITION_FILE="${CMAKE_CURRENT_BINARY_DIR}/../../../thirdparty/gnss-sim/circle.csv")
+
+ ################################################################################
+ # Local installation of GPSTk http://www.gpstk.org/
+ ################################################################################
set(gpstk_RELEASE "2.5")
set(gpstk_md5 "9d79f6838d274f5edfd46c780a6b1b72")
ExternalProject_Add(
diff --git a/src/tests/system-tests/trk_system_test.cc b/src/tests/system-tests/trk_system_test.cc
index 26d5d24..527af63 100644
--- a/src/tests/system-tests/trk_system_test.cc
+++ b/src/tests/system-tests/trk_system_test.cc
@@ -12,6 +12,8 @@
#include "concurrent_queue.h"
#include "in_memory_configuration.h"
+
+
// For GPS NAVIGATION (L1)
concurrent_queue<Gps_Acq_Assist> global_gps_acq_assist_queue;
concurrent_map<Gps_Acq_Assist> global_gps_acq_assist_map;
@@ -37,14 +39,36 @@ public:
int configure_receiver();
int run_receiver();
int check_results();
+ bool check_valid_rinex_nav(std::string filename); // return true if the file is a valid Rinex navigation file.
+ bool check_valid_rinex_obs(std::string filename); // return true if the file is a valid Rinex observation file.
std::shared_ptr<InMemoryConfiguration> config;
};
+
+bool Trk_System_Test::check_valid_rinex_nav(std::string filename)
+{
+ bool res = false;
+ res = gpstk::isRinexNavFile(filename);
+ return res;
+}
+
+
+bool Trk_System_Test::check_valid_rinex_obs(std::string filename)
+{
+ bool res = false;
+ res = gpstk::isRinexObsFile(filename);
+ return res;
+}
+
+
int Trk_System_Test::configure_generator()
{
// Configure signal
generator_binary = std::string(SW_GENERATOR_BIN);
+
+ EXPECT_EQ(true, check_valid_rinex_nav(std::string(DEFAULT_RINEX_NAV)));
+
p1 = std::string("-rinex_nav_file=") + std::string(DEFAULT_RINEX_NAV);
p2_static = std::string("-static_position=30.286502,120.032669,100,1000");
p2_dynamic = std::string("-obs_pos_file=") + std::string(DEFAULT_POSITION_FILE); // Observer positions file, in .csv or .nmea format"
@@ -54,6 +78,7 @@ int Trk_System_Test::configure_generator()
return 0;
}
+
int Trk_System_Test::generate_signal()
{
pid_t wait_result;
@@ -65,17 +90,20 @@ int Trk_System_Test::generate_signal()
if ((pid = fork()) == -1)
perror("fork error");
else if (pid == 0)
- {
- execv(&generator_binary[0], parmList);
- std::cout << "Return not expected. Must be an execv error." << std::endl;
- std::terminate();
- }
+ {
+ execv(&generator_binary[0], parmList);
+ std::cout << "Return not expected. Must be an execv error." << std::endl;
+ std::terminate();
+ }
wait_result = waitpid(pid, &child_status, 0);
+
+ EXPECT_EQ(true, check_valid_rinex_obs(filename_rinex_obs));
std::cout << "Signal and Observables RINEX files created." << std::endl;
return 0;
}
+
int Trk_System_Test::configure_receiver()
{
config = std::make_shared<InMemoryConfiguration>();
@@ -231,6 +259,7 @@ int Trk_System_Test::configure_receiver()
return 0;
}
+
int Trk_System_Test::run_receiver()
{
std::shared_ptr<ControlThread> control_thread;
@@ -238,15 +267,15 @@ int Trk_System_Test::run_receiver()
// start receiver
try
{
- control_thread->run();
+ control_thread->run();
}
catch( boost::exception & e )
{
- std::cout << "Boost exception: " << boost::diagnostic_information(e);
+ std::cout << "Boost exception: " << boost::diagnostic_information(e);
}
catch(std::exception const& ex)
{
- std::cout << "STD exception: " << ex.what();
+ std::cout << "STD exception: " << ex.what();
}
return 0;
}
@@ -300,7 +329,7 @@ int main(int argc, char **argv)
int res = 0;
try
{
- testing::InitGoogleTest(&argc, argv);
+ testing::InitGoogleTest(&argc, argv);
}
catch(...) {} // catch the "testing::internal::<unnamed>::ClassUniqueToAlwaysTrue" from gtest
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-hamradio/gnss-sdr.git
More information about the pkg-hamradio-commits
mailing list