23 #ifndef GNSS_SDR_GLONASS_GNAV_NAVIGATION_MESSAGE_H 24 #define GNSS_SDR_GLONASS_GNAV_NAVIGATION_MESSAGE_H 55 bool CRC_test(std::bitset<GLONASS_GNAV_STRING_BITS> bits)
const;
69 return gnav_ephemeris;
77 return gnav_utc_model;
109 inline bool get_flag_CRC_test()
const 111 return flag_CRC_test;
114 inline void set_rf_link(int32_t rf_link)
119 inline uint32_t get_alm_satellite_slot_number()
const 121 return i_alm_satellite_slot_number;
124 inline bool get_flag_update_slot_number()
const 126 return flag_update_slot_number;
129 inline void set_flag_update_slot_number(
bool flag_slot)
131 flag_update_slot_number = flag_slot;
134 inline bool get_flag_TOW_new()
const 139 inline void set_flag_TOW_new(
bool tow_new)
141 flag_TOW_new = tow_new;
144 inline bool is_flag_TOW_set()
const 149 inline void set_flag_ephemeris_str_1(
bool ephemeris_str_1)
151 flag_ephemeris_str_1 = ephemeris_str_1;
154 inline void set_flag_ephemeris_str_2(
bool ephemeris_str_2)
156 flag_ephemeris_str_2 = ephemeris_str_2;
159 inline void set_flag_ephemeris_str_3(
bool ephemeris_str_3)
161 flag_ephemeris_str_3 = ephemeris_str_3;
164 inline void set_flag_ephemeris_str_4(
bool ephemeris_str_4)
166 flag_ephemeris_str_4 = ephemeris_str_4;
170 uint64_t read_navigation_unsigned(std::bitset<GLONASS_GNAV_STRING_BITS> bits,
const std::vector<std::pair<int32_t, int32_t>>& parameter)
const;
171 int64_t read_navigation_signed(std::bitset<GLONASS_GNAV_STRING_BITS> bits,
const std::vector<std::pair<int32_t, int32_t>>& parameter)
const;
172 bool read_navigation_bool(std::bitset<GLONASS_GNAV_STRING_BITS> bits,
const std::vector<std::pair<int32_t, int32_t>>& parameter)
const;
178 std::map<int, std::string> satelliteBlock;
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{};
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.
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...
bool CRC_test(std::bitset< GLONASS_GNAV_STRING_BITS > bits) const
Compute CRC for GLONASS GNAV strings.
Glonass_Gnav_Navigation_Message()
Glonass_Gnav_Almanac get_almanac(uint32_t satellite_slot_number) const
Returns a Glonass_Gnav_Almanac object filled with the latest navigation data received.