48 void set_ism_constellation_id(uint8_t const_id);
49 void set_ism_service_level_id(uint8_t sl_id);
50 void set_ism_wn(uint16_t wn_ism);
51 void set_ism_t0(uint16_t t0);
52 void set_ism_mask_msb(
bool mask_msb);
53 void set_ism_mask(uint32_t mask);
54 void set_ism_pconst(uint8_t pconst);
55 void set_ism_psat(uint8_t psat);
56 void set_ism_ura(uint8_t ura);
57 void set_ism_ure(uint8_t ure);
58 void set_ism_bnom(uint8_t bnom);
59 void set_ism_Tvalidity(uint8_t tvalidity);
61 bool check_ism_crc(
const std::bitset<GALILEO_DATA_JK_BITS>& bits);
63 double get_pconst_value()
const;
64 double get_psat_value()
const;
65 float get_ura_m()
const;
66 float get_ure_m()
const;
67 float get_bnom_m()
const;
68 uint32_t get_mask_ISM()
const;
69 uint16_t get_WN_ISM()
const;
70 uint16_t get_t0_ISM()
const;
71 uint16_t get_Tvalidity_hours()
const;
72 bool get_ism_mask_msb()
const;
73 bool ism_parameters_apply(uint32_t prn)
const;
76 uint32_t compute_crc(
const std::vector<uint8_t>& data);
77 boost::crc_optimal<32, 0x814141AB, 0, 0, false, false> d_crc32_ism;
80 std::unordered_map<uint8_t, double> d_ISM_PCONST_MAP = {
99 std::unordered_map<uint8_t, double> d_ISM_PSAT_MAP = {
118 std::unordered_map<uint8_t, float> d_ISM_URA_MAP = {
137 std::unordered_map<uint8_t, float> d_ISM_URE_MAP = {
156 std::unordered_map<uint8_t, float> d_ISM_BNOM_MAP = {
175 std::unordered_map<uint8_t, uint16_t> d_ISM_TVALIDITY_MAP = {
193 uint32_t d_ism_crc{};
194 uint32_t d_ism_mask{};
197 uint8_t d_ism_constellation_id{};
198 uint8_t d_ism_service_level_id{};
199 uint8_t d_ism_pconst{};
200 uint8_t d_ism_psat{};
203 uint8_t d_ism_bnom{};
204 uint8_t d_ism_Tvalidity{};
205 bool d_ism_mask_msb{};