mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2025-03-06 03:28:16 +00:00
Improve data types for almanac parameters
This commit is contained in:
parent
ae722fd354
commit
d77448cd76
@ -15,9 +15,9 @@
|
|||||||
<xs:complexType mixed="true">
|
<xs:complexType mixed="true">
|
||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element type="xs:byte" name="i_satellite_PRN"/>
|
<xs:element type="xs:byte" name="i_satellite_PRN"/>
|
||||||
<xs:element type="xs:float" name="d_Toa"/>
|
<xs:element type="xs:byte" name="i_Toa"/>
|
||||||
<xs:element type="xs:float" name="d_WNa"/>
|
<xs:element type="xs:byte" name="i_WNa"/>
|
||||||
<xs:element type="xs:float" name="d_IODa"/>
|
<xs:element type="xs:byte" name="i_IODa"/>
|
||||||
<xs:element type="xs:float" name="d_Delta_i"/>
|
<xs:element type="xs:float" name="d_Delta_i"/>
|
||||||
<xs:element type="xs:float" name="d_M_0"/>
|
<xs:element type="xs:float" name="d_M_0"/>
|
||||||
<xs:element type="xs:float" name="d_e_eccentricity"/>
|
<xs:element type="xs:float" name="d_e_eccentricity"/>
|
||||||
@ -27,9 +27,9 @@
|
|||||||
<xs:element type="xs:float" name="d_OMEGA_DOT"/>
|
<xs:element type="xs:float" name="d_OMEGA_DOT"/>
|
||||||
<xs:element type="xs:float" name="d_A_f0"/>
|
<xs:element type="xs:float" name="d_A_f0"/>
|
||||||
<xs:element type="xs:float" name="d_A_f1"/>
|
<xs:element type="xs:float" name="d_A_f1"/>
|
||||||
<xs:element type="xs:float" name="E5b_HS"/>
|
<xs:element type="xs:byte" name="E5b_HS"/>
|
||||||
<xs:element type="xs:float" name="E1B_HS"/>
|
<xs:element type="xs:byte" name="E1B_HS"/>
|
||||||
<xs:element type="xs:float" name="E5a_HS"/>
|
<xs:element type="xs:byte" name="E5a_HS"/>
|
||||||
</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"/>
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
<xs:sequence>
|
<xs:sequence>
|
||||||
<xs:element type="xs:byte" name="i_satellite_PRN"/>
|
<xs:element type="xs:byte" name="i_satellite_PRN"/>
|
||||||
<xs:element type="xs:float" name="d_Delta_i"/>
|
<xs:element type="xs:float" name="d_Delta_i"/>
|
||||||
<xs:element type="xs:float" name="d_Toa"/>
|
<xs:element type="xs:byte" name="i_Toa"/>
|
||||||
<xs:element type="xs:byte" name="i_WNa"/>
|
<xs:element type="xs:byte" name="i_WNa"/>
|
||||||
<xs:element type="xs:float" name="d_M_0"/>
|
<xs:element type="xs:float" name="d_M_0"/>
|
||||||
<xs:element type="xs:float" name="d_e_eccentricity"/>
|
<xs:element type="xs:float" name="d_e_eccentricity"/>
|
||||||
|
@ -302,7 +302,7 @@ alm_t alm_to_rtklib(const Gps_Almanac& gps_alm)
|
|||||||
rtklib_alm.svh = gps_alm.i_SV_health;
|
rtklib_alm.svh = gps_alm.i_SV_health;
|
||||||
rtklib_alm.svconf = gps_alm.i_AS_status;
|
rtklib_alm.svconf = gps_alm.i_AS_status;
|
||||||
rtklib_alm.week = gps_alm.i_WNa;
|
rtklib_alm.week = gps_alm.i_WNa;
|
||||||
rtklib_alm.toa = gpst2time(gps_alm.i_WNa, gps_alm.d_Toa);
|
rtklib_alm.toa = gpst2time(gps_alm.i_WNa, gps_alm.i_Toa);
|
||||||
rtklib_alm.A = gps_alm.d_sqrt_A * gps_alm.d_sqrt_A;
|
rtklib_alm.A = gps_alm.d_sqrt_A * gps_alm.d_sqrt_A;
|
||||||
rtklib_alm.e = gps_alm.d_e_eccentricity;
|
rtklib_alm.e = gps_alm.d_e_eccentricity;
|
||||||
rtklib_alm.i0 = gps_alm.d_Delta_i + 0.3;
|
rtklib_alm.i0 = gps_alm.d_Delta_i + 0.3;
|
||||||
@ -312,7 +312,7 @@ alm_t alm_to_rtklib(const Gps_Almanac& gps_alm)
|
|||||||
rtklib_alm.M0 = gps_alm.d_M_0;
|
rtklib_alm.M0 = gps_alm.d_M_0;
|
||||||
rtklib_alm.f0 = gps_alm.d_A_f0;
|
rtklib_alm.f0 = gps_alm.d_A_f0;
|
||||||
rtklib_alm.f1 = gps_alm.d_A_f1;
|
rtklib_alm.f1 = gps_alm.d_A_f1;
|
||||||
rtklib_alm.toas = gps_alm.d_Toa;
|
rtklib_alm.toas = gps_alm.i_Toa;
|
||||||
|
|
||||||
|
|
||||||
return rtklib_alm;
|
return rtklib_alm;
|
||||||
@ -326,8 +326,8 @@ alm_t alm_to_rtklib(const Galileo_Almanac& gal_alm)
|
|||||||
rtklib_alm.sat = gal_alm.i_satellite_PRN;
|
rtklib_alm.sat = gal_alm.i_satellite_PRN;
|
||||||
rtklib_alm.svh = gal_alm.E1B_HS;
|
rtklib_alm.svh = gal_alm.E1B_HS;
|
||||||
rtklib_alm.svconf = gal_alm.E1B_HS;
|
rtklib_alm.svconf = gal_alm.E1B_HS;
|
||||||
rtklib_alm.week = gal_alm.d_WNa;
|
rtklib_alm.week = gal_alm.i_WNa;
|
||||||
rtklib_alm.toa = gpst2time(gal_alm.d_WNa, gal_alm.d_Toa);
|
rtklib_alm.toa = gpst2time(gal_alm.i_WNa, gal_alm.i_Toa);
|
||||||
rtklib_alm.A = 5440.588203494 + gal_alm.d_Delta_sqrt_A;
|
rtklib_alm.A = 5440.588203494 + gal_alm.d_Delta_sqrt_A;
|
||||||
rtklib_alm.A = rtklib_alm.A * rtklib_alm.A;
|
rtklib_alm.A = rtklib_alm.A * rtklib_alm.A;
|
||||||
rtklib_alm.e = gal_alm.d_e_eccentricity;
|
rtklib_alm.e = gal_alm.d_e_eccentricity;
|
||||||
@ -338,7 +338,7 @@ alm_t alm_to_rtklib(const Galileo_Almanac& gal_alm)
|
|||||||
rtklib_alm.M0 = gal_alm.d_M_0;
|
rtklib_alm.M0 = gal_alm.d_M_0;
|
||||||
rtklib_alm.f0 = gal_alm.d_A_f0;
|
rtklib_alm.f0 = gal_alm.d_A_f0;
|
||||||
rtklib_alm.f1 = gal_alm.d_A_f1;
|
rtklib_alm.f1 = gal_alm.d_A_f1;
|
||||||
rtklib_alm.toas = gal_alm.d_Toa;
|
rtklib_alm.toas = gal_alm.i_Toa;
|
||||||
|
|
||||||
|
|
||||||
return rtklib_alm;
|
return rtklib_alm;
|
||||||
|
@ -267,7 +267,7 @@ void gnss_sdr_supl_client::read_supl_data()
|
|||||||
gps_almanac_iterator->second.d_OMEGA0 = static_cast<double>(a->OMEGA_0) * pow(2.0, -23);
|
gps_almanac_iterator->second.d_OMEGA0 = static_cast<double>(a->OMEGA_0) * pow(2.0, -23);
|
||||||
gps_almanac_iterator->second.d_sqrt_A = static_cast<double>(a->A_sqrt) * pow(2.0, -11);
|
gps_almanac_iterator->second.d_sqrt_A = static_cast<double>(a->A_sqrt) * pow(2.0, -11);
|
||||||
gps_almanac_iterator->second.d_OMEGA_DOT = static_cast<double>(a->OMEGA_dot) * pow(2.0, -38);
|
gps_almanac_iterator->second.d_OMEGA_DOT = static_cast<double>(a->OMEGA_dot) * pow(2.0, -38);
|
||||||
gps_almanac_iterator->second.d_Toa = static_cast<double>(a->toa) * pow(2.0, 12);
|
gps_almanac_iterator->second.i_Toa = static_cast<int32_t>(a->toa) * pow(2.0, 12);
|
||||||
gps_almanac_iterator->second.d_e_eccentricity = static_cast<double>(a->e) * pow(2.0, -21);
|
gps_almanac_iterator->second.d_e_eccentricity = static_cast<double>(a->e) * pow(2.0, -21);
|
||||||
gps_almanac_iterator->second.d_M_0 = static_cast<double>(a->M0) * pow(2.0, -23);
|
gps_almanac_iterator->second.d_M_0 = static_cast<double>(a->M0) * pow(2.0, -23);
|
||||||
}
|
}
|
||||||
|
@ -34,9 +34,9 @@
|
|||||||
Galileo_Almanac::Galileo_Almanac()
|
Galileo_Almanac::Galileo_Almanac()
|
||||||
{
|
{
|
||||||
i_satellite_PRN = 0U;
|
i_satellite_PRN = 0U;
|
||||||
d_Toa = 0.0;
|
i_Toa = 0;
|
||||||
d_WNa = 0.0;
|
i_WNa = 0;
|
||||||
d_IODa = 0.0;
|
i_IODa = 0;
|
||||||
d_Delta_i = 0.0;
|
d_Delta_i = 0.0;
|
||||||
d_M_0 = 0.0;
|
d_M_0 = 0.0;
|
||||||
d_e_eccentricity = 0.0;
|
d_e_eccentricity = 0.0;
|
||||||
@ -46,7 +46,7 @@ Galileo_Almanac::Galileo_Almanac()
|
|||||||
d_OMEGA_DOT = 0.0;
|
d_OMEGA_DOT = 0.0;
|
||||||
d_A_f0 = 0.0;
|
d_A_f0 = 0.0;
|
||||||
d_A_f1 = 0.0;
|
d_A_f1 = 0.0;
|
||||||
E5b_HS = 0.0;
|
E5b_HS = 0;
|
||||||
E1B_HS = 0.0;
|
E1B_HS = 0;
|
||||||
E5a_HS = 0.0;
|
E5a_HS = 0;
|
||||||
}
|
}
|
||||||
|
@ -42,10 +42,10 @@ class Galileo_Almanac
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
uint32_t i_satellite_PRN; //!< SV PRN NUMBER
|
uint32_t i_satellite_PRN; //!< SV PRN NUMBER
|
||||||
double d_Toa;
|
int32_t i_Toa;
|
||||||
double d_WNa;
|
int32_t i_WNa;
|
||||||
double d_IODa;
|
int32_t i_IODa;
|
||||||
double d_Delta_i;
|
double d_Delta_i; //!< Inclination at reference time relative to i0 = 56º [semi-circles]
|
||||||
double d_M_0; //!< Mean Anomaly at Reference Time [semi-circles]
|
double d_M_0; //!< Mean Anomaly at Reference Time [semi-circles]
|
||||||
double d_e_eccentricity; //!< Eccentricity [dimensionless]
|
double d_e_eccentricity; //!< Eccentricity [dimensionless]
|
||||||
double d_Delta_sqrt_A; //!< Square Root of the Semi-Major Axis [sqrt(m)]
|
double d_Delta_sqrt_A; //!< Square Root of the Semi-Major Axis [sqrt(m)]
|
||||||
@ -54,9 +54,9 @@ public:
|
|||||||
double d_OMEGA_DOT; //!< Rate of Right Ascension [semi-circles/s]
|
double d_OMEGA_DOT; //!< Rate of Right Ascension [semi-circles/s]
|
||||||
double d_A_f0; //!< Coefficient 0 of code phase offset model [s]
|
double d_A_f0; //!< Coefficient 0 of code phase offset model [s]
|
||||||
double d_A_f1; //!< Coefficient 1 of code phase offset model [s/s]
|
double d_A_f1; //!< Coefficient 1 of code phase offset model [s/s]
|
||||||
double E5b_HS;
|
int32_t E5b_HS;
|
||||||
double E1B_HS;
|
int32_t E1B_HS;
|
||||||
double E5a_HS;
|
int32_t E5a_HS;
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* Default constructor
|
* Default constructor
|
||||||
@ -71,9 +71,9 @@ public:
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
ar& BOOST_SERIALIZATION_NVP(i_satellite_PRN);
|
ar& BOOST_SERIALIZATION_NVP(i_satellite_PRN);
|
||||||
ar& BOOST_SERIALIZATION_NVP(d_Toa);
|
ar& BOOST_SERIALIZATION_NVP(i_Toa);
|
||||||
ar& BOOST_SERIALIZATION_NVP(d_WNa);
|
ar& BOOST_SERIALIZATION_NVP(i_WNa);
|
||||||
ar& BOOST_SERIALIZATION_NVP(d_IODa);
|
ar& BOOST_SERIALIZATION_NVP(i_IODa);
|
||||||
ar& BOOST_SERIALIZATION_NVP(d_Delta_i);
|
ar& BOOST_SERIALIZATION_NVP(d_Delta_i);
|
||||||
ar& BOOST_SERIALIZATION_NVP(d_M_0);
|
ar& BOOST_SERIALIZATION_NVP(d_M_0);
|
||||||
ar& BOOST_SERIALIZATION_NVP(d_e_eccentricity);
|
ar& BOOST_SERIALIZATION_NVP(d_e_eccentricity);
|
||||||
|
@ -34,8 +34,8 @@ Galileo_Almanac_Helper::Galileo_Almanac_Helper()
|
|||||||
{
|
{
|
||||||
// Word type 7: Almanac for SVID1 (1/2), almanac reference time and almanac reference week number
|
// Word type 7: Almanac for SVID1 (1/2), almanac reference time and almanac reference week number
|
||||||
IOD_a_7 = 0;
|
IOD_a_7 = 0;
|
||||||
WN_a_7 = 0.0;
|
WN_a_7 = 0;
|
||||||
t0a_7 = 0.0;
|
t0a_7 = 0;
|
||||||
SVID1_7 = 0;
|
SVID1_7 = 0;
|
||||||
DELTA_A_7 = 0.0;
|
DELTA_A_7 = 0.0;
|
||||||
e_7 = 0.0;
|
e_7 = 0.0;
|
||||||
@ -49,9 +49,9 @@ Galileo_Almanac_Helper::Galileo_Almanac_Helper()
|
|||||||
IOD_a_8 = 0;
|
IOD_a_8 = 0;
|
||||||
af0_8 = 0.0;
|
af0_8 = 0.0;
|
||||||
af1_8 = 0.0;
|
af1_8 = 0.0;
|
||||||
E5b_HS_8 = 0.0;
|
E5b_HS_8 = 0;
|
||||||
E1B_HS_8 = 0.0;
|
E1B_HS_8 = 0;
|
||||||
E5a_HS_8 = 0.0;
|
E5a_HS_8 = 0;
|
||||||
SVID2_8 = 0;
|
SVID2_8 = 0;
|
||||||
DELTA_A_8 = 0.0;
|
DELTA_A_8 = 0.0;
|
||||||
e_8 = 0.0;
|
e_8 = 0.0;
|
||||||
@ -62,14 +62,14 @@ Galileo_Almanac_Helper::Galileo_Almanac_Helper()
|
|||||||
|
|
||||||
// Word type 9: Almanac for SVID2 (2/2) and SVID3 (1/2)
|
// Word type 9: Almanac for SVID2 (2/2) and SVID3 (1/2)
|
||||||
IOD_a_9 = 0;
|
IOD_a_9 = 0;
|
||||||
WN_a_9 = 0.0;
|
WN_a_9 = 0;
|
||||||
t0a_9 = 0.0;
|
t0a_9 = 0;
|
||||||
M0_9 = 0.0;
|
M0_9 = 0.0;
|
||||||
af0_9 = 0.0;
|
af0_9 = 0.0;
|
||||||
af1_9 = 0.0;
|
af1_9 = 0.0;
|
||||||
E5b_HS_9 = 0.0;
|
E5b_HS_9 = 0;
|
||||||
E1B_HS_9 = 0.0;
|
E1B_HS_9 = 0;
|
||||||
E5a_HS_9 = 0.0;
|
E5a_HS_9 = 0;
|
||||||
SVID3_9 = 0;
|
SVID3_9 = 0;
|
||||||
DELTA_A_9 = 0.0;
|
DELTA_A_9 = 0.0;
|
||||||
e_9 = 0.0;
|
e_9 = 0.0;
|
||||||
@ -83,9 +83,9 @@ Galileo_Almanac_Helper::Galileo_Almanac_Helper()
|
|||||||
M0_10 = 0.0;
|
M0_10 = 0.0;
|
||||||
af0_10 = 0.0;
|
af0_10 = 0.0;
|
||||||
af1_10 = 0.0;
|
af1_10 = 0.0;
|
||||||
E5b_HS_10 = 0.0;
|
E5b_HS_10 = 0;
|
||||||
E1B_HS_10 = 0.0;
|
E1B_HS_10 = 0;
|
||||||
E5a_HS_10 = 0.0;
|
E5a_HS_10 = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
Galileo_Almanac Galileo_Almanac_Helper::get_almanac(int i)
|
Galileo_Almanac Galileo_Almanac_Helper::get_almanac(int i)
|
||||||
@ -95,9 +95,9 @@ Galileo_Almanac Galileo_Almanac_Helper::get_almanac(int i)
|
|||||||
{
|
{
|
||||||
case 1:
|
case 1:
|
||||||
galileo_almanac.i_satellite_PRN = this->SVID1_7;
|
galileo_almanac.i_satellite_PRN = this->SVID1_7;
|
||||||
galileo_almanac.d_Toa = this->t0a_7;
|
galileo_almanac.i_Toa = this->t0a_7;
|
||||||
galileo_almanac.d_WNa = this->WN_a_7;
|
galileo_almanac.i_WNa = this->WN_a_7;
|
||||||
galileo_almanac.d_IODa = this->IOD_a_7;
|
galileo_almanac.i_IODa = this->IOD_a_7;
|
||||||
galileo_almanac.d_Delta_i = this->delta_i_7;
|
galileo_almanac.d_Delta_i = this->delta_i_7;
|
||||||
galileo_almanac.d_M_0 = this->M0_7;
|
galileo_almanac.d_M_0 = this->M0_7;
|
||||||
galileo_almanac.d_e_eccentricity = this->e_7;
|
galileo_almanac.d_e_eccentricity = this->e_7;
|
||||||
@ -114,9 +114,9 @@ Galileo_Almanac Galileo_Almanac_Helper::get_almanac(int i)
|
|||||||
|
|
||||||
case 2:
|
case 2:
|
||||||
galileo_almanac.i_satellite_PRN = this->SVID2_8;
|
galileo_almanac.i_satellite_PRN = this->SVID2_8;
|
||||||
galileo_almanac.d_Toa = this->t0a_9;
|
galileo_almanac.i_Toa = this->t0a_9;
|
||||||
galileo_almanac.d_WNa = this->WN_a_9;
|
galileo_almanac.i_WNa = this->WN_a_9;
|
||||||
galileo_almanac.d_IODa = this->IOD_a_9;
|
galileo_almanac.i_IODa = this->IOD_a_9;
|
||||||
galileo_almanac.d_Delta_i = this->delta_i_8;
|
galileo_almanac.d_Delta_i = this->delta_i_8;
|
||||||
galileo_almanac.d_M_0 = this->M0_9;
|
galileo_almanac.d_M_0 = this->M0_9;
|
||||||
galileo_almanac.d_e_eccentricity = this->e_8;
|
galileo_almanac.d_e_eccentricity = this->e_8;
|
||||||
@ -126,16 +126,15 @@ Galileo_Almanac Galileo_Almanac_Helper::get_almanac(int i)
|
|||||||
galileo_almanac.d_OMEGA_DOT = this->Omega_dot_8;
|
galileo_almanac.d_OMEGA_DOT = this->Omega_dot_8;
|
||||||
galileo_almanac.d_A_f0 = this->af0_9;
|
galileo_almanac.d_A_f0 = this->af0_9;
|
||||||
galileo_almanac.d_A_f1 = this->af1_9;
|
galileo_almanac.d_A_f1 = this->af1_9;
|
||||||
galileo_almanac.E5b_HS = this->E5b_HS_9;
|
|
||||||
galileo_almanac.E1B_HS = this->E1B_HS_9;
|
galileo_almanac.E1B_HS = this->E1B_HS_9;
|
||||||
galileo_almanac.E5a_HS = this->E5a_HS_9;
|
galileo_almanac.E5a_HS = this->E5a_HS_9;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 3:
|
case 3:
|
||||||
galileo_almanac.i_satellite_PRN = this->SVID3_9;
|
galileo_almanac.i_satellite_PRN = this->SVID3_9;
|
||||||
galileo_almanac.d_Toa = this->t0a_9;
|
galileo_almanac.i_Toa = this->t0a_9;
|
||||||
galileo_almanac.d_WNa = this->WN_a_9;
|
galileo_almanac.i_WNa = this->WN_a_9;
|
||||||
galileo_almanac.d_IODa = this->IOD_a_10;
|
galileo_almanac.i_IODa = this->IOD_a_10;
|
||||||
galileo_almanac.d_Delta_i = this->delta_i_9;
|
galileo_almanac.d_Delta_i = this->delta_i_9;
|
||||||
galileo_almanac.d_M_0 = this->M0_10;
|
galileo_almanac.d_M_0 = this->M0_10;
|
||||||
galileo_almanac.d_e_eccentricity = this->e_9;
|
galileo_almanac.d_e_eccentricity = this->e_9;
|
||||||
|
@ -44,7 +44,7 @@ class Galileo_Almanac_Helper
|
|||||||
public:
|
public:
|
||||||
// Word type 7: Almanac for SVID1 (1/2), almanac reference time and almanac reference week number
|
// Word type 7: Almanac for SVID1 (1/2), almanac reference time and almanac reference week number
|
||||||
int32_t IOD_a_7;
|
int32_t IOD_a_7;
|
||||||
double WN_a_7;
|
int32_t WN_a_7;
|
||||||
double t0a_7;
|
double t0a_7;
|
||||||
int32_t SVID1_7;
|
int32_t SVID1_7;
|
||||||
double DELTA_A_7;
|
double DELTA_A_7;
|
||||||
@ -59,9 +59,9 @@ public:
|
|||||||
int32_t IOD_a_8;
|
int32_t IOD_a_8;
|
||||||
double af0_8;
|
double af0_8;
|
||||||
double af1_8;
|
double af1_8;
|
||||||
double E5b_HS_8;
|
int32_t E5b_HS_8;
|
||||||
double E1B_HS_8;
|
int32_t E1B_HS_8;
|
||||||
double E5a_HS_8;
|
int32_t E5a_HS_8;
|
||||||
int32_t SVID2_8;
|
int32_t SVID2_8;
|
||||||
double DELTA_A_8;
|
double DELTA_A_8;
|
||||||
double e_8;
|
double e_8;
|
||||||
@ -72,14 +72,14 @@ public:
|
|||||||
|
|
||||||
// Word type 9: Almanac for SVID2 (2/2) and SVID3 (1/2)
|
// Word type 9: Almanac for SVID2 (2/2) and SVID3 (1/2)
|
||||||
int32_t IOD_a_9;
|
int32_t IOD_a_9;
|
||||||
double WN_a_9;
|
int32_t WN_a_9;
|
||||||
double t0a_9;
|
double t0a_9;
|
||||||
double M0_9;
|
double M0_9;
|
||||||
double af0_9;
|
double af0_9;
|
||||||
double af1_9;
|
double af1_9;
|
||||||
double E5b_HS_9;
|
int32_t E5b_HS_9;
|
||||||
double E1B_HS_9;
|
int32_t E1B_HS_9;
|
||||||
double E5a_HS_9;
|
int32_t E5a_HS_9;
|
||||||
int32_t SVID3_9;
|
int32_t SVID3_9;
|
||||||
double DELTA_A_9;
|
double DELTA_A_9;
|
||||||
double e_9;
|
double e_9;
|
||||||
@ -93,9 +93,9 @@ public:
|
|||||||
double M0_10;
|
double M0_10;
|
||||||
double af0_10;
|
double af0_10;
|
||||||
double af1_10;
|
double af1_10;
|
||||||
double E5b_HS_10;
|
int32_t E5b_HS_10;
|
||||||
double E1B_HS_10;
|
int32_t E1B_HS_10;
|
||||||
double E5a_HS_10;
|
int32_t E5a_HS_10;
|
||||||
|
|
||||||
Galileo_Almanac_Helper(); //!< Default constructor
|
Galileo_Almanac_Helper(); //!< Default constructor
|
||||||
Galileo_Almanac get_almanac(int i);
|
Galileo_Almanac get_almanac(int i);
|
||||||
|
@ -123,10 +123,10 @@ void Galileo_Navigation_Message::reset()
|
|||||||
Region5_flag_5 = false;
|
Region5_flag_5 = false;
|
||||||
BGD_E1E5a_5 = 0.0;
|
BGD_E1E5a_5 = 0.0;
|
||||||
BGD_E1E5b_5 = 0.0;
|
BGD_E1E5b_5 = 0.0;
|
||||||
E5b_HS_5 = 0.0;
|
E5b_HS_5 = 0;
|
||||||
E1B_HS_5 = 0.0;
|
E1B_HS_5 = 0;
|
||||||
E5b_DVS_5 = 0.0;
|
E5b_DVS_5 = 0;
|
||||||
E1B_DVS_5 = 0.0;
|
E1B_DVS_5 = 0;
|
||||||
|
|
||||||
// GST
|
// GST
|
||||||
WN_5 = 0.0;
|
WN_5 = 0.0;
|
||||||
@ -146,7 +146,7 @@ void Galileo_Navigation_Message::reset()
|
|||||||
|
|
||||||
// Word type 7: Almanac for SVID1 (1/2), almanac reference time and almanac reference week number
|
// Word type 7: Almanac for SVID1 (1/2), almanac reference time and almanac reference week number
|
||||||
IOD_a_7 = 0;
|
IOD_a_7 = 0;
|
||||||
WN_a_7 = 0.0;
|
WN_a_7 = 0;
|
||||||
t0a_7 = 0.0;
|
t0a_7 = 0.0;
|
||||||
SVID1_7 = 0;
|
SVID1_7 = 0;
|
||||||
DELTA_A_7 = 0.0;
|
DELTA_A_7 = 0.0;
|
||||||
@ -161,8 +161,8 @@ void Galileo_Navigation_Message::reset()
|
|||||||
IOD_a_8 = 0;
|
IOD_a_8 = 0;
|
||||||
af0_8 = 0.0;
|
af0_8 = 0.0;
|
||||||
af1_8 = 0.0;
|
af1_8 = 0.0;
|
||||||
E5b_HS_8 = 0.0;
|
E5b_HS_8 = 0;
|
||||||
E1B_HS_8 = 0.0;
|
E1B_HS_8 = 0;
|
||||||
SVID2_8 = 0;
|
SVID2_8 = 0;
|
||||||
DELTA_A_8 = 0.0;
|
DELTA_A_8 = 0.0;
|
||||||
e_8 = 0.0;
|
e_8 = 0.0;
|
||||||
@ -173,13 +173,13 @@ void Galileo_Navigation_Message::reset()
|
|||||||
|
|
||||||
// Word type 9: Almanac for SVID2 (2/2) and SVID3 (1/2)
|
// Word type 9: Almanac for SVID2 (2/2) and SVID3 (1/2)
|
||||||
IOD_a_9 = 0;
|
IOD_a_9 = 0;
|
||||||
WN_a_9 = 0.0;
|
WN_a_9 = 0;
|
||||||
t0a_9 = 0.0;
|
t0a_9 = 0.0;
|
||||||
M0_9 = 0.0;
|
M0_9 = 0.0;
|
||||||
af0_9 = 0.0;
|
af0_9 = 0.0;
|
||||||
af1_9 = 0.0;
|
af1_9 = 0.0;
|
||||||
E5b_HS_9 = 0.0;
|
E5b_HS_9 = 0;
|
||||||
E1B_HS_9 = 0.0;
|
E1B_HS_9 = 0;
|
||||||
SVID3_9 = 0;
|
SVID3_9 = 0;
|
||||||
DELTA_A_9 = 0.0;
|
DELTA_A_9 = 0.0;
|
||||||
e_9 = 0.0;
|
e_9 = 0.0;
|
||||||
@ -193,8 +193,8 @@ void Galileo_Navigation_Message::reset()
|
|||||||
M0_10 = 0.0;
|
M0_10 = 0.0;
|
||||||
af0_10 = 0.0;
|
af0_10 = 0.0;
|
||||||
af1_10 = 0.0;
|
af1_10 = 0.0;
|
||||||
E5b_HS_10 = 0.0;
|
E5b_HS_10 = 0;
|
||||||
E1B_HS_10 = 0.0;
|
E1B_HS_10 = 0;
|
||||||
|
|
||||||
// GST-GPS
|
// GST-GPS
|
||||||
A_0G_10 = 0.0;
|
A_0G_10 = 0.0;
|
||||||
@ -781,13 +781,13 @@ int32_t Galileo_Navigation_Message::page_jk_decoder(const char *data_jk)
|
|||||||
BGD_E1E5b_5 = static_cast<double>(read_navigation_signed(data_jk_bits, BGD_E1E5b_5_bit));
|
BGD_E1E5b_5 = static_cast<double>(read_navigation_signed(data_jk_bits, BGD_E1E5b_5_bit));
|
||||||
BGD_E1E5b_5 = BGD_E1E5b_5 * BGD_E1E5b_5_LSB;
|
BGD_E1E5b_5 = BGD_E1E5b_5 * BGD_E1E5b_5_LSB;
|
||||||
DLOG(INFO) << "BGD_E1E5b_5= " << BGD_E1E5b_5;
|
DLOG(INFO) << "BGD_E1E5b_5= " << BGD_E1E5b_5;
|
||||||
E5b_HS_5 = static_cast<double>(read_navigation_unsigned(data_jk_bits, E5b_HS_5_bit));
|
E5b_HS_5 = static_cast<int32_t>(read_navigation_unsigned(data_jk_bits, E5b_HS_5_bit));
|
||||||
DLOG(INFO) << "E5b_HS_5= " << E5b_HS_5;
|
DLOG(INFO) << "E5b_HS_5= " << E5b_HS_5;
|
||||||
E1B_HS_5 = static_cast<double>(read_navigation_unsigned(data_jk_bits, E1B_HS_5_bit));
|
E1B_HS_5 = static_cast<int32_t>(read_navigation_unsigned(data_jk_bits, E1B_HS_5_bit));
|
||||||
DLOG(INFO) << "E1B_HS_5= " << E1B_HS_5;
|
DLOG(INFO) << "E1B_HS_5= " << E1B_HS_5;
|
||||||
E5b_DVS_5 = static_cast<double>(read_navigation_unsigned(data_jk_bits, E5b_DVS_5_bit));
|
E5b_DVS_5 = static_cast<int32_t>(read_navigation_unsigned(data_jk_bits, E5b_DVS_5_bit));
|
||||||
DLOG(INFO) << "E5b_DVS_5= " << E5b_DVS_5;
|
DLOG(INFO) << "E5b_DVS_5= " << E5b_DVS_5;
|
||||||
E1B_DVS_5 = static_cast<double>(read_navigation_unsigned(data_jk_bits, E1B_DVS_5_bit));
|
E1B_DVS_5 = static_cast<int32_t>(read_navigation_unsigned(data_jk_bits, E1B_DVS_5_bit));
|
||||||
DLOG(INFO) << "E1B_DVS_5= " << E1B_DVS_5;
|
DLOG(INFO) << "E1B_DVS_5= " << E1B_DVS_5;
|
||||||
// GST
|
// GST
|
||||||
WN_5 = static_cast<double>(read_navigation_unsigned(data_jk_bits, WN_5_bit));
|
WN_5 = static_cast<double>(read_navigation_unsigned(data_jk_bits, WN_5_bit));
|
||||||
@ -833,7 +833,7 @@ int32_t Galileo_Navigation_Message::page_jk_decoder(const char *data_jk)
|
|||||||
case 7: // Word type 7: Almanac for SVID1 (1/2), almanac reference time and almanac reference week number
|
case 7: // Word type 7: Almanac for SVID1 (1/2), almanac reference time and almanac reference week number
|
||||||
IOD_a_7 = static_cast<double>(read_navigation_unsigned(data_jk_bits, IOD_a_7_bit));
|
IOD_a_7 = static_cast<double>(read_navigation_unsigned(data_jk_bits, IOD_a_7_bit));
|
||||||
DLOG(INFO) << "IOD_a_7= " << IOD_a_7;
|
DLOG(INFO) << "IOD_a_7= " << IOD_a_7;
|
||||||
WN_a_7 = static_cast<double>(read_navigation_unsigned(data_jk_bits, WN_a_7_bit));
|
WN_a_7 = static_cast<int32_t>(read_navigation_unsigned(data_jk_bits, WN_a_7_bit));
|
||||||
DLOG(INFO) << "WN_a_7= " << WN_a_7;
|
DLOG(INFO) << "WN_a_7= " << WN_a_7;
|
||||||
t0a_7 = static_cast<double>(read_navigation_unsigned(data_jk_bits, t0a_7_bit));
|
t0a_7 = static_cast<double>(read_navigation_unsigned(data_jk_bits, t0a_7_bit));
|
||||||
t0a_7 = t0a_7 * t0a_7_LSB;
|
t0a_7 = t0a_7 * t0a_7_LSB;
|
||||||
@ -874,11 +874,11 @@ int32_t Galileo_Navigation_Message::page_jk_decoder(const char *data_jk)
|
|||||||
af1_8 = static_cast<double>(read_navigation_signed(data_jk_bits, af1_8_bit));
|
af1_8 = static_cast<double>(read_navigation_signed(data_jk_bits, af1_8_bit));
|
||||||
af1_8 = af1_8 * af1_8_LSB;
|
af1_8 = af1_8 * af1_8_LSB;
|
||||||
DLOG(INFO) << "af1_8= " << af1_8;
|
DLOG(INFO) << "af1_8= " << af1_8;
|
||||||
E5b_HS_8 = static_cast<double>(read_navigation_unsigned(data_jk_bits, E5b_HS_8_bit));
|
E5b_HS_8 = static_cast<int32_t>(read_navigation_unsigned(data_jk_bits, E5b_HS_8_bit));
|
||||||
DLOG(INFO) << "E5b_HS_8= " << E5b_HS_8;
|
DLOG(INFO) << "E5b_HS_8= " << E5b_HS_8;
|
||||||
E1B_HS_8 = static_cast<double>(read_navigation_unsigned(data_jk_bits, E1B_HS_8_bit));
|
E1B_HS_8 = static_cast<int32_t>(read_navigation_unsigned(data_jk_bits, E1B_HS_8_bit));
|
||||||
DLOG(INFO) << "E1B_HS_8= " << E1B_HS_8;
|
DLOG(INFO) << "E1B_HS_8= " << E1B_HS_8;
|
||||||
SVID2_8 = static_cast<double>(read_navigation_unsigned(data_jk_bits, SVID2_8_bit));
|
SVID2_8 = static_cast<int32_t>(read_navigation_unsigned(data_jk_bits, SVID2_8_bit));
|
||||||
DLOG(INFO) << "SVID2_8= " << SVID2_8;
|
DLOG(INFO) << "SVID2_8= " << SVID2_8;
|
||||||
DELTA_A_8 = static_cast<double>(read_navigation_signed(data_jk_bits, DELTA_A_8_bit));
|
DELTA_A_8 = static_cast<double>(read_navigation_signed(data_jk_bits, DELTA_A_8_bit));
|
||||||
DELTA_A_8 = DELTA_A_8 * DELTA_A_8_LSB;
|
DELTA_A_8 = DELTA_A_8 * DELTA_A_8_LSB;
|
||||||
@ -905,7 +905,7 @@ int32_t Galileo_Navigation_Message::page_jk_decoder(const char *data_jk)
|
|||||||
case 9: // Word type 9: Almanac for SVID2 (2/2) and SVID3 (1/2)
|
case 9: // Word type 9: Almanac for SVID2 (2/2) and SVID3 (1/2)
|
||||||
IOD_a_9 = static_cast<double>(read_navigation_unsigned(data_jk_bits, IOD_a_9_bit));
|
IOD_a_9 = static_cast<double>(read_navigation_unsigned(data_jk_bits, IOD_a_9_bit));
|
||||||
DLOG(INFO) << "IOD_a_9= " << IOD_a_9;
|
DLOG(INFO) << "IOD_a_9= " << IOD_a_9;
|
||||||
WN_a_9 = static_cast<double>(read_navigation_unsigned(data_jk_bits, WN_a_9_bit));
|
WN_a_9 = static_cast<int32_t>(read_navigation_unsigned(data_jk_bits, WN_a_9_bit));
|
||||||
DLOG(INFO) << "WN_a_9= " << WN_a_9;
|
DLOG(INFO) << "WN_a_9= " << WN_a_9;
|
||||||
t0a_9 = static_cast<double>(read_navigation_unsigned(data_jk_bits, t0a_9_bit));
|
t0a_9 = static_cast<double>(read_navigation_unsigned(data_jk_bits, t0a_9_bit));
|
||||||
t0a_9 = t0a_9 * t0a_9_LSB;
|
t0a_9 = t0a_9 * t0a_9_LSB;
|
||||||
@ -919,11 +919,11 @@ int32_t Galileo_Navigation_Message::page_jk_decoder(const char *data_jk)
|
|||||||
af1_9 = static_cast<double>(read_navigation_signed(data_jk_bits, af1_9_bit));
|
af1_9 = static_cast<double>(read_navigation_signed(data_jk_bits, af1_9_bit));
|
||||||
af1_9 = af1_9 * af1_9_LSB;
|
af1_9 = af1_9 * af1_9_LSB;
|
||||||
DLOG(INFO) << "af1_9= " << af1_9;
|
DLOG(INFO) << "af1_9= " << af1_9;
|
||||||
E5b_HS_9 = static_cast<double>(read_navigation_unsigned(data_jk_bits, E5b_HS_9_bit));
|
E5b_HS_9 = static_cast<int32_t>(read_navigation_unsigned(data_jk_bits, E5b_HS_9_bit));
|
||||||
DLOG(INFO) << "E5b_HS_9= " << E5b_HS_9;
|
DLOG(INFO) << "E5b_HS_9= " << E5b_HS_9;
|
||||||
E1B_HS_9 = static_cast<double>(read_navigation_unsigned(data_jk_bits, E1B_HS_9_bit));
|
E1B_HS_9 = static_cast<int32_t>(read_navigation_unsigned(data_jk_bits, E1B_HS_9_bit));
|
||||||
DLOG(INFO) << "E1B_HS_9= " << E1B_HS_9;
|
DLOG(INFO) << "E1B_HS_9= " << E1B_HS_9;
|
||||||
SVID3_9 = static_cast<double>(read_navigation_unsigned(data_jk_bits, SVID3_9_bit));
|
SVID3_9 = static_cast<int32_t>(read_navigation_unsigned(data_jk_bits, SVID3_9_bit));
|
||||||
DLOG(INFO) << "SVID3_9= " << SVID3_9;
|
DLOG(INFO) << "SVID3_9= " << SVID3_9;
|
||||||
DELTA_A_9 = static_cast<double>(read_navigation_signed(data_jk_bits, DELTA_A_9_bit));
|
DELTA_A_9 = static_cast<double>(read_navigation_signed(data_jk_bits, DELTA_A_9_bit));
|
||||||
DELTA_A_9 = DELTA_A_9 * DELTA_A_9_LSB;
|
DELTA_A_9 = DELTA_A_9 * DELTA_A_9_LSB;
|
||||||
@ -959,9 +959,9 @@ int32_t Galileo_Navigation_Message::page_jk_decoder(const char *data_jk)
|
|||||||
af1_10 = static_cast<double>(read_navigation_signed(data_jk_bits, af1_10_bit));
|
af1_10 = static_cast<double>(read_navigation_signed(data_jk_bits, af1_10_bit));
|
||||||
af1_10 = af1_10 * af1_10_LSB;
|
af1_10 = af1_10 * af1_10_LSB;
|
||||||
DLOG(INFO) << "af1_10= " << af1_10;
|
DLOG(INFO) << "af1_10= " << af1_10;
|
||||||
E5b_HS_10 = static_cast<double>(read_navigation_unsigned(data_jk_bits, E5b_HS_10_bit));
|
E5b_HS_10 = static_cast<int32_t>(read_navigation_unsigned(data_jk_bits, E5b_HS_10_bit));
|
||||||
DLOG(INFO) << "E5b_HS_10= " << E5b_HS_10;
|
DLOG(INFO) << "E5b_HS_10= " << E5b_HS_10;
|
||||||
E1B_HS_10 = static_cast<double>(read_navigation_unsigned(data_jk_bits, E1B_HS_10_bit));
|
E1B_HS_10 = static_cast<int32_t>(read_navigation_unsigned(data_jk_bits, E1B_HS_10_bit));
|
||||||
DLOG(INFO) << "E1B_HS_10= " << E1B_HS_10;
|
DLOG(INFO) << "E1B_HS_10= " << E1B_HS_10;
|
||||||
A_0G_10 = static_cast<double>(read_navigation_signed(data_jk_bits, A_0G_10_bit));
|
A_0G_10 = static_cast<double>(read_navigation_signed(data_jk_bits, A_0G_10_bit));
|
||||||
A_0G_10 = A_0G_10 * A_0G_10_LSB;
|
A_0G_10 = A_0G_10 * A_0G_10_LSB;
|
||||||
|
@ -143,10 +143,10 @@ public:
|
|||||||
double BGD_E1E5a_5; //!< E1-E5a Broadcast Group Delay [s]
|
double BGD_E1E5a_5; //!< E1-E5a Broadcast Group Delay [s]
|
||||||
double BGD_E1E5b_5; //!< E1-E5b Broadcast Group Delay [s]
|
double BGD_E1E5b_5; //!< E1-E5b Broadcast Group Delay [s]
|
||||||
|
|
||||||
double E5b_HS_5; //!< E5b Signal Health Status
|
int32_t E5b_HS_5; //!< E5b Signal Health Status
|
||||||
double E1B_HS_5; //!< E1B Signal Health Status
|
int32_t E1B_HS_5; //!< E1B Signal Health Status
|
||||||
double E5b_DVS_5; //!< E5b Data Validity Status
|
int32_t E5b_DVS_5; //!< E5b Data Validity Status
|
||||||
double E1B_DVS_5; //!< E1B Data Validity Status
|
int32_t E1B_DVS_5; //!< E1B Data Validity Status
|
||||||
|
|
||||||
// GST
|
// GST
|
||||||
double WN_5;
|
double WN_5;
|
||||||
@ -166,7 +166,7 @@ public:
|
|||||||
|
|
||||||
// Word type 7: Almanac for SVID1 (1/2), almanac reference time and almanac reference week number
|
// Word type 7: Almanac for SVID1 (1/2), almanac reference time and almanac reference week number
|
||||||
int32_t IOD_a_7;
|
int32_t IOD_a_7;
|
||||||
double WN_a_7;
|
int32_t WN_a_7;
|
||||||
double t0a_7;
|
double t0a_7;
|
||||||
int32_t SVID1_7;
|
int32_t SVID1_7;
|
||||||
double DELTA_A_7;
|
double DELTA_A_7;
|
||||||
@ -181,8 +181,8 @@ public:
|
|||||||
int32_t IOD_a_8;
|
int32_t IOD_a_8;
|
||||||
double af0_8;
|
double af0_8;
|
||||||
double af1_8;
|
double af1_8;
|
||||||
double E5b_HS_8;
|
int32_t E5b_HS_8;
|
||||||
double E1B_HS_8;
|
int32_t E1B_HS_8;
|
||||||
int32_t SVID2_8;
|
int32_t SVID2_8;
|
||||||
double DELTA_A_8;
|
double DELTA_A_8;
|
||||||
double e_8;
|
double e_8;
|
||||||
@ -193,13 +193,13 @@ public:
|
|||||||
|
|
||||||
// Word type 9: Almanac for SVID2 (2/2) and SVID3 (1/2)
|
// Word type 9: Almanac for SVID2 (2/2) and SVID3 (1/2)
|
||||||
int32_t IOD_a_9;
|
int32_t IOD_a_9;
|
||||||
double WN_a_9;
|
int32_t WN_a_9;
|
||||||
double t0a_9;
|
double t0a_9;
|
||||||
double M0_9;
|
double M0_9;
|
||||||
double af0_9;
|
double af0_9;
|
||||||
double af1_9;
|
double af1_9;
|
||||||
double E5b_HS_9;
|
int32_t E5b_HS_9;
|
||||||
double E1B_HS_9;
|
int32_t E1B_HS_9;
|
||||||
int32_t SVID3_9;
|
int32_t SVID3_9;
|
||||||
double DELTA_A_9;
|
double DELTA_A_9;
|
||||||
double e_9;
|
double e_9;
|
||||||
@ -213,8 +213,8 @@ public:
|
|||||||
double M0_10;
|
double M0_10;
|
||||||
double af0_10;
|
double af0_10;
|
||||||
double af1_10;
|
double af1_10;
|
||||||
double E5b_HS_10;
|
int32_t E5b_HS_10;
|
||||||
double E1B_HS_10;
|
int32_t E1B_HS_10;
|
||||||
|
|
||||||
// GST-GPS conversion
|
// GST-GPS conversion
|
||||||
double A_0G_10; //!< Constant term of the offset Delta t systems
|
double A_0G_10; //!< Constant term of the offset Delta t systems
|
||||||
|
@ -36,7 +36,7 @@ Gps_Almanac::Gps_Almanac()
|
|||||||
{
|
{
|
||||||
i_satellite_PRN = 0U;
|
i_satellite_PRN = 0U;
|
||||||
d_Delta_i = 0.0;
|
d_Delta_i = 0.0;
|
||||||
d_Toa = 0.0;
|
i_Toa = 0.0;
|
||||||
i_WNa = 0;
|
i_WNa = 0;
|
||||||
d_M_0 = 0.0;
|
d_M_0 = 0.0;
|
||||||
d_e_eccentricity = 0.0;
|
d_e_eccentricity = 0.0;
|
||||||
|
@ -45,7 +45,7 @@ class Gps_Almanac
|
|||||||
public:
|
public:
|
||||||
uint32_t i_satellite_PRN; //!< SV PRN NUMBER
|
uint32_t i_satellite_PRN; //!< SV PRN NUMBER
|
||||||
double d_Delta_i; //!< Inclination Angle at Reference Time (relative to i_0 = 0.30 semi-circles)
|
double d_Delta_i; //!< Inclination Angle at Reference Time (relative to i_0 = 0.30 semi-circles)
|
||||||
double d_Toa; //!< Almanac data reference time of week (Ref. 20.3.3.4.3 IS-GPS-200E) [s]
|
int32_t i_Toa; //!< Almanac data reference time of week (Ref. 20.3.3.4.3 IS-GPS-200E) [s]
|
||||||
int32_t i_WNa; //!< Almanac week number
|
int32_t i_WNa; //!< Almanac week number
|
||||||
double d_M_0; //!< Mean Anomaly at Reference Time [semi-circles]
|
double d_M_0; //!< Mean Anomaly at Reference Time [semi-circles]
|
||||||
double d_e_eccentricity; //!< Eccentricity [dimensionless]
|
double d_e_eccentricity; //!< Eccentricity [dimensionless]
|
||||||
@ -72,7 +72,7 @@ public:
|
|||||||
};
|
};
|
||||||
ar& BOOST_SERIALIZATION_NVP(i_satellite_PRN);
|
ar& BOOST_SERIALIZATION_NVP(i_satellite_PRN);
|
||||||
ar& BOOST_SERIALIZATION_NVP(d_Delta_i);
|
ar& BOOST_SERIALIZATION_NVP(d_Delta_i);
|
||||||
ar& BOOST_SERIALIZATION_NVP(d_Toa);
|
ar& BOOST_SERIALIZATION_NVP(i_Toa);
|
||||||
ar& BOOST_SERIALIZATION_NVP(i_WNa);
|
ar& BOOST_SERIALIZATION_NVP(i_WNa);
|
||||||
ar& BOOST_SERIALIZATION_NVP(d_M_0);
|
ar& BOOST_SERIALIZATION_NVP(d_M_0);
|
||||||
ar& BOOST_SERIALIZATION_NVP(d_e_eccentricity);
|
ar& BOOST_SERIALIZATION_NVP(d_e_eccentricity);
|
||||||
|
@ -125,7 +125,7 @@ void Gps_Navigation_Message::reset()
|
|||||||
d_DeltaT_LSF = 0.0;
|
d_DeltaT_LSF = 0.0;
|
||||||
|
|
||||||
// Almanac
|
// Almanac
|
||||||
d_Toa = 0.0;
|
i_Toa = 0;
|
||||||
i_WN_A = 0;
|
i_WN_A = 0;
|
||||||
for (int32_t i = 1; i < 32; i++)
|
for (int32_t i = 1; i < 32; i++)
|
||||||
{
|
{
|
||||||
@ -433,8 +433,8 @@ int32_t Gps_Navigation_Message::subframe_decoder(char *subframe)
|
|||||||
}
|
}
|
||||||
if (SV_page_5 == 51) // Page 25 (from Table 20-V. Data IDs and SV IDs in Subframes 4 and 5, IS-GPS-200H, page 110)
|
if (SV_page_5 == 51) // Page 25 (from Table 20-V. Data IDs and SV IDs in Subframes 4 and 5, IS-GPS-200H, page 110)
|
||||||
{
|
{
|
||||||
d_Toa = static_cast<double>(read_navigation_unsigned(subframe_bits, T_OA));
|
i_Toa = static_cast<int32_t>(read_navigation_unsigned(subframe_bits, T_OA));
|
||||||
d_Toa = d_Toa * T_OA_LSB;
|
i_Toa = i_Toa * T_OA_LSB;
|
||||||
i_WN_A = static_cast<int32_t>(read_navigation_unsigned(subframe_bits, WN_A));
|
i_WN_A = static_cast<int32_t>(read_navigation_unsigned(subframe_bits, WN_A));
|
||||||
almanacHealth[1] = static_cast<int32_t>(read_navigation_unsigned(subframe_bits, HEALTH_SV1));
|
almanacHealth[1] = static_cast<int32_t>(read_navigation_unsigned(subframe_bits, HEALTH_SV1));
|
||||||
almanacHealth[2] = static_cast<int32_t>(read_navigation_unsigned(subframe_bits, HEALTH_SV2));
|
almanacHealth[2] = static_cast<int32_t>(read_navigation_unsigned(subframe_bits, HEALTH_SV2));
|
||||||
|
@ -109,8 +109,8 @@ public:
|
|||||||
double d_A_f2; //!< Coefficient 2 of code phase offset model [s/s^2]
|
double d_A_f2; //!< Coefficient 2 of code phase offset model [s/s^2]
|
||||||
|
|
||||||
// Almanac
|
// Almanac
|
||||||
double d_Toa; //!< Almanac reference time [s]
|
int32_t i_Toa; //!< Almanac reference time [s]
|
||||||
int32_t i_WN_A; //!< Modulo 256 of the GPS week number to which the almanac reference time (d_Toa) is referenced
|
int32_t i_WN_A; //!< Modulo 256 of the GPS week number to which the almanac reference time (i_Toa) is referenced
|
||||||
std::map<int32_t, int32_t> almanacHealth; //!< Map that stores the health information stored in the almanac
|
std::map<int32_t, int32_t> almanacHealth; //!< Map that stores the health information stored in the almanac
|
||||||
|
|
||||||
std::map<int32_t, std::string> satelliteBlock; //!< Map that stores to which block the PRN belongs http://www.navcen.uscg.gov/?Do=constellationStatus
|
std::map<int32_t, std::string> satelliteBlock; //!< Map that stores to which block the PRN belongs http://www.navcen.uscg.gov/?Do=constellationStatus
|
||||||
|
Loading…
x
Reference in New Issue
Block a user