20 #ifndef GNSS_SDR_GLONASS_GNAV_NAVIGATION_MESSAGE_H 21 #define GNSS_SDR_GLONASS_GNAV_NAVIGATION_MESSAGE_H 57 bool CRC_test(std::bitset<GLONASS_GNAV_STRING_BITS>& bits)
const;
71 return gnav_ephemeris;
79 return gnav_utc_model;
111 inline bool get_flag_CRC_test()
const 113 return flag_CRC_test;
116 inline void set_rf_link(int32_t rf_link)
121 inline uint32_t get_alm_satellite_slot_number()
const 123 return i_alm_satellite_slot_number;
126 inline bool get_flag_update_slot_number()
const 128 return flag_update_slot_number;
131 inline void set_flag_update_slot_number(
bool flag_slot)
133 flag_update_slot_number = flag_slot;
136 inline bool get_flag_TOW_new()
const 141 inline void set_flag_TOW_new(
bool tow_new)
143 flag_TOW_new = tow_new;
146 inline bool is_flag_TOW_set()
const 151 inline void set_flag_ephemeris_str_1(
bool ephemeris_str_1)
153 flag_ephemeris_str_1 = ephemeris_str_1;
156 inline void set_flag_ephemeris_str_2(
bool ephemeris_str_2)
158 flag_ephemeris_str_2 = ephemeris_str_2;
161 inline void set_flag_ephemeris_str_3(
bool ephemeris_str_3)
163 flag_ephemeris_str_3 = ephemeris_str_3;
166 inline void set_flag_ephemeris_str_4(
bool ephemeris_str_4)
168 flag_ephemeris_str_4 = ephemeris_str_4;
172 uint64_t read_navigation_unsigned(
const std::bitset<GLONASS_GNAV_STRING_BITS>& bits,
const std::vector<std::pair<int32_t, int32_t>>& parameter)
const;
173 int64_t read_navigation_signed(
const std::bitset<GLONASS_GNAV_STRING_BITS>& bits,
const std::vector<std::pair<int32_t, int32_t>>& parameter)
const;
174 bool read_navigation_bool(
const std::bitset<GLONASS_GNAV_STRING_BITS>& bits,
const std::vector<std::pair<int32_t, int32_t>>& parameter)
const;
180 double d_previous_tb{};
181 double d_previous_Na[GLONASS_CA_NBR_SATS]{};
183 uint32_t d_frame_ID{};
184 uint32_t d_string_ID{};
185 uint32_t i_alm_satellite_slot_number{};
187 bool flag_CRC_test{};
188 bool flag_update_slot_number{};
191 bool flag_all_ephemeris{};
192 bool flag_ephemeris_str_1{};
193 bool flag_ephemeris_str_2{};
194 bool flag_ephemeris_str_3{};
195 bool flag_ephemeris_str_4{};
198 bool flag_almanac_str_6{};
199 bool flag_almanac_str_7{};
200 bool flag_almanac_str_8{};
201 bool flag_almanac_str_9{};
202 bool flag_almanac_str_10{};
203 bool flag_almanac_str_11{};
204 bool flag_almanac_str_12{};
205 bool flag_almanac_str_13{};
206 bool flag_almanac_str_14{};
207 bool flag_almanac_str_15{};
210 bool flag_utc_model_str_5{};
219 #endif // GNSS_SDR_GLONASS_GNAV_NAVIGATION_MESSAGE_H bool have_new_ephemeris()
Returns true if a new Glonass_Gnav_Ephemeris object has arrived.
int32_t i_satellite_freq_channel
SV Frequency Channel Number.
Defines system parameters for GLONASS L1 C/A signal and NAV data.
Interface of a GLONASS EPHEMERIS storage.
Interface of a GLONASS GNAV UTC MODEL storage.
Interface of a GLONASS GNAV ALMANAC storage.
bool CRC_test(std::bitset< GLONASS_GNAV_STRING_BITS > &bits) const
Compute CRC for GLONASS GNAV strings.
Glonass_Gnav_Utc_Model get_utc_model() const
Obtain a GLONASS GNAV UTC model parameters class filled with current SV data.
This class is a storage and orbital model functions for the GLONASS SV ephemeris data as described in...
bool have_new_almanac()
Returns true if new Glonass_Gnav_Almanac object has arrived.
This class is a storage for the GLONASS GNAV UTC MODEL data as described in GLONASS ICD (Edition 5...
int32_t string_decoder(const std::string &frame_string)
Decodes the GLONASS GNAV string.
uint32_t get_frame_number(uint32_t satellite_slot_number)
Computes the frame number being decoded given the satellite slot number.
This class is a storage for the GLONASS SV ALMANAC data as described GLONASS ICD (Edition 5...
bool have_new_utc_model()
Returns true if new Glonass_Gnav_Utc_Model object has arrived.
Glonass_Gnav_Ephemeris get_ephemeris() const
Obtain a GLONASS GNAV SV Ephemeris class filled with current SV data.
This class decodes a GLONASS GNAV Data message as described in GLONASS ICD (Edition 5...
Glonass_Gnav_Navigation_Message()=default
Glonass_Gnav_Almanac get_almanac(uint32_t satellite_slot_number) const
Returns a Glonass_Gnav_Almanac object filled with the latest navigation data received.