23 #ifndef GNSS_SDR_GALILEO_FNAV_MESSAGE_H 24 #define GNSS_SDR_GALILEO_FNAV_MESSAGE_H 55 void split_page(
const std::string& page_string);
56 bool have_new_ephemeris();
57 bool have_new_iono_and_GST();
58 bool have_new_utc_model();
59 bool have_new_almanac();
65 inline int32_t get_TOW1()
const 70 inline int32_t get_TOW2()
const 75 inline int32_t get_TOW3()
const 80 inline int32_t get_TOW4()
const 85 inline bool get_flag_CRC_test()
const 90 inline bool get_flag_TOW_set()
const 95 inline void set_flag_TOW_set(
bool flag_tow)
97 flag_TOW_set = flag_tow;
100 inline bool is_TOW1_set()
const 105 inline void set_TOW1_flag(
bool flag_tow1)
107 flag_TOW_1 = flag_tow1;
110 inline bool is_TOW2_set()
const 115 inline void set_TOW2_flag(
bool flag_tow2)
117 flag_TOW_2 = flag_tow2;
120 inline bool is_TOW3_set()
const 125 inline void set_TOW3_flag(
bool flag_tow3)
127 flag_TOW_3 = flag_tow3;
130 inline bool is_TOW4_set()
const 135 inline void set_TOW4_flag(
bool flag_tow4)
137 flag_TOW_4 = flag_tow4;
141 bool CRC_test(
const std::bitset<GALILEO_FNAV_DATA_FRAME_BITS>& bits, uint32_t checksum)
const;
142 void decode_page(
const std::string& data);
143 uint64_t read_navigation_unsigned(
const std::bitset<GALILEO_FNAV_DATA_FRAME_BITS>& bits,
const std::vector<std::pair<int32_t, int32_t>>& parameter)
const;
144 int64_t read_navigation_signed(
const std::bitset<GALILEO_FNAV_DATA_FRAME_BITS>& bits,
const std::vector<std::pair<int32_t, int32_t>>& parameter)
const;
146 std::string omega0_1{};
150 int32_t IOD_ephemeris{};
155 int32_t FNAV_SV_ID_PRN_1{};
156 int32_t FNAV_IODnav_1{};
157 int32_t FNAV_t0c_1{};
161 int32_t FNAV_SISA_1{};
166 int32_t FNAV_E5ahs_1{};
168 int32_t FNAV_TOW_1{};
169 bool FNAV_region1_1{};
170 bool FNAV_region2_1{};
171 bool FNAV_region3_1{};
172 bool FNAV_region4_1{};
173 bool FNAV_region5_1{};
174 bool FNAV_E5advs_1{};
177 int32_t FNAV_IODnav_2{};
179 double FNAV_omegadot_2{};
182 double FNAV_omega0_2{};
183 double FNAV_idot_2{};
185 int32_t FNAV_TOW_2{};
188 int32_t FNAV_IODnav_3{};
191 double FNAV_deltan_3{};
196 int32_t FNAV_t0e_3{};
198 int32_t FNAV_TOW_3{};
202 int32_t FNAV_IODnav_4{};
207 int32_t FNAV_deltatls_4{};
208 int32_t FNAV_t0t_4{};
209 int32_t FNAV_WNot_4{};
210 int32_t FNAV_WNlsf_4{};
212 int32_t FNAV_deltatlsf_4{};
213 int32_t FNAV_t0g_4{};
216 int32_t FNAV_WN0g_4{};
217 int32_t FNAV_TOW_4{};
220 int32_t FNAV_IODa_5{};
221 int32_t FNAV_WNa_5{};
222 int32_t FNAV_t0a_5{};
223 int32_t FNAV_SVID1_5{};
224 double FNAV_Deltaa12_1_5{};
227 double FNAV_deltai_1_5{};
228 double FNAV_Omega0_1_5{};
229 double FNAV_Omegadot_1_5{};
230 double FNAV_M0_1_5{};
231 double FNAV_af0_1_5{};
232 double FNAV_af1_1_5{};
233 uint32_t FNAV_E5ahs_1_5{};
234 int32_t FNAV_SVID2_5{};
235 double FNAV_Deltaa12_2_5{};
238 double FNAV_deltai_2_5{};
241 int32_t FNAV_IODa_6{};
242 double FNAV_Omega0_2_6{};
243 double FNAV_Omegadot_2_6{};
244 double FNAV_M0_2_6{};
245 double FNAV_af0_2_6{};
246 double FNAV_af1_2_6{};
247 int32_t FNAV_E5ahs_2_6{};
248 int32_t FNAV_SVID3_6{};
249 double FNAV_Deltaa12_3_6{};
252 double FNAV_deltai_3_6{};
253 double FNAV_Omega0_3_6{};
254 double FNAV_Omegadot_3_6{};
255 double FNAV_M0_3_6{};
256 double FNAV_af0_3_6{};
257 double FNAV_af1_3_6{};
258 int32_t FNAV_E5ahs_3_6{};
260 bool flag_CRC_test{};
261 bool flag_all_ephemeris{};
262 bool flag_ephemeris_1{};
263 bool flag_ephemeris_2{};
264 bool flag_ephemeris_3{};
266 bool flag_iono_and_GST{};
272 bool flag_utc_model{};
274 bool flag_all_almanac{};
275 bool flag_almanac_1{};
276 bool flag_almanac_2{};
282 #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.