mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2025-04-10 20:56:45 +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: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++;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user