diff --git a/src/core/system_parameters/galileo_ephemeris.cc b/src/core/system_parameters/galileo_ephemeris.cc index 0e0357aad..6bfb35ff0 100644 --- a/src/core/system_parameters/galileo_ephemeris.cc +++ b/src/core/system_parameters/galileo_ephemeris.cc @@ -282,3 +282,4 @@ void Galileo_Ephemeris::satellitePosition(double transmitTime) d_satvel_Y = Omega_dot * (cos(u) * r * cos(Omega) - sin(u) * r * cos(i) * sin(Omega)) + d_satpos_X * sin(Omega) + d_satpos_Y * cos(i) * cos(Omega); d_satvel_Z = d_satpos_Y * sin(i); } + diff --git a/src/core/system_parameters/gnss_satellite.cc b/src/core/system_parameters/gnss_satellite.cc index 2d4b334f1..fb57fad3c 100644 --- a/src/core/system_parameters/gnss_satellite.cc +++ b/src/core/system_parameters/gnss_satellite.cc @@ -261,7 +261,7 @@ std::string Gnss_Satellite::what_block(const std::string& system_, unsigned int block_ = std::string("IIF"); //Plane E break; case 4 : - block_ = std::string("IIA"); //Plane D + block_ = std::string("Unknown"); break; case 5 : block_ = std::string("IIR-M"); //Plane E @@ -273,13 +273,13 @@ std::string Gnss_Satellite::what_block(const std::string& system_, unsigned int block_ = std::string("IIR-M"); //Plane A break; case 8 : - block_ = std::string("IIA*"); // Decommissed + block_ = std::string("IIF"); //Plane C break; case 9 : block_ = std::string("IIF"); //Plane F break; case 10 : - block_ = std::string("IIA"); //Plane E + block_ = std::string("IIF"); //Plane E break; case 11 : block_ = std::string("IIR"); //Plane D @@ -345,7 +345,7 @@ std::string Gnss_Satellite::what_block(const std::string& system_, unsigned int block_ = std::string("IIR-M"); //Plane A break; case 32 : - block_ = std::string("IIA"); //Plane E + block_ = std::string("IIF"); //Plane F break; default : block_ = std::string("Unknown"); @@ -504,13 +504,13 @@ std::string Gnss_Satellite::what_block(const std::string& system_, unsigned int block_ = std::string("IOV-FM3"); // Galileo In-Orbit Validation (IOV) satellite FM3 (Flight Model 3), launched on October 12, 2012 break; case 20 : - block_ = std::string("IOV-FM4"); // Galileo In-Orbit Validation (IOV) satellite FM4 (Flight Model 4), launched on October 12, 2012. Unavailable. + block_ = std::string("IOV-FM4**"); // Galileo In-Orbit Validation (IOV) satellite FM4 (Flight Model 4), launched on October 12, 2012. Unavailable: Payload power problem. break; case 18 : - block_ = std::string("FOC-FM1"); // Galileo Full Operational Capability (FOC) satellite FM1, launched into incorrect orbit on August 22, 2014. + block_ = std::string("FOC-FM1*"); // Galileo Full Operational Capability (FOC) satellite FM1, launched into incorrect orbit on August 22, 2014. Moved to usable orbit in December, 2014. break; case 14 : - block_ = std::string("FOC-FM2"); // Galileo Full Operational Capability (FOC) satellite FM2, launched into incorrect orbit on August 22, 2014. + block_ = std::string("FOC-FM2*"); // Galileo Full Operational Capability (FOC) satellite FM2, launched into incorrect orbit on August 22, 2014. Moved to usable orbit in March, 2015. break; case 22 : block_ = std::string("FOC-FM4"); // Galileo Full Operational Capability (FOC) satellite FM4, launched on March 27, 2015. diff --git a/src/core/system_parameters/gps_ephemeris.cc b/src/core/system_parameters/gps_ephemeris.cc index 7b1b3283a..555483e0d 100644 --- a/src/core/system_parameters/gps_ephemeris.cc +++ b/src/core/system_parameters/gps_ephemeris.cc @@ -33,6 +33,7 @@ #include "gps_ephemeris.h" #include #include "GPS_L1_CA.h" +#include "gnss_satellite.h" Gps_Ephemeris::Gps_Ephemeris() { @@ -78,44 +79,12 @@ Gps_Ephemeris::Gps_Ephemeris() b_alert_flag = false; // If true, indicates that the SV URA may be worse than indicated in d_SV_accuracy, use that SV at our own risk. b_antispoofing_flag = false; // If true, the AntiSpoofing mode is ON in that SV - //Plane A (info from http://www.navcen.uscg.gov/?Do=constellationStatus) - satelliteBlock[9] = "IIA"; - satelliteBlock[31] = "IIR-M"; - satelliteBlock[8] = "IIA"; - satelliteBlock[7] = "IIR-M"; - satelliteBlock[27] = "IIA"; - //Plane B - satelliteBlock[16] = "IIR"; - satelliteBlock[25] = "IIF"; - satelliteBlock[28] = "IIR"; - satelliteBlock[12] = "IIR-M"; - satelliteBlock[30] = "IIA"; - //Plane C - satelliteBlock[29] = "IIR-M"; - satelliteBlock[3] = "IIA"; - satelliteBlock[19] = "IIR"; - satelliteBlock[17] = "IIR-M"; - satelliteBlock[6] = "IIA"; - //Plane D - satelliteBlock[2] = "IIR"; - satelliteBlock[1] = "IIF"; - satelliteBlock[21] = "IIR"; - satelliteBlock[4] = "IIA"; - satelliteBlock[11] = "IIR"; - satelliteBlock[24] = "IIA"; // Decommissioned from active service on 04 Nov 2011 - //Plane E - satelliteBlock[20] = "IIR"; - satelliteBlock[22] = "IIR"; - satelliteBlock[5] = "IIR-M"; - satelliteBlock[18] = "IIR"; - satelliteBlock[32] = "IIA"; - satelliteBlock[10] = "IIA"; - //Plane F - satelliteBlock[14] = "IIR"; - satelliteBlock[15] = "IIR-M"; - satelliteBlock[13] = "IIR"; - satelliteBlock[23] = "IIR"; - satelliteBlock[26] = "IIA"; + auto gnss_sat = Gnss_Satellite(); + std::string _system ("GPS"); + for(unsigned int i = 1; i < 33; i++) + { + satelliteBlock[i] = gnss_sat.what_block(_system, i); + } d_satClkDrift = 0.0; d_dtr = 0.0; diff --git a/src/core/system_parameters/gps_navigation_message.cc b/src/core/system_parameters/gps_navigation_message.cc index cb9a8658f..6045440b0 100644 --- a/src/core/system_parameters/gps_navigation_message.cc +++ b/src/core/system_parameters/gps_navigation_message.cc @@ -33,6 +33,7 @@ m * \file gps_navigation_message.cc #include "gps_navigation_message.h" #include #include +#include void Gps_Navigation_Message::reset() @@ -136,44 +137,12 @@ void Gps_Navigation_Message::reset() d_satvel_Y = 0; d_satvel_Z = 0; - //Plane A (info from http://www.navcen.uscg.gov/?Do=constellationStatus) - satelliteBlock[9] = "IIA"; - satelliteBlock[31] = "IIR-M"; - satelliteBlock[8] = "IIA"; - satelliteBlock[7] = "IIR-M"; - satelliteBlock[27] = "IIA"; - //Plane B - satelliteBlock[16] = "IIR"; - satelliteBlock[25] = "IIF"; - satelliteBlock[28] = "IIR"; - satelliteBlock[12] = "IIR-M"; - satelliteBlock[30] = "IIA"; - //Plane C - satelliteBlock[29] = "IIR-M"; - satelliteBlock[3] = "IIA"; - satelliteBlock[19] = "IIR"; - satelliteBlock[17] = "IIR-M"; - satelliteBlock[6] = "IIA"; - //Plane D - satelliteBlock[2] = "IIR"; - satelliteBlock[1] = "IIF"; - satelliteBlock[21] = "IIR"; - satelliteBlock[4] = "IIA"; - satelliteBlock[11] = "IIR"; - satelliteBlock[24] = "IIA"; // Decommissioned from active service on 04 Nov 2011 - //Plane E - satelliteBlock[20] = "IIR"; - satelliteBlock[22] = "IIR"; - satelliteBlock[5] = "IIR-M"; - satelliteBlock[18] = "IIR"; - satelliteBlock[32] = "IIA"; - satelliteBlock[10] = "IIA"; - //Plane F - satelliteBlock[14] = "IIR"; - satelliteBlock[15] = "IIR-M"; - satelliteBlock[13] = "IIR"; - satelliteBlock[23] = "IIR"; - satelliteBlock[26] = "IIA"; + auto gnss_sat = Gnss_Satellite(); + std::string _system ("GPS"); + for(unsigned int i = 1; i < 33; i++) + { + satelliteBlock[i] = gnss_sat.what_block(_system, i); + } }