[hamradio-commits] [gnss-sdr] 92/126: fix msg number for Galileo MSM1 messages
Carles Fernandez
carles_fernandez-guest at moszumanska.debian.org
Sat Dec 26 18:38:05 UTC 2015
This is an automated email from the git hooks/post-receive script.
carles_fernandez-guest pushed a commit to branch next
in repository gnss-sdr.
commit 642268365223d489a2ebc32d1f2c6f265907e01e
Author: Carles Fernandez <carles.fernandez at gmail.com>
Date: Sat Dec 5 13:32:45 2015 +0100
fix msg number for Galileo MSM1 messages
---
src/core/system_parameters/rtcm.cc | 36 +++++++++++++++++++++++++++++++++++-
src/tests/formats/rtcm_test.cc | 8 ++++----
2 files changed, 39 insertions(+), 5 deletions(-)
diff --git a/src/core/system_parameters/rtcm.cc b/src/core/system_parameters/rtcm.cc
index a088358..6a18efc 100644
--- a/src/core/system_parameters/rtcm.cc
+++ b/src/core/system_parameters/rtcm.cc
@@ -1021,7 +1021,18 @@ std::string Rtcm::print_MSM_1( const Gps_Ephemeris & gps_eph,
bool divergence_free,
bool more_messages)
{
- unsigned int msg_number = 1071; /// check for Galileo, it's 1091
+ unsigned int msg_number = 0;
+ if(gps_eph.i_satellite_PRN != 0) msg_number = 1071;
+ if(gal_eph.i_satellite_PRN != 0) msg_number = 1091;
+ if((gps_eph.i_satellite_PRN != 0) && (gal_eph.i_satellite_PRN != 0))
+ {
+ LOG(WARNING) << "MSM messages for observables from different systems are not defined"; //print two messages?
+ }
+ if(msg_number == 0)
+ {
+ LOG(WARNING) << "Invalid ephemeris provided";
+ msg_number = 1071;
+ }
std::string header = Rtcm::get_MSM_header(msg_number, gps_eph,
gal_eph,
@@ -2509,6 +2520,29 @@ int Rtcm::set_DF401(const Gnss_Synchro & gnss_synchro)
return 0;
}
+//int Rtcm::set_DF402(const Gnss_Synchro & gnss_synchro)
+//{
+// unsigned indicator = 15;
+// // Table 3.5-74
+// if (lock < 32 ) indicator = 0;
+// if (lock < 64 ) indicator = 1;
+// if (lock < 128 ) indicator = 2;
+// if (lock < 256 ) indicator = 3;
+// if (lock < 512 ) indicator = 4;
+// if (lock < 1024 ) indicator = 5;
+// if (lock < 2048 ) indicator = 6;
+// if (lock < 4096 ) indicator = 7;
+// if (lock < 8192 ) indicator = 8;
+// if (lock < 16384 ) indicator = 9;
+// if (lock < 32768 ) indicator = 10;
+// if (lock < 65536 ) indicator = 11;
+// if (lock < 131072) indicator = 12;
+// if (lock < 262144) indicator = 13;
+// if (lock < 524288) indicator = 14;
+// return 0;
+//}
+
+
int Rtcm::set_DF403(const Gnss_Synchro & gnss_synchro)
{
diff --git a/src/tests/formats/rtcm_test.cc b/src/tests/formats/rtcm_test.cc
index d8d0fa2..9aca8a1 100644
--- a/src/tests/formats/rtcm_test.cc
+++ b/src/tests/formats/rtcm_test.cc
@@ -328,7 +328,8 @@ TEST(Rtcm_Test, MSMCell)
bool more_messages = false;
double obs_time = 25.0;
- gps_eph.i_satellite_PRN = gnss_synchro.PRN;
+ gps_eph.i_satellite_PRN = gnss_synchro2.PRN;
+ gal_eph.i_satellite_PRN = gnss_synchro.PRN;
std::string MSM1 = rtcm->print_MSM_1(gps_eph,
gal_eph,
@@ -402,7 +403,6 @@ TEST(Rtcm_Test, MSM1)
{
auto rtcm = std::make_shared<Rtcm>();
Gps_Ephemeris gps_eph = Gps_Ephemeris();
- Galileo_Ephemeris gal_eph = Galileo_Ephemeris();
std::map<int, Gnss_Synchro> pseudoranges;
Gnss_Synchro gnss_synchro;
@@ -452,7 +452,7 @@ TEST(Rtcm_Test, MSM1)
gps_eph.i_satellite_PRN = gnss_synchro.PRN;
std::string MSM1 = rtcm->print_MSM_1(gps_eph,
- gal_eph,
+ {},
obs_time,
pseudoranges,
ref_id,
@@ -501,7 +501,7 @@ TEST(Rtcm_Test, MSM1)
pseudoranges2.insert(std::pair<int, Gnss_Synchro>(3, gnss_synchro2));
pseudoranges2.insert(std::pair<int, Gnss_Synchro>(4, gnss_synchro));
std::string MSM1_2 = rtcm->print_MSM_1(gps_eph,
- gal_eph,
+ {},
obs_time,
pseudoranges2,
ref_id,
--
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