mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2025-08-05 21:33:47 +00:00
Add more consistency in parameters name
This commit is contained in:
parent
5a43a3cfce
commit
2e53289653
@ -50,12 +50,12 @@
|
|||||||
<xs:element type="xs:float" name="TGD"/>
|
<xs:element type="xs:float" name="TGD"/>
|
||||||
<xs:element type="xs:byte" name="IODC"/>
|
<xs:element type="xs:byte" name="IODC"/>
|
||||||
<xs:element type="xs:short" name="AODO"/>
|
<xs:element type="xs:short" name="AODO"/>
|
||||||
<xs:element type="xs:byte" name="b_fit_interval_flag"/>
|
<xs:element type="xs:byte" name="fit_interval_flag"/>
|
||||||
<xs:element type="xs:float" name="d_spare1"/>
|
<xs:element type="xs:float" name="spare1"/>
|
||||||
<xs:element type="xs:float" name="d_spare2"/>
|
<xs:element type="xs:float" name="spare2"/>
|
||||||
<xs:element type="xs:byte" name="b_integrity_status_flag"/>
|
<xs:element type="xs:byte" name="integrity_status_flag"/>
|
||||||
<xs:element type="xs:byte" name="b_alert_flag"/>
|
<xs:element type="xs:byte" name="alert_flag"/>
|
||||||
<xs:element type="xs:byte" name="b_antispoofing_flag"/>
|
<xs:element type="xs:byte" name="antispoofing_flag"/>
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
<xs:attribute type="xs:byte" name="class_id" use="optional"/>
|
<xs:attribute type="xs:byte" name="class_id" use="optional"/>
|
||||||
<xs:attribute type="xs:byte" name="tracking_level" 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="L2_P_data_flag"/>
|
||||||
<xs:element type="xs:byte" name="SV_accuracy"/>
|
<xs:element type="xs:byte" name="SV_accuracy"/>
|
||||||
<xs:element type="xs:byte" name="SV_health"/>
|
<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:byte" name="IODC"/>
|
||||||
<xs:element type="xs:short" name="AODO"/>
|
<xs:element type="xs:short" name="AODO"/>
|
||||||
<xs:element type="xs:byte" name="b_fit_interval_flag"/>
|
<xs:element type="xs:byte" name="fit_interval_flag"/>
|
||||||
<xs:element type="xs:float" name="d_spare1"/>
|
<xs:element type="xs:float" name="spare1"/>
|
||||||
<xs:element type="xs:float" name="d_spare2"/>
|
<xs:element type="xs:float" name="spare2"/>
|
||||||
<xs:element type="xs:float" name="af0"/>
|
<xs:element type="xs:float" name="af0"/>
|
||||||
<xs:element type="xs:float" name="af1"/>
|
<xs:element type="xs:float" name="af1"/>
|
||||||
<xs:element type="xs:float" name="af2"/>
|
<xs:element type="xs:float" name="af2"/>
|
||||||
<xs:element type="xs:byte" name="b_integrity_status_flag"/>
|
<xs:element type="xs:byte" name="integrity_status_flag"/>
|
||||||
<xs:element type="xs:byte" name="b_alert_flag"/>
|
<xs:element type="xs:byte" name="alert_flag"/>
|
||||||
<xs:element type="xs:byte" name="b_antispoofing_flag"/>
|
<xs:element type="xs:byte" name="antispoofing_flag"/>
|
||||||
</xs:sequence>
|
</xs:sequence>
|
||||||
<xs:attribute type="xs:byte" name="class_id" use="optional"/>
|
<xs:attribute type="xs:byte" name="class_id" use="optional"/>
|
||||||
<xs:attribute type="xs:byte" name="tracking_level" 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
|
// -------- BROADCAST ORBIT - 1
|
||||||
line.clear();
|
line.clear();
|
||||||
line += std::string(5, ' ');
|
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 += std::string(1, ' ');
|
||||||
line += Rinex_Printer::doub2for(bds_ephemeris_iter->second.Crs, 18, 2);
|
line += Rinex_Printer::doub2for(bds_ephemeris_iter->second.Crs, 18, 2);
|
||||||
line += std::string(1, ' ');
|
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 += std::string(1, ' ');
|
||||||
line += Rinex_Printer::doub2for(static_cast<double>(bds_ephemeris_iter->second.SV_health), 18, 2);
|
line += Rinex_Printer::doub2for(static_cast<double>(bds_ephemeris_iter->second.SV_health), 18, 2);
|
||||||
line += std::string(1, ' ');
|
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 += 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);
|
Rinex_Printer::lengthCheck(line);
|
||||||
out << line << '\n';
|
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 += std::string(5, ' ');
|
||||||
line += Rinex_Printer::doub2for(bds_ephemeris_iter->second.tow, 18, 2);
|
line += Rinex_Printer::doub2for(bds_ephemeris_iter->second.tow, 18, 2);
|
||||||
line += std::string(1, ' ');
|
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(1, ' ');
|
||||||
line += std::string(18, ' '); // spare
|
line += std::string(18, ' '); // spare
|
||||||
line += std::string(1, ' ');
|
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)));
|
gps_eph.L2_P_data_flag = static_cast<bool>(Rtcm::bin_to_uint(message_bin.substr(index, 1)));
|
||||||
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;
|
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)
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -108,17 +108,17 @@ public:
|
|||||||
monitor_.set_d_iode_sf3(monitor->IODE_SF3); //!< issue of data, ephemeris(iode), subframe 3
|
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_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_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->d_spare1);
|
monitor_.set_d_spare1(monitor->spare1);
|
||||||
monitor_.set_d_spare2(monitor->d_spare2);
|
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_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_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_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_integrity_status_flag(monitor->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_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->b_antispoofing_flag); //!< if true, the antispoofing mode is on in that sv
|
monitor_.set_b_antispoofing_flag(monitor->antispoofing_flag); //!< if true, the antispoofing mode is on in that sv
|
||||||
|
|
||||||
monitor_.SerializeToString(&data);
|
monitor_.SerializeToString(&data);
|
||||||
return data;
|
return data;
|
||||||
@ -158,17 +158,17 @@ public:
|
|||||||
monitor.IODE_SF3 = mon.d_iode_sf3(); //!< issue of data, ephemeris(iode), subframe 3
|
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.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.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.spare1 = mon.d_spare1();
|
||||||
monitor.d_spare2 = mon.d_spare2();
|
monitor.spare2 = mon.d_spare2();
|
||||||
|
|
||||||
monitor.af0 = mon.d_a_f0(); //!< coefficient 0 of code phase offset model [s]
|
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.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.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.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.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.antispoofing_flag = mon.b_antispoofing_flag(); //!< if true, the antispoofing mode is on in that sv
|
||||||
|
|
||||||
return monitor;
|
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.svh = bei_eph.SV_health;
|
||||||
rtklib_sat.sva = bei_eph.SV_accuracy;
|
rtklib_sat.sva = bei_eph.SV_accuracy;
|
||||||
|
|
||||||
rtklib_sat.code = bei_eph.i_sig_type; /* B1I data */
|
rtklib_sat.code = bei_eph.sig_type; /* B1I data */
|
||||||
rtklib_sat.flag = bei_eph.i_nav_type; /* MEO/IGSO satellite */
|
rtklib_sat.flag = bei_eph.nav_type; /* MEO/IGSO satellite */
|
||||||
rtklib_sat.iode = static_cast<int32_t>(bei_eph.d_AODE); /* AODE */
|
rtklib_sat.iode = static_cast<int32_t>(bei_eph.AODE); /* AODE */
|
||||||
rtklib_sat.iodc = static_cast<int32_t>(bei_eph.d_AODC); /* AODC */
|
rtklib_sat.iodc = static_cast<int32_t>(bei_eph.AODC); /* AODC */
|
||||||
|
|
||||||
rtklib_sat.week = bei_eph.WN; /* week of tow */
|
rtklib_sat.week = bei_eph.WN; /* week of tow */
|
||||||
rtklib_sat.cic = bei_eph.Cic;
|
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.f0 = bei_eph.af0;
|
||||||
rtklib_sat.f1 = bei_eph.af1;
|
rtklib_sat.f1 = bei_eph.af1;
|
||||||
rtklib_sat.f2 = bei_eph.af2;
|
rtklib_sat.f2 = bei_eph.af2;
|
||||||
rtklib_sat.tgd[0] = bei_eph.d_TGD1;
|
rtklib_sat.tgd[0] = bei_eph.TGD1;
|
||||||
rtklib_sat.tgd[1] = bei_eph.d_TGD2;
|
rtklib_sat.tgd[1] = bei_eph.TGD2;
|
||||||
rtklib_sat.tgd[2] = 0.0;
|
rtklib_sat.tgd[2] = 0.0;
|
||||||
rtklib_sat.tgd[3] = 0.0;
|
rtklib_sat.tgd[3] = 0.0;
|
||||||
rtklib_sat.toes = bei_eph.toe;
|
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_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{};
|
int SV_health{};
|
||||||
double d_TGD1{}; //!< Estimated Group Delay Differential on B1I [s]
|
double TGD1{}; //!< Estimated Group Delay Differential on B1I [s]
|
||||||
double d_TGD2{}; //!< Estimated Group Delay Differential on B2I [s]
|
double TGD2{}; //!< Estimated Group Delay Differential on B2I [s]
|
||||||
double d_AODC{}; //!< Age of Data, Clock
|
double AODC{}; //!< Age of Data, Clock
|
||||||
double d_AODE{}; //!< Age of Data, Ephemeris
|
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 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 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 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.
|
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 d_spare1{};
|
double spare1{};
|
||||||
double d_spare2{};
|
double spare2{};
|
||||||
|
|
||||||
/*! \brief If true, enhanced level of integrity assurance.
|
/*! \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
|
* 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.
|
* seconds, without an accompanying alert, is less than 1E-8 per hour.
|
||||||
*/
|
*/
|
||||||
bool b_integrity_status_flag{};
|
bool 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 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 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
|
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(satClkDrift);
|
||||||
archive& BOOST_SERIALIZATION_NVP(dtr);
|
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_accuracy);
|
||||||
archive& BOOST_SERIALIZATION_NVP(SV_health);
|
archive& BOOST_SERIALIZATION_NVP(SV_health);
|
||||||
archive& BOOST_SERIALIZATION_NVP(d_AODC);
|
archive& BOOST_SERIALIZATION_NVP(AODC);
|
||||||
archive& BOOST_SERIALIZATION_NVP(d_TGD1);
|
archive& BOOST_SERIALIZATION_NVP(TGD1);
|
||||||
archive& BOOST_SERIALIZATION_NVP(d_TGD2);
|
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(AODO);
|
||||||
archive& BOOST_SERIALIZATION_NVP(b_fit_interval_flag);
|
archive& BOOST_SERIALIZATION_NVP(fit_interval_flag);
|
||||||
archive& BOOST_SERIALIZATION_NVP(d_spare1);
|
archive& BOOST_SERIALIZATION_NVP(spare1);
|
||||||
archive& BOOST_SERIALIZATION_NVP(d_spare2);
|
archive& BOOST_SERIALIZATION_NVP(spare2);
|
||||||
archive& BOOST_SERIALIZATION_NVP(b_integrity_status_flag);
|
archive& BOOST_SERIALIZATION_NVP(integrity_status_flag);
|
||||||
archive& BOOST_SERIALIZATION_NVP(b_alert_flag);
|
archive& BOOST_SERIALIZATION_NVP(alert_flag);
|
||||||
archive& BOOST_SERIALIZATION_NVP(b_antispoofing_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
|
// Order as given by eph_t in rtklib
|
||||||
eph.PRN = i_satellite_PRN;
|
eph.PRN = i_satellite_PRN;
|
||||||
eph.d_AODC = d_AODC;
|
eph.AODC = d_AODC;
|
||||||
eph.d_AODE = d_AODE;
|
eph.AODE = d_AODE;
|
||||||
eph.SV_accuracy = i_SV_accuracy;
|
eph.SV_accuracy = i_SV_accuracy;
|
||||||
eph.SV_health = i_SV_health;
|
eph.SV_health = i_SV_health;
|
||||||
eph.WN = i_BEIDOU_week;
|
eph.WN = i_BEIDOU_week;
|
||||||
eph.i_sig_type = i_signal_type;
|
eph.sig_type = i_signal_type;
|
||||||
eph.i_nav_type = 2;
|
eph.nav_type = 2;
|
||||||
|
|
||||||
eph.tow = d_SOW;
|
eph.tow = d_SOW;
|
||||||
eph.toe = d_Toe;
|
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.af1 = static_cast<double>(read_navigation_signed(subframe_bits, D2_A1)) * D1_A1_LSB;
|
||||||
eph.af2 = d_A_f2;
|
eph.af2 = d_A_f2;
|
||||||
|
|
||||||
eph.d_TGD1 = d_TGD1;
|
eph.TGD1 = d_TGD1;
|
||||||
eph.d_TGD2 = d_TGD2;
|
eph.TGD2 = d_TGD2;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
eph.PRN = i_satellite_PRN;
|
eph.PRN = i_satellite_PRN;
|
||||||
eph.d_AODC = d_AODC;
|
eph.AODC = d_AODC;
|
||||||
eph.d_AODE = d_AODE;
|
eph.AODE = d_AODE;
|
||||||
eph.SV_accuracy = i_SV_accuracy;
|
eph.SV_accuracy = i_SV_accuracy;
|
||||||
eph.SV_health = i_SV_health;
|
eph.SV_health = i_SV_health;
|
||||||
eph.WN = i_BEIDOU_week;
|
eph.WN = i_BEIDOU_week;
|
||||||
eph.i_sig_type = i_signal_type;
|
eph.sig_type = i_signal_type;
|
||||||
eph.i_nav_type = 1; // MEO/IGSO
|
eph.nav_type = 1; // MEO/IGSO
|
||||||
|
|
||||||
eph.tow = d_SOW;
|
eph.tow = d_SOW;
|
||||||
eph.toe = ((d_Toe_sf2 + d_Toe_sf3) * D1_TOE_LSB);
|
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.af1 = d_A_f1;
|
||||||
eph.af2 = d_A_f2;
|
eph.af2 = d_A_f2;
|
||||||
|
|
||||||
eph.d_TGD1 = d_TGD1;
|
eph.TGD1 = d_TGD1;
|
||||||
eph.d_TGD2 = d_TGD2;
|
eph.TGD2 = d_TGD2;
|
||||||
}
|
}
|
||||||
|
|
||||||
return eph;
|
return eph;
|
||||||
|
@ -45,7 +45,7 @@ public:
|
|||||||
this->System = 'G';
|
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 Adot{}; //!< Change rate in semi-major axis
|
||||||
double delta_ndot{}; //!< Rate of mean motion difference from computed value
|
double delta_ndot{}; //!< Rate of mean motion difference from computed value
|
||||||
double delta_OMEGAdot{}; //!< Rate of Right Ascension difference [semi-circles/s]
|
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
|
* 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.
|
* seconds, without an accompanying alert, is less than 1E-8 per hour.
|
||||||
*/
|
*/
|
||||||
bool b_integrity_status_flag{};
|
bool integrity_status_flag{};
|
||||||
bool b_l2c_phasing_flag{};
|
bool 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 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 antispoofing_flag{}; //!< If true, the AntiSpoofing mode is ON in that SV
|
||||||
|
|
||||||
template <class Archive>
|
template <class Archive>
|
||||||
|
|
||||||
@ -130,12 +130,13 @@ public:
|
|||||||
archive& BOOST_SERIALIZATION_NVP(ISCL2);
|
archive& BOOST_SERIALIZATION_NVP(ISCL2);
|
||||||
archive& BOOST_SERIALIZATION_NVP(ISCL5I);
|
archive& BOOST_SERIALIZATION_NVP(ISCL5I);
|
||||||
archive& BOOST_SERIALIZATION_NVP(ISCL5Q);
|
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(Adot);
|
||||||
archive& BOOST_SERIALIZATION_NVP(delta_OMEGAdot);
|
archive& BOOST_SERIALIZATION_NVP(delta_OMEGAdot);
|
||||||
archive& BOOST_SERIALIZATION_NVP(b_integrity_status_flag);
|
archive& BOOST_SERIALIZATION_NVP(integrity_status_flag);
|
||||||
archive& BOOST_SERIALIZATION_NVP(b_alert_flag);
|
archive& BOOST_SERIALIZATION_NVP(l2c_phasing_flag);
|
||||||
archive& BOOST_SERIALIZATION_NVP(b_antispoofing_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;
|
ephemeris_record.tow = d_TOW;
|
||||||
|
|
||||||
alert_flag = static_cast<bool>(read_navigation_bool(data_bits, CNAV_ALERT_FLAG));
|
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));
|
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.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 = static_cast<int32_t>(read_navigation_unsigned(data_bits, CNAV_TOE1));
|
||||||
ephemeris_record.toe1 *= CNAV_TOE1_LSB;
|
ephemeris_record.toe1 *= CNAV_TOE1_LSB;
|
||||||
ephemeris_record.deltaA = static_cast<double>(read_navigation_signed(data_bits, CNAV_DELTA_A));
|
ephemeris_record.delta_A = static_cast<double>(read_navigation_signed(data_bits, CNAV_DELTA_A));
|
||||||
ephemeris_record.deltaA *= CNAV_DELTA_A_LSB;
|
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 = static_cast<double>(read_navigation_signed(data_bits, CNAV_A_DOT));
|
||||||
ephemeris_record.Adot *= CNAV_A_DOT_LSB;
|
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 = static_cast<double>(read_navigation_signed(data_bits, CNAV_DELTA_N0));
|
||||||
ephemeris_record.delta_n *= CNAV_DELTA_N0_LSB;
|
ephemeris_record.delta_n *= CNAV_DELTA_N0_LSB;
|
||||||
ephemeris_record.delta_ndot = static_cast<double>(read_navigation_signed(data_bits, CNAV_DELTA_N0_DOT));
|
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 = static_cast<double>(read_navigation_signed(data_bits, CNAV_OMEGA));
|
||||||
ephemeris_record.omega *= CNAV_OMEGA_LSB;
|
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.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.l2c_phasing_flag = static_cast<bool>(read_navigation_bool(data_bits, CNAV_L2_PHASING_FLAG));
|
||||||
|
|
||||||
b_flag_ephemeris_1 = true;
|
b_flag_ephemeris_1 = true;
|
||||||
break;
|
break;
|
||||||
|
@ -55,9 +55,9 @@ public:
|
|||||||
int32_t IODE_SF3{}; //!< Issue of Data, Ephemeris (IODE), subframe 3
|
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]
|
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.
|
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 d_spare1{};
|
double spare1{};
|
||||||
double d_spare2{};
|
double spare2{};
|
||||||
|
|
||||||
// Flags
|
// 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
|
* 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.
|
* accompanying alert, is less than 1E-8 per hour.
|
||||||
*/
|
*/
|
||||||
bool b_integrity_status_flag{};
|
bool 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 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 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
|
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(TGD);
|
||||||
archive& BOOST_SERIALIZATION_NVP(IODC);
|
archive& BOOST_SERIALIZATION_NVP(IODC);
|
||||||
archive& BOOST_SERIALIZATION_NVP(AODO);
|
archive& BOOST_SERIALIZATION_NVP(AODO);
|
||||||
archive& BOOST_SERIALIZATION_NVP(b_fit_interval_flag);
|
archive& BOOST_SERIALIZATION_NVP(fit_interval_flag);
|
||||||
archive& BOOST_SERIALIZATION_NVP(d_spare1);
|
archive& BOOST_SERIALIZATION_NVP(spare1);
|
||||||
archive& BOOST_SERIALIZATION_NVP(d_spare2);
|
archive& BOOST_SERIALIZATION_NVP(spare2);
|
||||||
archive& BOOST_SERIALIZATION_NVP(b_integrity_status_flag);
|
archive& BOOST_SERIALIZATION_NVP(integrity_status_flag);
|
||||||
archive& BOOST_SERIALIZATION_NVP(b_alert_flag);
|
archive& BOOST_SERIALIZATION_NVP(alert_flag);
|
||||||
archive& BOOST_SERIALIZATION_NVP(b_antispoofing_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_SF2 = d_IODE_SF2;
|
||||||
ephemeris.IODE_SF3 = d_IODE_SF3;
|
ephemeris.IODE_SF3 = d_IODE_SF3;
|
||||||
ephemeris.AODO = i_AODO;
|
ephemeris.AODO = i_AODO;
|
||||||
ephemeris.b_fit_interval_flag = b_fit_interval_flag;
|
ephemeris.fit_interval_flag = b_fit_interval_flag;
|
||||||
ephemeris.d_spare1 = d_spare1;
|
ephemeris.spare1 = d_spare1;
|
||||||
ephemeris.d_spare2 = d_spare2;
|
ephemeris.spare2 = d_spare2;
|
||||||
ephemeris.af0 = d_A_f0;
|
ephemeris.af0 = d_A_f0;
|
||||||
ephemeris.af1 = d_A_f1;
|
ephemeris.af1 = d_A_f1;
|
||||||
ephemeris.af2 = d_A_f2;
|
ephemeris.af2 = d_A_f2;
|
||||||
ephemeris.b_integrity_status_flag = b_integrity_status_flag;
|
ephemeris.integrity_status_flag = b_integrity_status_flag;
|
||||||
ephemeris.b_alert_flag = b_alert_flag;
|
ephemeris.alert_flag = b_alert_flag;
|
||||||
ephemeris.b_antispoofing_flag = b_antispoofing_flag;
|
ephemeris.antispoofing_flag = b_antispoofing_flag;
|
||||||
|
|
||||||
// These parameters are empty; can be computed later with
|
// These parameters are empty; can be computed later with
|
||||||
// ephemeris.sv_clock_drift(double transmitTime);
|
// ephemeris.sv_clock_drift(double transmitTime);
|
||||||
|
@ -250,14 +250,14 @@ TEST(RtcmTest, MT1019)
|
|||||||
gps_eph.PRN = 3;
|
gps_eph.PRN = 3;
|
||||||
gps_eph.IODC = 4;
|
gps_eph.IODC = 4;
|
||||||
gps_eph.ecc = 2.0 * ECCENTRICITY_LSB;
|
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);
|
std::string tx_msg = rtcm->print_MT1019(gps_eph);
|
||||||
|
|
||||||
EXPECT_EQ(0, rtcm->read_MT1019(tx_msg, gps_eph_read));
|
EXPECT_EQ(0, rtcm->read_MT1019(tx_msg, gps_eph_read));
|
||||||
EXPECT_EQ(static_cast<unsigned int>(3), gps_eph_read.PRN);
|
EXPECT_EQ(static_cast<unsigned int>(3), gps_eph_read.PRN);
|
||||||
EXPECT_DOUBLE_EQ(4, gps_eph_read.IODC);
|
EXPECT_DOUBLE_EQ(4, gps_eph_read.IODC);
|
||||||
EXPECT_DOUBLE_EQ(2.0 * ECCENTRICITY_LSB, gps_eph_read.ecc);
|
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));
|
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.TGD = rne.Tgd;
|
||||||
eph.IODC = rne.IODC;
|
eph.IODC = rne.IODC;
|
||||||
eph.AODO = 0; //
|
eph.AODO = 0; //
|
||||||
eph.b_fit_interval_flag = (rne.fitint > 4) ? true : false;
|
eph.fit_interval_flag = (rne.fitint > 4) ? true : false;
|
||||||
eph.d_spare1 = 0.0;
|
eph.spare1 = 0.0;
|
||||||
eph.d_spare2 = 0.0;
|
eph.spare2 = 0.0;
|
||||||
eph.af0 = rne.af0;
|
eph.af0 = rne.af0;
|
||||||
eph.af1 = rne.af1;
|
eph.af1 = rne.af1;
|
||||||
eph.af2 = rne.af2;
|
eph.af2 = rne.af2;
|
||||||
eph.b_integrity_status_flag = false; //
|
eph.integrity_status_flag = false; //
|
||||||
eph.b_alert_flag = false; //
|
eph.alert_flag = false; //
|
||||||
eph.b_antispoofing_flag = false; //
|
eph.antispoofing_flag = false; //
|
||||||
eph_map[i] = eph;
|
eph_map[i] = eph;
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user