26 #ifndef GNSS_SDR_GALILEO_FNAV_MESSAGE_H 27 #define GNSS_SDR_GALILEO_FNAV_MESSAGE_H 52 void split_page(
const std::string& page_string);
53 bool have_new_ephemeris();
54 bool have_new_iono_and_GST();
55 bool have_new_utc_model();
56 bool have_new_almanac();
62 inline int32_t get_TOW1()
const 67 inline int32_t get_TOW2()
const 72 inline int32_t get_TOW3()
const 77 inline int32_t get_TOW4()
const 82 inline bool get_flag_CRC_test()
const 87 inline bool get_flag_TOW_set()
const 92 inline void set_flag_TOW_set(
bool flag_tow)
94 flag_TOW_set = flag_tow;
97 inline bool is_TOW_set()
const 102 inline bool is_TOW1_set()
const 107 inline void set_TOW1_flag(
bool flag_tow1)
109 flag_TOW_1 = flag_tow1;
112 inline bool is_TOW2_set()
const 117 inline void set_TOW2_flag(
bool flag_tow2)
119 flag_TOW_2 = flag_tow2;
122 inline bool is_TOW3_set()
const 127 inline void set_TOW3_flag(
bool flag_tow3)
129 flag_TOW_3 = flag_tow3;
132 inline bool is_TOW4_set()
const 137 inline void set_TOW4_flag(
bool flag_tow4)
139 flag_TOW_4 = flag_tow4;
143 bool _CRC_test(std::bitset<GALILEO_FNAV_DATA_FRAME_BITS> bits, uint32_t checksum)
const;
144 void decode_page(
const std::string& data);
145 uint64_t read_navigation_unsigned(std::bitset<GALILEO_FNAV_DATA_FRAME_BITS> bits,
const std::vector<std::pair<int32_t, int32_t>>& parameter)
const;
146 int64_t read_navigation_signed(std::bitset<GALILEO_FNAV_DATA_FRAME_BITS> bits,
const std::vector<std::pair<int32_t, int32_t>>& parameter)
const;
148 std::string omega0_1{};
152 int32_t IOD_ephemeris{};
157 int32_t FNAV_SV_ID_PRN_1{};
158 int32_t FNAV_IODnav_1{};
159 int32_t FNAV_t0c_1{};
163 int32_t FNAV_SISA_1{};
167 bool FNAV_region1_1{};
168 bool FNAV_region2_1{};
169 bool FNAV_region3_1{};
170 bool FNAV_region4_1{};
171 bool FNAV_region5_1{};
173 int32_t FNAV_E5ahs_1{};
175 int32_t FNAV_TOW_1{};
176 bool FNAV_E5advs_1{};
179 int32_t FNAV_IODnav_2{};
181 double FNAV_omegadot_2{};
184 double FNAV_omega0_2{};
185 double FNAV_idot_2{};
187 int32_t FNAV_TOW_2{};
190 int32_t FNAV_IODnav_3{};
193 double FNAV_deltan_3{};
198 int32_t FNAV_t0e_3{};
200 int32_t FNAV_TOW_3{};
204 int32_t FNAV_IODnav_4{};
209 int32_t FNAV_deltatls_4{};
210 int32_t FNAV_t0t_4{};
211 int32_t FNAV_WNot_4{};
212 int32_t FNAV_WNlsf_4{};
214 int32_t FNAV_deltatlsf_4{};
215 int32_t FNAV_t0g_4{};
218 int32_t FNAV_WN0g_4{};
219 int32_t FNAV_TOW_4{};
222 int32_t FNAV_IODa_5{};
223 int32_t FNAV_WNa_5{};
224 int32_t FNAV_t0a_5{};
225 int32_t FNAV_SVID1_5{};
226 double FNAV_Deltaa12_1_5{};
229 double FNAV_deltai_1_5{};
230 double FNAV_Omega0_1_5{};
231 double FNAV_Omegadot_1_5{};
232 double FNAV_M0_1_5{};
233 double FNAV_af0_1_5{};
234 double FNAV_af1_1_5{};
235 uint32_t FNAV_E5ahs_1_5{};
236 int32_t FNAV_SVID2_5{};
237 double FNAV_Deltaa12_2_5{};
240 double FNAV_deltai_2_5{};
243 int32_t FNAV_IODa_6{};
244 double FNAV_Omega0_2_6{};
245 double FNAV_Omegadot_2_6{};
246 double FNAV_M0_2_6{};
247 double FNAV_af0_2_6{};
248 double FNAV_af1_2_6{};
249 int32_t FNAV_E5ahs_2_6{};
250 int32_t FNAV_SVID3_6{};
251 double FNAV_Deltaa12_3_6{};
254 double FNAV_deltai_3_6{};
255 double FNAV_Omega0_3_6{};
256 double FNAV_Omegadot_3_6{};
257 double FNAV_M0_3_6{};
258 double FNAV_af0_3_6{};
259 double FNAV_af1_3_6{};
260 int32_t FNAV_E5ahs_3_6{};
262 bool flag_CRC_test{};
263 bool flag_all_ephemeris{};
264 bool flag_ephemeris_1{};
265 bool flag_ephemeris_2{};
266 bool flag_ephemeris_3{};
268 bool flag_iono_and_GST{};
274 bool flag_utc_model{};
276 bool flag_all_almanac{};
277 bool flag_almanac_1{};
278 bool flag_almanac_2{};
281 #endif // GNSS_SDR_GALILEO_FNAV_MESSAGE_H Defines system parameters for Galileo E5a signal and NAV data.
This class handles the Galileo F/NAV Data message, as described in the Galileo Open Service Signal in...
Galileo FNAV mesage constants.
This class is a storage for the GALILEO ALMANAC data as described in GALILEO ICD. ...
This class is a storage for the GALILEO IONOSPHERIC data as described in Galileo ICD paragraph 5...
Interface of a Galileo UTC MODEL storage.
Interface of a Galileo ALMANAC storage helper.
This class is a storage and orbital model functions for the Galileo SV ephemeris data as described in...
This class is a storage for the GALILEO UTC MODEL data as described in Galileo ICD https://www...
Interface of a Galileo Ionospheric Model storage.
Interface of a Galileo EPHEMERIS storage.