139 OSNMA_NavData() : nav_data_id(id_counter++) {}
140 const uint32_t nav_data_id;
141 std::string get_utc_data()
const;
142 std::string get_ephemeris_data()
const;
143 uint32_t get_verified_bits()
const {
return verified_bits; }
144 uint32_t get_prn_d()
const {
return PRNd; }
145 uint32_t get_IOD_nav()
const {
return IOD_nav; }
146 uint32_t get_last_received_TOW()
const {
return d_last_received_TOW; }
147 uint32_t get_tow_sf0()
const {
return d_TOW_sf0; }
148 bool have_this_bits(std::string nav_data);
149 bool get_verified_status()
const {
return verified; }
150 bool add_nav_data(
const std::string& nav_data);
151 void set_tow_sf0(
int value) { d_TOW_sf0 = value; }
152 void set_ephemeris_data(std::string value) { d_ephemeris_iono = value; }
153 void set_utc_data(std::string value) { d_utc = value; }
154 void update_last_received_timestamp(uint32_t TOW);
155 void set_prn_d(uint32_t value) { PRNd = value; }
156 void set_last_received_TOW(uint32_t TOW) { d_last_received_TOW = TOW; };
157 void set_update_verified_bits(uint32_t morebits) { verified_bits += morebits; }
158 void set_verified_status(
bool value) { verified = value; }
159 void set_IOD_nav(uint32_t value) { IOD_nav = value; }
162 static uint32_t id_counter;
163 std::string d_ephemeris_iono{
""};
164 std::string d_utc{
""};
165 uint32_t d_TOW_sf0{0};
166 uint32_t d_last_received_TOW{0};
168 uint32_t verified_bits{0};
170 bool verified{
false};
195 enum e_verification_status
201 Tag(
const MACK_tag_and_info& MTI, uint32_t TOW, uint32_t WN, uint32_t PRNa, uint8_t CTR)
202 : tag_id(id_counter++),
208 received_tag(MTI.tag),
210 PRN_d(MTI.tag_info.PRN_d),
211 ADKD(MTI.tag_info.ADKD),
212 cop(MTI.tag_info.cop),
217 : tag_id(id_counter++),
223 received_tag(mack.header.tag0),
227 cop(mack.header.cop),
231 const uint32_t tag_id;
232 static uint32_t id_counter;
237 e_verification_status status;
238 uint64_t received_tag;
239 uint64_t computed_tag;
244 std::string nav_data;