19 #ifndef GNSS_SDR_GPS_NAVIGATION_MESSAGE_H 20 #define GNSS_SDR_GPS_NAVIGATION_MESSAGE_H 83 double utc_time(
double gpstime_corrected)
const;
106 i_satellite_PRN = prn;
114 return i_satellite_PRN;
122 i_channel_ID = channel_id;
130 return flag_iono_valid;
138 return flag_utc_model_valid;
141 bool satellite_validation();
142 bool almanac_validation()
const;
145 uint64_t read_navigation_unsigned(
const std::bitset<GPS_SUBFRAME_BITS>& bits,
const std::vector<std::pair<int32_t, int32_t>>& parameter)
const;
146 int64_t read_navigation_signed(
const std::bitset<GPS_SUBFRAME_BITS>& bits,
const std::vector<std::pair<int32_t, int32_t>>& parameter)
const;
147 bool read_navigation_bool(
const std::bitset<GPS_SUBFRAME_BITS>& bits,
const std::vector<std::pair<int32_t, int32_t>>& parameter)
const;
148 void print_gps_word_bytes(uint32_t GPS_word)
const;
150 std::map<int32_t, int32_t> almanacHealth;
152 std::map<int32_t, std::string> satelliteBlock;
161 int32_t d_IODE_SF2{};
162 int32_t d_IODE_SF3{};
168 double d_e_eccentricity{};
181 double d_OMEGA_DOT{};
184 int32_t i_code_on_L2{};
185 int32_t i_GPS_week{};
186 bool b_L2_P_data_flag{};
188 int32_t i_SV_accuracy{};
189 int32_t i_SV_health{};
194 bool b_fit_interval_flag{};
217 int32_t i_channel_ID{};
218 uint32_t i_satellite_PRN{};
236 int32_t d_DeltaT_LS{};
239 int32_t d_DeltaT_LSF{};
242 bool b_valid_ephemeris_set_flag{};
243 bool flag_iono_valid{};
244 bool flag_utc_model_valid{};
245 bool flag_almanac_valid{};
246 bool flag_almanac_week_valid{};
257 bool b_integrity_status_flag{};
259 bool b_antispoofing_flag{};
265 #endif // GNSS_SDR_GPS_NAVIGATION_MESSAGE_H This class is a storage for the GPS IONOSPHERIC data as described in IS-GPS-200M. ...
Gps_Ephemeris get_ephemeris() const
Obtain a GPS SV Ephemeris class filled with current SV data.
Gps_Utc_Model get_utc_model()
Obtain a GPS Almanac model parameters class filled with current SV data.
This class is a storage and orbital model functions for the GPS SV ephemeris data as described in IS-...
Defines system parameters for GPS L1 C/A signal and NAV data.
double utc_time(double gpstime_corrected) const
Computes the Coordinated Universal Time (UTC) and returns it in s
Interface of a GPS UTC MODEL storage.
Interface of a GPS ALMANAC storage.
Gps_Iono get_iono()
Obtain a GPS ionospheric correction parameters class filled with current SV data. ...
void set_channel(int32_t channel_id)
Sets channel ID.
bool get_flag_utc_model_valid() const
Gets flag_utc_model_valid.
bool get_flag_iono_valid() const
Gets flag_iono_valid.
int32_t subframe_decoder(const char *subframe)
Decodes the GPS NAV message.
This class decodes a GPS NAV Data message as described in IS-GPS-200M.
Interface of a GPS EPHEMERIS storage.
This class is a storage for the GPS UTC MODEL data as described in IS-GPS-200M.
Gps_Almanac get_almanac()
Obtain a GPS almanac class filled with current SV data.
uint32_t get_satellite_PRN() const
Gets satellite PRN number.
void set_satellite_PRN(uint32_t prn)
Sets satellite PRN number.
int32_t get_GPS_week() const
Sets Time of Week, in seconds.
This class is a storage for the GPS SV ALMANAC data as described in IS-GPS-200M.
int32_t get_TOW() const
Gets Time of Week, in seconds.
Interface of a GPS IONOSPHERIC MODEL storage.