mirror of
				https://github.com/gnss-sdr/gnss-sdr
				synced 2025-10-31 15:23:04 +00:00 
			
		
		
		
	Add more consistency in parameters name
This commit is contained in:
		| @@ -50,12 +50,12 @@ | ||||
|                           <xs:element type="xs:float" name="TGD"/> | ||||
|                           <xs:element type="xs:byte" name="IODC"/> | ||||
|                           <xs:element type="xs:short" name="AODO"/> | ||||
|                           <xs:element type="xs:byte" name="b_fit_interval_flag"/> | ||||
|                           <xs:element type="xs:float" name="d_spare1"/> | ||||
|                           <xs:element type="xs:float" name="d_spare2"/> | ||||
|                           <xs:element type="xs:byte" name="b_integrity_status_flag"/> | ||||
|                           <xs:element type="xs:byte" name="b_alert_flag"/> | ||||
|                           <xs:element type="xs:byte" name="b_antispoofing_flag"/> | ||||
|                           <xs:element type="xs:byte" name="fit_interval_flag"/> | ||||
|                           <xs:element type="xs:float" name="spare1"/> | ||||
|                           <xs:element type="xs:float" name="spare2"/> | ||||
|                           <xs:element type="xs:byte" name="integrity_status_flag"/> | ||||
|                           <xs:element type="xs:byte" name="alert_flag"/> | ||||
|                           <xs:element type="xs:byte" name="antispoofing_flag"/> | ||||
|                         </xs:sequence> | ||||
|                         <xs:attribute type="xs:byte" name="class_id" use="optional"/> | ||||
|                         <xs:attribute type="xs:byte" name="tracking_level" use="optional"/> | ||||
|   | ||||
| @@ -42,18 +42,18 @@ IODE_SF<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualifi | ||||
|                           <xs:element type="xs:byte" name="L2_P_data_flag"/> | ||||
|                           <xs:element type="xs:byte" name="SV_accuracy"/> | ||||
|                           <xs:element type="xs:byte" name="SV_health"/> | ||||
|                           <xs:element type="xs:float" name="d_TGD"/> | ||||
|                           <xs:element type="xs:float" name="TGD"/> | ||||
|                           <xs:element type="xs:byte" name="IODC"/> | ||||
|                           <xs:element type="xs:short" name="AODO"/> | ||||
|                           <xs:element type="xs:byte" name="b_fit_interval_flag"/> | ||||
|                           <xs:element type="xs:float" name="d_spare1"/> | ||||
|                           <xs:element type="xs:float" name="d_spare2"/> | ||||
|                           <xs:element type="xs:byte" name="fit_interval_flag"/> | ||||
|                           <xs:element type="xs:float" name="spare1"/> | ||||
|                           <xs:element type="xs:float" name="spare2"/> | ||||
|                           <xs:element type="xs:float" name="af0"/> | ||||
|                           <xs:element type="xs:float" name="af1"/> | ||||
|                           <xs:element type="xs:float" name="af2"/> | ||||
|                           <xs:element type="xs:byte" name="b_integrity_status_flag"/> | ||||
|                           <xs:element type="xs:byte" name="b_alert_flag"/> | ||||
|                           <xs:element type="xs:byte" name="b_antispoofing_flag"/> | ||||
|                           <xs:element type="xs:byte" name="integrity_status_flag"/> | ||||
|                           <xs:element type="xs:byte" name="alert_flag"/> | ||||
|                           <xs:element type="xs:byte" name="antispoofing_flag"/> | ||||
|                         </xs:sequence> | ||||
|                         <xs:attribute type="xs:byte" name="class_id" use="optional"/> | ||||
|                         <xs:attribute type="xs:byte" name="tracking_level" use="optional"/> | ||||
|   | ||||
| @@ -5813,7 +5813,7 @@ void Rinex_Printer::log_rinex_nav(std::fstream& out, const std::map<int32_t, Bei | ||||
|             // -------- BROADCAST ORBIT - 1 | ||||
|             line.clear(); | ||||
|             line += std::string(5, ' '); | ||||
|             line += Rinex_Printer::doub2for(bds_ephemeris_iter->second.d_AODE, 18, 2); | ||||
|             line += Rinex_Printer::doub2for(bds_ephemeris_iter->second.AODE, 18, 2); | ||||
|             line += std::string(1, ' '); | ||||
|             line += Rinex_Printer::doub2for(bds_ephemeris_iter->second.Crs, 18, 2); | ||||
|             line += std::string(1, ' '); | ||||
| @@ -5884,9 +5884,9 @@ void Rinex_Printer::log_rinex_nav(std::fstream& out, const std::map<int32_t, Bei | ||||
|             line += std::string(1, ' '); | ||||
|             line += Rinex_Printer::doub2for(static_cast<double>(bds_ephemeris_iter->second.SV_health), 18, 2); | ||||
|             line += std::string(1, ' '); | ||||
|             line += Rinex_Printer::doub2for(bds_ephemeris_iter->second.d_TGD1, 18, 2); | ||||
|             line += Rinex_Printer::doub2for(bds_ephemeris_iter->second.TGD1, 18, 2); | ||||
|             line += std::string(1, ' '); | ||||
|             line += Rinex_Printer::doub2for(bds_ephemeris_iter->second.d_TGD2, 18, 2); | ||||
|             line += Rinex_Printer::doub2for(bds_ephemeris_iter->second.TGD2, 18, 2); | ||||
|             Rinex_Printer::lengthCheck(line); | ||||
|             out << line << '\n'; | ||||
|  | ||||
| @@ -5895,7 +5895,7 @@ void Rinex_Printer::log_rinex_nav(std::fstream& out, const std::map<int32_t, Bei | ||||
|             line += std::string(5, ' '); | ||||
|             line += Rinex_Printer::doub2for(bds_ephemeris_iter->second.tow, 18, 2); | ||||
|             line += std::string(1, ' '); | ||||
|             line += Rinex_Printer::doub2for(bds_ephemeris_iter->second.d_AODC, 18, 2); | ||||
|             line += Rinex_Printer::doub2for(bds_ephemeris_iter->second.AODC, 18, 2); | ||||
|             line += std::string(1, ' '); | ||||
|             line += std::string(18, ' ');  // spare | ||||
|             line += std::string(1, ' '); | ||||
|   | ||||
| @@ -1713,7 +1713,7 @@ int32_t Rtcm::read_MT1019(const std::string& message, Gps_Ephemeris& gps_eph) co | ||||
|     gps_eph.L2_P_data_flag = static_cast<bool>(Rtcm::bin_to_uint(message_bin.substr(index, 1))); | ||||
|     index += 1; | ||||
|  | ||||
|     gps_eph.b_fit_interval_flag = static_cast<bool>(Rtcm::bin_to_uint(message_bin.substr(index, 1))); | ||||
|     gps_eph.fit_interval_flag = static_cast<bool>(Rtcm::bin_to_uint(message_bin.substr(index, 1))); | ||||
|  | ||||
|     return 0; | ||||
| } | ||||
| @@ -4789,7 +4789,7 @@ int32_t Rtcm::set_DF136(const Glonass_Gnav_Ephemeris& glonass_gnav_eph) | ||||
|  | ||||
| int32_t Rtcm::set_DF137(const Gps_Ephemeris& gps_eph) | ||||
| { | ||||
|     DF137 = std::bitset<1>(gps_eph.b_fit_interval_flag); | ||||
|     DF137 = std::bitset<1>(gps_eph.fit_interval_flag); | ||||
|     return 0; | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -108,17 +108,17 @@ public: | ||||
|         monitor_.set_d_iode_sf3(monitor->IODE_SF3);  //!< issue of data, ephemeris(iode), subframe 3 | ||||
|         monitor_.set_i_aodo(monitor->AODO);          //!< age of data offset (aodo) term for the navigation message correction table (nmct) contained in subframe 4 (reference paragraph 20.3.3.5.1.9) [s] | ||||
|  | ||||
|         monitor_.set_b_fit_interval_flag(monitor->b_fit_interval_flag);  //!< indicates the curve-fit interval used by the cs (block ii/iia/iir/iir-m/iif) and ss (block iiia) in determining the ephemeris parameters, as follows: 0 = 4 hours, 1 = greater than 4 hours. | ||||
|         monitor_.set_d_spare1(monitor->d_spare1); | ||||
|         monitor_.set_d_spare2(monitor->d_spare2); | ||||
|         monitor_.set_b_fit_interval_flag(monitor->fit_interval_flag);  //!< indicates the curve-fit interval used by the cs (block ii/iia/iir/iir-m/iif) and ss (block iiia) in determining the ephemeris parameters, as follows: 0 = 4 hours, 1 = greater than 4 hours. | ||||
|         monitor_.set_d_spare1(monitor->spare1); | ||||
|         monitor_.set_d_spare2(monitor->spare2); | ||||
|  | ||||
|         monitor_.set_d_a_f0(monitor->af0);  //!< coefficient 0 of code phase offset model [s] | ||||
|         monitor_.set_d_a_f1(monitor->af1);  //!< coefficient 1 of code phase offset model [s/s] | ||||
|         monitor_.set_d_a_f2(monitor->af2);  //!< coefficient 2 of code phase offset model [s/s^2] | ||||
|  | ||||
|         monitor_.set_b_integrity_status_flag(monitor->b_integrity_status_flag); | ||||
|         monitor_.set_b_alert_flag(monitor->b_alert_flag);                //!< if true, indicates that the sv ura may be worse than indicated in d_sv_accuracy, use that sv at our own risk. | ||||
|         monitor_.set_b_antispoofing_flag(monitor->b_antispoofing_flag);  //!< if true, the antispoofing mode is on in that sv | ||||
|         monitor_.set_b_integrity_status_flag(monitor->integrity_status_flag); | ||||
|         monitor_.set_b_alert_flag(monitor->alert_flag);                //!< if true, indicates that the sv ura may be worse than indicated in d_sv_accuracy, use that sv at our own risk. | ||||
|         monitor_.set_b_antispoofing_flag(monitor->antispoofing_flag);  //!< if true, the antispoofing mode is on in that sv | ||||
|  | ||||
|         monitor_.SerializeToString(&data); | ||||
|         return data; | ||||
| @@ -158,17 +158,17 @@ public: | ||||
|         monitor.IODE_SF3 = mon.d_iode_sf3();  //!< issue of data, ephemeris(iode), subframe 3 | ||||
|         monitor.AODO = mon.i_aodo();          //!< age of data offset (aodo) term for the navigation message correction table (nmct) contained in subframe 4 (reference paragraph 20.3.3.5.1.9) [s] | ||||
|  | ||||
|         monitor.b_fit_interval_flag = mon.b_fit_interval_flag();  //!< indicates the curve-fit interval used by the cs (block ii/iia/iir/iir-m/iif) and ss (block iiia) in determining the ephemeris parameters, as follows: 0 = 4 hours, 1 = greater than 4 hours. | ||||
|         monitor.d_spare1 = mon.d_spare1(); | ||||
|         monitor.d_spare2 = mon.d_spare2(); | ||||
|         monitor.fit_interval_flag = mon.b_fit_interval_flag();  //!< indicates the curve-fit interval used by the cs (block ii/iia/iir/iir-m/iif) and ss (block iiia) in determining the ephemeris parameters, as follows: 0 = 4 hours, 1 = greater than 4 hours. | ||||
|         monitor.spare1 = mon.d_spare1(); | ||||
|         monitor.spare2 = mon.d_spare2(); | ||||
|  | ||||
|         monitor.af0 = mon.d_a_f0();  //!< coefficient 0 of code phase offset model [s] | ||||
|         monitor.af1 = mon.d_a_f1();  //!< coefficient 1 of code phase offset model [s/s] | ||||
|         monitor.af2 = mon.d_a_f2();  //!< coefficient 2 of code phase offset model [s/s^2] | ||||
|  | ||||
|         monitor.b_integrity_status_flag = mon.b_integrity_status_flag(); | ||||
|         monitor.b_alert_flag = mon.b_alert_flag();                //!< if true, indicates that the sv ura may be worse than indicated in d_sv_accuracy, use that sv at our own risk. | ||||
|         monitor.b_antispoofing_flag = mon.b_antispoofing_flag();  //!< if true, the antispoofing mode is on in that sv | ||||
|         monitor.integrity_status_flag = mon.b_integrity_status_flag(); | ||||
|         monitor.alert_flag = mon.b_alert_flag();                //!< if true, indicates that the sv ura may be worse than indicated in d_sv_accuracy, use that sv at our own risk. | ||||
|         monitor.antispoofing_flag = mon.b_antispoofing_flag();  //!< if true, the antispoofing mode is on in that sv | ||||
|  | ||||
|         return monitor; | ||||
|     } | ||||
|   | ||||
| @@ -300,10 +300,10 @@ eph_t eph_to_rtklib(const Beidou_Dnav_Ephemeris& bei_eph) | ||||
|     rtklib_sat.svh = bei_eph.SV_health; | ||||
|     rtklib_sat.sva = bei_eph.SV_accuracy; | ||||
|  | ||||
|     rtklib_sat.code = bei_eph.i_sig_type;                   /* B1I data */ | ||||
|     rtklib_sat.flag = bei_eph.i_nav_type;                   /* MEO/IGSO satellite */ | ||||
|     rtklib_sat.iode = static_cast<int32_t>(bei_eph.d_AODE); /* AODE */ | ||||
|     rtklib_sat.iodc = static_cast<int32_t>(bei_eph.d_AODC); /* AODC */ | ||||
|     rtklib_sat.code = bei_eph.sig_type;                   /* B1I data */ | ||||
|     rtklib_sat.flag = bei_eph.nav_type;                   /* MEO/IGSO satellite */ | ||||
|     rtklib_sat.iode = static_cast<int32_t>(bei_eph.AODE); /* AODE */ | ||||
|     rtklib_sat.iodc = static_cast<int32_t>(bei_eph.AODC); /* AODC */ | ||||
|  | ||||
|     rtklib_sat.week = bei_eph.WN; /* week of tow */ | ||||
|     rtklib_sat.cic = bei_eph.Cic; | ||||
| @@ -315,8 +315,8 @@ eph_t eph_to_rtklib(const Beidou_Dnav_Ephemeris& bei_eph) | ||||
|     rtklib_sat.f0 = bei_eph.af0; | ||||
|     rtklib_sat.f1 = bei_eph.af1; | ||||
|     rtklib_sat.f2 = bei_eph.af2; | ||||
|     rtklib_sat.tgd[0] = bei_eph.d_TGD1; | ||||
|     rtklib_sat.tgd[1] = bei_eph.d_TGD2; | ||||
|     rtklib_sat.tgd[0] = bei_eph.TGD1; | ||||
|     rtklib_sat.tgd[1] = bei_eph.TGD2; | ||||
|     rtklib_sat.tgd[2] = 0.0; | ||||
|     rtklib_sat.tgd[3] = 0.0; | ||||
|     rtklib_sat.toes = bei_eph.toe; | ||||
|   | ||||
| @@ -46,18 +46,18 @@ public: | ||||
|  | ||||
|     int SV_accuracy{};  //!< User Range Accuracy (URA) index of the SV (reference paragraph 6.2.1) for the standard positioning service user (Ref 20.3.3.3.1.3 IS-GPS-200L) | ||||
|     int SV_health{}; | ||||
|     double d_TGD1{};  //!< Estimated Group Delay Differential on B1I [s] | ||||
|     double d_TGD2{};  //!< Estimated Group Delay Differential on B2I [s] | ||||
|     double d_AODC{};  //!< Age of Data, Clock | ||||
|     double d_AODE{};  //!< Age of Data, Ephemeris | ||||
|     double TGD1{};  //!< Estimated Group Delay Differential on B1I [s] | ||||
|     double TGD2{};  //!< Estimated Group Delay Differential on B2I [s] | ||||
|     double AODC{};    //!< Age of Data, Clock | ||||
|     double AODE{};    //!< Age of Data, Ephemeris | ||||
|     int AODO{};       //!< Age of Data Offset (AODO) term for the navigation message correction table (NMCT) contained in subframe 4 (reference paragraph 20.3.3.5.1.9) [s] | ||||
|  | ||||
|     int i_sig_type{};  //!< BDS: data source (0:unknown,1:B1I,2:B1Q,3:B2I,4:B2Q,5:B3I,6:B3Q) */ | ||||
|     int i_nav_type{};  //!< BDS: nav type (0:unknown,1:IGSO/MEO,2:GEO) */ | ||||
|     int sig_type{};  //!< BDS: data source (0:unknown,1:B1I,2:B1Q,3:B2I,4:B2Q,5:B3I,6:B3Q) */ | ||||
|     int nav_type{};  //!< BDS: nav type (0:unknown,1:IGSO/MEO,2:GEO) */ | ||||
|  | ||||
|     bool b_fit_interval_flag{};  //!< Curve-fit interval used by the CS (Block II/IIA/IIR/IIR-M/IIF) and SS (Block IIIA) in determining the ephemeris parameters, as follows: 0 = 4 hours, 1 = greater than 4 hours. | ||||
|     double d_spare1{}; | ||||
|     double d_spare2{}; | ||||
|     bool fit_interval_flag{};  //!< Curve-fit interval used by the CS (Block II/IIA/IIR/IIR-M/IIF) and SS (Block IIIA) in determining the ephemeris parameters, as follows: 0 = 4 hours, 1 = greater than 4 hours. | ||||
|     double spare1{}; | ||||
|     double spare2{}; | ||||
|  | ||||
|     /*! \brief If true, enhanced level of integrity assurance. | ||||
|      * | ||||
| @@ -72,9 +72,9 @@ public: | ||||
|      *  bound value of the current broadcast URA index, for more than 5.2 | ||||
|      *  seconds, without an accompanying alert, is less than 1E-8 per hour. | ||||
|      */ | ||||
|     bool b_integrity_status_flag{}; | ||||
|     bool b_alert_flag{};         //!< If true, indicates that the SV URA may be worse than indicated in d_SV_accuracy, use that SV at our own risk. | ||||
|     bool b_antispoofing_flag{};  //!< If true, the AntiSpoofing mode is ON in that SV | ||||
|     bool integrity_status_flag{}; | ||||
|     bool alert_flag{};         //!< If true, indicates that the SV URA may be worse than indicated in d_SV_accuracy, use that SV at our own risk. | ||||
|     bool antispoofing_flag{};  //!< If true, the AntiSpoofing mode is ON in that SV | ||||
|  | ||||
|     std::map<int, std::string> satelliteBlock;  //!< Map that stores to which block the PRN belongs | ||||
|  | ||||
| @@ -117,19 +117,21 @@ public: | ||||
|         archive& BOOST_SERIALIZATION_NVP(satClkDrift); | ||||
|         archive& BOOST_SERIALIZATION_NVP(dtr); | ||||
|  | ||||
|         archive& BOOST_SERIALIZATION_NVP(d_AODE); | ||||
|         archive& BOOST_SERIALIZATION_NVP(AODE); | ||||
|         archive& BOOST_SERIALIZATION_NVP(SV_accuracy); | ||||
|         archive& BOOST_SERIALIZATION_NVP(SV_health); | ||||
|         archive& BOOST_SERIALIZATION_NVP(d_AODC); | ||||
|         archive& BOOST_SERIALIZATION_NVP(d_TGD1); | ||||
|         archive& BOOST_SERIALIZATION_NVP(d_TGD2); | ||||
|         archive& BOOST_SERIALIZATION_NVP(AODC); | ||||
|         archive& BOOST_SERIALIZATION_NVP(TGD1); | ||||
|         archive& BOOST_SERIALIZATION_NVP(TGD2); | ||||
|         archive& BOOST_SERIALIZATION_NVP(sig_type); | ||||
|         archive& BOOST_SERIALIZATION_NVP(nav_type); | ||||
|         archive& BOOST_SERIALIZATION_NVP(AODO); | ||||
|         archive& BOOST_SERIALIZATION_NVP(b_fit_interval_flag); | ||||
|         archive& BOOST_SERIALIZATION_NVP(d_spare1); | ||||
|         archive& BOOST_SERIALIZATION_NVP(d_spare2); | ||||
|         archive& BOOST_SERIALIZATION_NVP(b_integrity_status_flag); | ||||
|         archive& BOOST_SERIALIZATION_NVP(b_alert_flag); | ||||
|         archive& BOOST_SERIALIZATION_NVP(b_antispoofing_flag); | ||||
|         archive& BOOST_SERIALIZATION_NVP(fit_interval_flag); | ||||
|         archive& BOOST_SERIALIZATION_NVP(spare1); | ||||
|         archive& BOOST_SERIALIZATION_NVP(spare2); | ||||
|         archive& BOOST_SERIALIZATION_NVP(integrity_status_flag); | ||||
|         archive& BOOST_SERIALIZATION_NVP(alert_flag); | ||||
|         archive& BOOST_SERIALIZATION_NVP(antispoofing_flag); | ||||
|     } | ||||
| }; | ||||
|  | ||||
|   | ||||
| @@ -653,13 +653,13 @@ Beidou_Dnav_Ephemeris Beidou_Dnav_Navigation_Message::get_ephemeris() const | ||||
|  | ||||
|             // Order as given by eph_t in rtklib | ||||
|             eph.PRN = i_satellite_PRN; | ||||
|             eph.d_AODC = d_AODC; | ||||
|             eph.d_AODE = d_AODE; | ||||
|             eph.AODC = d_AODC; | ||||
|             eph.AODE = d_AODE; | ||||
|             eph.SV_accuracy = i_SV_accuracy; | ||||
|             eph.SV_health = i_SV_health; | ||||
|             eph.WN = i_BEIDOU_week; | ||||
|             eph.i_sig_type = i_signal_type; | ||||
|             eph.i_nav_type = 2; | ||||
|             eph.sig_type = i_signal_type; | ||||
|             eph.nav_type = 2; | ||||
|  | ||||
|             eph.tow = d_SOW; | ||||
|             eph.toe = d_Toe; | ||||
| @@ -693,19 +693,19 @@ Beidou_Dnav_Ephemeris Beidou_Dnav_Navigation_Message::get_ephemeris() const | ||||
|             eph.af1 = static_cast<double>(read_navigation_signed(subframe_bits, D2_A1)) * D1_A1_LSB; | ||||
|             eph.af2 = d_A_f2; | ||||
|  | ||||
|             eph.d_TGD1 = d_TGD1; | ||||
|             eph.d_TGD2 = d_TGD2; | ||||
|             eph.TGD1 = d_TGD1; | ||||
|             eph.TGD2 = d_TGD2; | ||||
|         } | ||||
|     else | ||||
|         { | ||||
|             eph.PRN = i_satellite_PRN; | ||||
|             eph.d_AODC = d_AODC; | ||||
|             eph.d_AODE = d_AODE; | ||||
|             eph.AODC = d_AODC; | ||||
|             eph.AODE = d_AODE; | ||||
|             eph.SV_accuracy = i_SV_accuracy; | ||||
|             eph.SV_health = i_SV_health; | ||||
|             eph.WN = i_BEIDOU_week; | ||||
|             eph.i_sig_type = i_signal_type; | ||||
|             eph.i_nav_type = 1;  // MEO/IGSO | ||||
|             eph.sig_type = i_signal_type; | ||||
|             eph.nav_type = 1;  // MEO/IGSO | ||||
|  | ||||
|             eph.tow = d_SOW; | ||||
|             eph.toe = ((d_Toe_sf2 + d_Toe_sf3) * D1_TOE_LSB); | ||||
| @@ -732,8 +732,8 @@ Beidou_Dnav_Ephemeris Beidou_Dnav_Navigation_Message::get_ephemeris() const | ||||
|             eph.af1 = d_A_f1; | ||||
|             eph.af2 = d_A_f2; | ||||
|  | ||||
|             eph.d_TGD1 = d_TGD1; | ||||
|             eph.d_TGD2 = d_TGD2; | ||||
|             eph.TGD1 = d_TGD1; | ||||
|             eph.TGD2 = d_TGD2; | ||||
|         } | ||||
|  | ||||
|     return eph; | ||||
|   | ||||
| @@ -45,7 +45,7 @@ public: | ||||
|         this->System = 'G'; | ||||
|     } | ||||
|  | ||||
|     double deltaA{};          //!< Semi-major axis difference at reference time | ||||
|     double delta_A{};         //!< Semi-major axis difference at reference time | ||||
|     double Adot{};            //!< Change rate in semi-major axis | ||||
|     double delta_ndot{};      //!< Rate of mean motion difference from computed value | ||||
|     double delta_OMEGAdot{};  //!< Rate of Right Ascension  difference [semi-circles/s] | ||||
| @@ -79,10 +79,10 @@ public: | ||||
|      *  bound value of the current broadcast URA index, for more than 5.2 | ||||
|      *  seconds, without an accompanying alert, is less than 1E-8 per hour. | ||||
|      */ | ||||
|     bool b_integrity_status_flag{}; | ||||
|     bool b_l2c_phasing_flag{}; | ||||
|     bool b_alert_flag{};         //!< If true, indicates that the SV URA may be worse than indicated in d_SV_accuracy, use that SV at our own risk. | ||||
|     bool b_antispoofing_flag{};  //!< If true, the AntiSpoofing mode is ON in that SV | ||||
|     bool integrity_status_flag{}; | ||||
|     bool l2c_phasing_flag{}; | ||||
|     bool alert_flag{};         //!< If true, indicates that the SV URA may be worse than indicated in d_SV_accuracy, use that SV at our own risk. | ||||
|     bool antispoofing_flag{};  //!< If true, the AntiSpoofing mode is ON in that SV | ||||
|  | ||||
|     template <class Archive> | ||||
|  | ||||
| @@ -130,12 +130,13 @@ public: | ||||
|         archive& BOOST_SERIALIZATION_NVP(ISCL2); | ||||
|         archive& BOOST_SERIALIZATION_NVP(ISCL5I); | ||||
|         archive& BOOST_SERIALIZATION_NVP(ISCL5Q); | ||||
|         archive& BOOST_SERIALIZATION_NVP(deltaA); | ||||
|         archive& BOOST_SERIALIZATION_NVP(delta_A); | ||||
|         archive& BOOST_SERIALIZATION_NVP(Adot); | ||||
|         archive& BOOST_SERIALIZATION_NVP(delta_OMEGAdot); | ||||
|         archive& BOOST_SERIALIZATION_NVP(b_integrity_status_flag); | ||||
|         archive& BOOST_SERIALIZATION_NVP(b_alert_flag); | ||||
|         archive& BOOST_SERIALIZATION_NVP(b_antispoofing_flag); | ||||
|         archive& BOOST_SERIALIZATION_NVP(integrity_status_flag); | ||||
|         archive& BOOST_SERIALIZATION_NVP(l2c_phasing_flag); | ||||
|         archive& BOOST_SERIALIZATION_NVP(alert_flag); | ||||
|         archive& BOOST_SERIALIZATION_NVP(antispoofing_flag); | ||||
|     } | ||||
| }; | ||||
|  | ||||
|   | ||||
| @@ -114,7 +114,7 @@ void Gps_CNAV_Navigation_Message::decode_page(std::bitset<GPS_CNAV_DATA_PAGE_BIT | ||||
|     ephemeris_record.tow = d_TOW; | ||||
|  | ||||
|     alert_flag = static_cast<bool>(read_navigation_bool(data_bits, CNAV_ALERT_FLAG)); | ||||
|     ephemeris_record.b_alert_flag = alert_flag; | ||||
|     ephemeris_record.alert_flag = alert_flag; | ||||
|  | ||||
|     page_type = static_cast<int32_t>(read_navigation_unsigned(data_bits, CNAV_MSG_TYPE)); | ||||
|  | ||||
| @@ -129,11 +129,11 @@ void Gps_CNAV_Navigation_Message::decode_page(std::bitset<GPS_CNAV_DATA_PAGE_BIT | ||||
|             ephemeris_record.URA0 = static_cast<double>(read_navigation_signed(data_bits, CNAV_URA)); | ||||
|             ephemeris_record.toe1 = static_cast<int32_t>(read_navigation_unsigned(data_bits, CNAV_TOE1)); | ||||
|             ephemeris_record.toe1 *= CNAV_TOE1_LSB; | ||||
|             ephemeris_record.deltaA = static_cast<double>(read_navigation_signed(data_bits, CNAV_DELTA_A)); | ||||
|             ephemeris_record.deltaA *= CNAV_DELTA_A_LSB; | ||||
|             ephemeris_record.delta_A = static_cast<double>(read_navigation_signed(data_bits, CNAV_DELTA_A)); | ||||
|             ephemeris_record.delta_A *= CNAV_DELTA_A_LSB; | ||||
|             ephemeris_record.Adot = static_cast<double>(read_navigation_signed(data_bits, CNAV_A_DOT)); | ||||
|             ephemeris_record.Adot *= CNAV_A_DOT_LSB; | ||||
|             ephemeris_record.sqrtA = std::sqrt(CNAV_A_REF + ephemeris_record.deltaA); | ||||
|             ephemeris_record.sqrtA = std::sqrt(CNAV_A_REF + ephemeris_record.delta_A); | ||||
|             ephemeris_record.delta_n = static_cast<double>(read_navigation_signed(data_bits, CNAV_DELTA_N0)); | ||||
|             ephemeris_record.delta_n *= CNAV_DELTA_N0_LSB; | ||||
|             ephemeris_record.delta_ndot = static_cast<double>(read_navigation_signed(data_bits, CNAV_DELTA_N0_DOT)); | ||||
| @@ -145,8 +145,8 @@ void Gps_CNAV_Navigation_Message::decode_page(std::bitset<GPS_CNAV_DATA_PAGE_BIT | ||||
|             ephemeris_record.omega = static_cast<double>(read_navigation_signed(data_bits, CNAV_OMEGA)); | ||||
|             ephemeris_record.omega *= CNAV_OMEGA_LSB; | ||||
|  | ||||
|             ephemeris_record.b_integrity_status_flag = static_cast<bool>(read_navigation_bool(data_bits, CNAV_INTEGRITY_FLAG)); | ||||
|             ephemeris_record.b_l2c_phasing_flag = static_cast<bool>(read_navigation_bool(data_bits, CNAV_L2_PHASING_FLAG)); | ||||
|             ephemeris_record.integrity_status_flag = static_cast<bool>(read_navigation_bool(data_bits, CNAV_INTEGRITY_FLAG)); | ||||
|             ephemeris_record.l2c_phasing_flag = static_cast<bool>(read_navigation_bool(data_bits, CNAV_L2_PHASING_FLAG)); | ||||
|  | ||||
|             b_flag_ephemeris_1 = true; | ||||
|             break; | ||||
|   | ||||
| @@ -55,9 +55,9 @@ public: | ||||
|     int32_t IODE_SF3{};     //!< Issue of Data, Ephemeris (IODE), subframe 3 | ||||
|     int32_t AODO{};         //!< Age of Data Offset (AODO) term for the navigation message correction table (NMCT) contained in subframe 4 (reference paragraph 20.3.3.5.1.9) [s] | ||||
|  | ||||
|     bool b_fit_interval_flag{};  //!< indicates the curve-fit interval used by the CS (Block II/IIA/IIR/IIR-M/IIF) and SS (Block IIIA) in determining the ephemeris parameters, as follows: 0 = 4 hours, 1 = greater than 4 hours. | ||||
|     double d_spare1{}; | ||||
|     double d_spare2{}; | ||||
|     bool fit_interval_flag{};  //!< indicates the curve-fit interval used by the CS (Block II/IIA/IIR/IIR-M/IIF) and SS (Block IIIA) in determining the ephemeris parameters, as follows: 0 = 4 hours, 1 = greater than 4 hours. | ||||
|     double spare1{}; | ||||
|     double spare2{}; | ||||
|  | ||||
|     // Flags | ||||
|  | ||||
| @@ -71,9 +71,9 @@ public: | ||||
|      *  times the upper bound value of the current broadcast URA index, for more than 5.2 seconds, without an | ||||
|      *  accompanying alert, is less than 1E-8 per hour. | ||||
|      */ | ||||
|     bool b_integrity_status_flag{}; | ||||
|     bool b_alert_flag{};         //!< If true, indicates that the SV URA may be worse than indicated in d_SV_accuracy, use that SV at our own risk. | ||||
|     bool b_antispoofing_flag{};  //!< If true, the AntiSpoofing mode is ON in that SV | ||||
|     bool integrity_status_flag{}; | ||||
|     bool alert_flag{};         //!< If true, indicates that the SV URA may be worse than indicated in d_SV_accuracy, use that SV at our own risk. | ||||
|     bool antispoofing_flag{};  //!< If true, the AntiSpoofing mode is ON in that SV | ||||
|  | ||||
|     std::map<int, std::string> satelliteBlock;  //!< Map that stores to which block the PRN belongs https://www.navcen.uscg.gov/?Do=constellationStatus | ||||
|  | ||||
| @@ -125,12 +125,12 @@ public: | ||||
|         archive& BOOST_SERIALIZATION_NVP(TGD); | ||||
|         archive& BOOST_SERIALIZATION_NVP(IODC); | ||||
|         archive& BOOST_SERIALIZATION_NVP(AODO); | ||||
|         archive& BOOST_SERIALIZATION_NVP(b_fit_interval_flag); | ||||
|         archive& BOOST_SERIALIZATION_NVP(d_spare1); | ||||
|         archive& BOOST_SERIALIZATION_NVP(d_spare2); | ||||
|         archive& BOOST_SERIALIZATION_NVP(b_integrity_status_flag); | ||||
|         archive& BOOST_SERIALIZATION_NVP(b_alert_flag); | ||||
|         archive& BOOST_SERIALIZATION_NVP(b_antispoofing_flag); | ||||
|         archive& BOOST_SERIALIZATION_NVP(fit_interval_flag); | ||||
|         archive& BOOST_SERIALIZATION_NVP(spare1); | ||||
|         archive& BOOST_SERIALIZATION_NVP(spare2); | ||||
|         archive& BOOST_SERIALIZATION_NVP(integrity_status_flag); | ||||
|         archive& BOOST_SERIALIZATION_NVP(alert_flag); | ||||
|         archive& BOOST_SERIALIZATION_NVP(antispoofing_flag); | ||||
|     } | ||||
| }; | ||||
|  | ||||
|   | ||||
| @@ -455,15 +455,15 @@ Gps_Ephemeris Gps_Navigation_Message::get_ephemeris() const | ||||
|     ephemeris.IODE_SF2 = d_IODE_SF2; | ||||
|     ephemeris.IODE_SF3 = d_IODE_SF3; | ||||
|     ephemeris.AODO = i_AODO; | ||||
|     ephemeris.b_fit_interval_flag = b_fit_interval_flag; | ||||
|     ephemeris.d_spare1 = d_spare1; | ||||
|     ephemeris.d_spare2 = d_spare2; | ||||
|     ephemeris.fit_interval_flag = b_fit_interval_flag; | ||||
|     ephemeris.spare1 = d_spare1; | ||||
|     ephemeris.spare2 = d_spare2; | ||||
|     ephemeris.af0 = d_A_f0; | ||||
|     ephemeris.af1 = d_A_f1; | ||||
|     ephemeris.af2 = d_A_f2; | ||||
|     ephemeris.b_integrity_status_flag = b_integrity_status_flag; | ||||
|     ephemeris.b_alert_flag = b_alert_flag; | ||||
|     ephemeris.b_antispoofing_flag = b_antispoofing_flag; | ||||
|     ephemeris.integrity_status_flag = b_integrity_status_flag; | ||||
|     ephemeris.alert_flag = b_alert_flag; | ||||
|     ephemeris.antispoofing_flag = b_antispoofing_flag; | ||||
|  | ||||
|     // These parameters are empty; can be computed later with | ||||
|     // ephemeris.sv_clock_drift(double transmitTime); | ||||
|   | ||||
| @@ -250,14 +250,14 @@ TEST(RtcmTest, MT1019) | ||||
|     gps_eph.PRN = 3; | ||||
|     gps_eph.IODC = 4; | ||||
|     gps_eph.ecc = 2.0 * ECCENTRICITY_LSB; | ||||
|     gps_eph.b_fit_interval_flag = true; | ||||
|     gps_eph.fit_interval_flag = true; | ||||
|     std::string tx_msg = rtcm->print_MT1019(gps_eph); | ||||
|  | ||||
|     EXPECT_EQ(0, rtcm->read_MT1019(tx_msg, gps_eph_read)); | ||||
|     EXPECT_EQ(static_cast<unsigned int>(3), gps_eph_read.PRN); | ||||
|     EXPECT_DOUBLE_EQ(4, gps_eph_read.IODC); | ||||
|     EXPECT_DOUBLE_EQ(2.0 * ECCENTRICITY_LSB, gps_eph_read.ecc); | ||||
|     EXPECT_EQ(expected_true, gps_eph_read.b_fit_interval_flag); | ||||
|     EXPECT_EQ(expected_true, gps_eph_read.fit_interval_flag); | ||||
|     EXPECT_EQ(1, rtcm->read_MT1019(rtcm->bin_to_binary_data(rtcm->hex_to_bin("FFFFFFFFFFF")), gps_eph_read)); | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -253,15 +253,15 @@ int main(int argc, char** argv) | ||||
|                             eph.TGD = rne.Tgd; | ||||
|                             eph.IODC = rne.IODC; | ||||
|                             eph.AODO = 0;  // | ||||
|                             eph.b_fit_interval_flag = (rne.fitint > 4) ? true : false; | ||||
|                             eph.d_spare1 = 0.0; | ||||
|                             eph.d_spare2 = 0.0; | ||||
|                             eph.fit_interval_flag = (rne.fitint > 4) ? true : false; | ||||
|                             eph.spare1 = 0.0; | ||||
|                             eph.spare2 = 0.0; | ||||
|                             eph.af0 = rne.af0; | ||||
|                             eph.af1 = rne.af1; | ||||
|                             eph.af2 = rne.af2; | ||||
|                             eph.b_integrity_status_flag = false;  // | ||||
|                             eph.b_alert_flag = false;             // | ||||
|                             eph.b_antispoofing_flag = false;      // | ||||
|                             eph.integrity_status_flag = false;  // | ||||
|                             eph.alert_flag = false;             // | ||||
|                             eph.antispoofing_flag = false;      // | ||||
|                             eph_map[i] = eph; | ||||
|                             i++; | ||||
|                         } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Carles Fernandez
					Carles Fernandez