add signs to glonass ksy

pull/27139/head
Kurt Nistelberger 2 years ago
parent 7f85381976
commit aa71947ebc
  1. 176
      selfdrive/locationd/generated/glonass.cpp
  2. 191
      selfdrive/locationd/generated/glonass.h
  3. 119
      selfdrive/locationd/glonass.ksy

@ -31,6 +31,10 @@ void glonass_t::_read() {
m_data = new string_3_t(m__io, this, m__root); m_data = new string_3_t(m__io, this, m__root);
break; break;
} }
case 5: {
m_data = new string_5_t(m__io, this, m__root);
break;
}
case 2: { case 2: {
m_data = new string_2_t(m__io, this, m__root); m_data = new string_2_t(m__io, this, m__root);
break; break;
@ -60,6 +64,8 @@ void glonass_t::_clean_up() {
glonass_t::string_4_t::string_4_t(kaitai::kstream* p__io, glonass_t* p__parent, glonass_t* p__root) : kaitai::kstruct(p__io) { glonass_t::string_4_t::string_4_t(kaitai::kstream* p__io, glonass_t* p__parent, glonass_t* p__root) : kaitai::kstruct(p__io) {
m__parent = p__parent; m__parent = p__parent;
m__root = p__root; m__root = p__root;
f_tau_n = false;
f_delta_tau_n = false;
try { try {
_read(); _read();
@ -70,8 +76,10 @@ glonass_t::string_4_t::string_4_t(kaitai::kstream* p__io, glonass_t* p__parent,
} }
void glonass_t::string_4_t::_read() { void glonass_t::string_4_t::_read() {
m_tau_n = m__io->read_bits_int_be(22); m_tau_n_sign = m__io->read_bits_int_be(1);
m_delta_tau_n = m__io->read_bits_int_be(5); m_tau_n_value = m__io->read_bits_int_be(21);
m_delta_tau_n_sign = m__io->read_bits_int_be(1);
m_delta_tau_n_value = m__io->read_bits_int_be(4);
m_e_n = m__io->read_bits_int_be(5); m_e_n = m__io->read_bits_int_be(5);
m_not_used_1 = m__io->read_bits_int_be(14); m_not_used_1 = m__io->read_bits_int_be(14);
m_p4 = m__io->read_bits_int_be(1); m_p4 = m__io->read_bits_int_be(1);
@ -89,6 +97,22 @@ glonass_t::string_4_t::~string_4_t() {
void glonass_t::string_4_t::_clean_up() { void glonass_t::string_4_t::_clean_up() {
} }
int32_t glonass_t::string_4_t::tau_n() {
if (f_tau_n)
return m_tau_n;
m_tau_n = ((tau_n_sign()) ? ((tau_n_value() - (1 << 21))) : (tau_n_value()));
f_tau_n = true;
return m_tau_n;
}
int32_t glonass_t::string_4_t::delta_tau_n() {
if (f_delta_tau_n)
return m_delta_tau_n;
m_delta_tau_n = ((delta_tau_n_sign()) ? ((delta_tau_n_value() - (1 << 4))) : (delta_tau_n_value()));
f_delta_tau_n = true;
return m_delta_tau_n;
}
glonass_t::string_non_immediate_t::string_non_immediate_t(kaitai::kstream* p__io, glonass_t* p__parent, glonass_t* p__root) : kaitai::kstruct(p__io) { glonass_t::string_non_immediate_t::string_non_immediate_t(kaitai::kstream* p__io, glonass_t* p__parent, glonass_t* p__root) : kaitai::kstruct(p__io) {
m__parent = p__parent; m__parent = p__parent;
m__root = p__root; m__root = p__root;
@ -113,9 +137,40 @@ glonass_t::string_non_immediate_t::~string_non_immediate_t() {
void glonass_t::string_non_immediate_t::_clean_up() { void glonass_t::string_non_immediate_t::_clean_up() {
} }
glonass_t::string_5_t::string_5_t(kaitai::kstream* p__io, glonass_t* p__parent, glonass_t* p__root) : kaitai::kstruct(p__io) {
m__parent = p__parent;
m__root = p__root;
try {
_read();
} catch(...) {
_clean_up();
throw;
}
}
void glonass_t::string_5_t::_read() {
m_n_a = m__io->read_bits_int_be(11);
m_tau_e = m__io->read_bits_int_be(32);
m_not_used = m__io->read_bits_int_be(1);
m_n_4 = m__io->read_bits_int_be(5);
m_tau_gps = m__io->read_bits_int_be(22);
m_l_n = m__io->read_bits_int_be(1);
}
glonass_t::string_5_t::~string_5_t() {
_clean_up();
}
void glonass_t::string_5_t::_clean_up() {
}
glonass_t::string_1_t::string_1_t(kaitai::kstream* p__io, glonass_t* p__parent, glonass_t* p__root) : kaitai::kstruct(p__io) { glonass_t::string_1_t::string_1_t(kaitai::kstream* p__io, glonass_t* p__parent, glonass_t* p__root) : kaitai::kstruct(p__io) {
m__parent = p__parent; m__parent = p__parent;
m__root = p__root; m__root = p__root;
f_x_vel = false;
f_x_accel = false;
f_x = false;
try { try {
_read(); _read();
@ -129,9 +184,12 @@ void glonass_t::string_1_t::_read() {
m_not_used = m__io->read_bits_int_be(2); m_not_used = m__io->read_bits_int_be(2);
m_p1 = m__io->read_bits_int_be(2); m_p1 = m__io->read_bits_int_be(2);
m_t_k = m__io->read_bits_int_be(12); m_t_k = m__io->read_bits_int_be(12);
m_x_vel = m__io->read_bits_int_be(24); m_x_vel_sign = m__io->read_bits_int_be(1);
m_x_speedup = m__io->read_bits_int_be(5); m_x_vel_value = m__io->read_bits_int_be(23);
m_x = m__io->read_bits_int_be(27); m_x_accel_sign = m__io->read_bits_int_be(1);
m_x_accel_value = m__io->read_bits_int_be(4);
m_x_sign = m__io->read_bits_int_be(1);
m_x_value = m__io->read_bits_int_be(26);
} }
glonass_t::string_1_t::~string_1_t() { glonass_t::string_1_t::~string_1_t() {
@ -141,9 +199,36 @@ glonass_t::string_1_t::~string_1_t() {
void glonass_t::string_1_t::_clean_up() { void glonass_t::string_1_t::_clean_up() {
} }
int32_t glonass_t::string_1_t::x_vel() {
if (f_x_vel)
return m_x_vel;
m_x_vel = ((x_vel_sign()) ? ((x_vel_value() - (1 << 23))) : (x_vel_value()));
f_x_vel = true;
return m_x_vel;
}
int32_t glonass_t::string_1_t::x_accel() {
if (f_x_accel)
return m_x_accel;
m_x_accel = ((x_accel_sign()) ? ((x_accel_value() - (1 << 4))) : (x_accel_value()));
f_x_accel = true;
return m_x_accel;
}
int32_t glonass_t::string_1_t::x() {
if (f_x)
return m_x;
m_x = ((x_sign()) ? ((x_value() - (1 << 26))) : (x_value()));
f_x = true;
return m_x;
}
glonass_t::string_2_t::string_2_t(kaitai::kstream* p__io, glonass_t* p__parent, glonass_t* p__root) : kaitai::kstruct(p__io) { glonass_t::string_2_t::string_2_t(kaitai::kstream* p__io, glonass_t* p__parent, glonass_t* p__root) : kaitai::kstruct(p__io) {
m__parent = p__parent; m__parent = p__parent;
m__root = p__root; m__root = p__root;
f_y_vel = false;
f_y_accel = false;
f_y = false;
try { try {
_read(); _read();
@ -158,9 +243,12 @@ void glonass_t::string_2_t::_read() {
m_p2 = m__io->read_bits_int_be(1); m_p2 = m__io->read_bits_int_be(1);
m_t_b = m__io->read_bits_int_be(7); m_t_b = m__io->read_bits_int_be(7);
m_not_used = m__io->read_bits_int_be(5); m_not_used = m__io->read_bits_int_be(5);
m_y_vel = m__io->read_bits_int_be(24); m_y_vel_sign = m__io->read_bits_int_be(1);
m_y_speedup = m__io->read_bits_int_be(5); m_y_vel_value = m__io->read_bits_int_be(23);
m_y = m__io->read_bits_int_be(27); m_y_accel_sign = m__io->read_bits_int_be(1);
m_y_accel_value = m__io->read_bits_int_be(4);
m_y_sign = m__io->read_bits_int_be(1);
m_y_value = m__io->read_bits_int_be(26);
} }
glonass_t::string_2_t::~string_2_t() { glonass_t::string_2_t::~string_2_t() {
@ -170,9 +258,37 @@ glonass_t::string_2_t::~string_2_t() {
void glonass_t::string_2_t::_clean_up() { void glonass_t::string_2_t::_clean_up() {
} }
int32_t glonass_t::string_2_t::y_vel() {
if (f_y_vel)
return m_y_vel;
m_y_vel = ((y_vel_sign()) ? ((y_vel_value() - (1 << 23))) : (y_vel_value()));
f_y_vel = true;
return m_y_vel;
}
int32_t glonass_t::string_2_t::y_accel() {
if (f_y_accel)
return m_y_accel;
m_y_accel = ((y_accel_sign()) ? ((y_accel_value() - (1 << 4))) : (y_accel_value()));
f_y_accel = true;
return m_y_accel;
}
int32_t glonass_t::string_2_t::y() {
if (f_y)
return m_y;
m_y = ((y_sign()) ? ((y_value() - (1 << 26))) : (y_value()));
f_y = true;
return m_y;
}
glonass_t::string_3_t::string_3_t(kaitai::kstream* p__io, glonass_t* p__parent, glonass_t* p__root) : kaitai::kstruct(p__io) { glonass_t::string_3_t::string_3_t(kaitai::kstream* p__io, glonass_t* p__parent, glonass_t* p__root) : kaitai::kstruct(p__io) {
m__parent = p__parent; m__parent = p__parent;
m__root = p__root; m__root = p__root;
f_gamma_n = false;
f_z_vel = false;
f_z_accel = false;
f_z = false;
try { try {
_read(); _read();
@ -184,13 +300,17 @@ glonass_t::string_3_t::string_3_t(kaitai::kstream* p__io, glonass_t* p__parent,
void glonass_t::string_3_t::_read() { void glonass_t::string_3_t::_read() {
m_p3 = m__io->read_bits_int_be(1); m_p3 = m__io->read_bits_int_be(1);
m_gamma_n = m__io->read_bits_int_be(11); m_gamma_n_sign = m__io->read_bits_int_be(1);
m_gamma_n_value = m__io->read_bits_int_be(10);
m_not_used = m__io->read_bits_int_be(1); m_not_used = m__io->read_bits_int_be(1);
m_p = m__io->read_bits_int_be(2); m_p = m__io->read_bits_int_be(2);
m_l_n = m__io->read_bits_int_be(1); m_l_n = m__io->read_bits_int_be(1);
m_z_vel = m__io->read_bits_int_be(24); m_z_vel_sign = m__io->read_bits_int_be(1);
m_z_speedup = m__io->read_bits_int_be(5); m_z_vel_value = m__io->read_bits_int_be(23);
m_z = m__io->read_bits_int_be(27); m_z_accel_sign = m__io->read_bits_int_be(1);
m_z_accel_value = m__io->read_bits_int_be(4);
m_z_sign = m__io->read_bits_int_be(1);
m_z_value = m__io->read_bits_int_be(26);
} }
glonass_t::string_3_t::~string_3_t() { glonass_t::string_3_t::~string_3_t() {
@ -199,3 +319,35 @@ glonass_t::string_3_t::~string_3_t() {
void glonass_t::string_3_t::_clean_up() { void glonass_t::string_3_t::_clean_up() {
} }
int32_t glonass_t::string_3_t::gamma_n() {
if (f_gamma_n)
return m_gamma_n;
m_gamma_n = ((gamma_n_sign()) ? ((gamma_n_value() - (1 << 10))) : (gamma_n_value()));
f_gamma_n = true;
return m_gamma_n;
}
int32_t glonass_t::string_3_t::z_vel() {
if (f_z_vel)
return m_z_vel;
m_z_vel = ((z_vel_sign()) ? ((z_vel_value() - (1 << 23))) : (z_vel_value()));
f_z_vel = true;
return m_z_vel;
}
int32_t glonass_t::string_3_t::z_accel() {
if (f_z_accel)
return m_z_accel;
m_z_accel = ((z_accel_sign()) ? ((z_accel_value() - (1 << 4))) : (z_accel_value()));
f_z_accel = true;
return m_z_accel;
}
int32_t glonass_t::string_3_t::z() {
if (f_z)
return m_z;
m_z = ((z_sign()) ? ((z_value() - (1 << 26))) : (z_value()));
f_z = true;
return m_z;
}

@ -15,6 +15,7 @@ class glonass_t : public kaitai::kstruct {
public: public:
class string_4_t; class string_4_t;
class string_non_immediate_t; class string_non_immediate_t;
class string_5_t;
class string_1_t; class string_1_t;
class string_2_t; class string_2_t;
class string_3_t; class string_3_t;
@ -42,8 +43,24 @@ public:
~string_4_t(); ~string_4_t();
private: private:
uint64_t m_tau_n; bool f_tau_n;
uint64_t m_delta_tau_n; int32_t m_tau_n;
public:
int32_t tau_n();
private:
bool f_delta_tau_n;
int32_t m_delta_tau_n;
public:
int32_t delta_tau_n();
private:
bool m_tau_n_sign;
uint64_t m_tau_n_value;
bool m_delta_tau_n_sign;
uint64_t m_delta_tau_n_value;
uint64_t m_e_n; uint64_t m_e_n;
uint64_t m_not_used_1; uint64_t m_not_used_1;
bool m_p4; bool m_p4;
@ -56,8 +73,10 @@ public:
glonass_t* m__parent; glonass_t* m__parent;
public: public:
uint64_t tau_n() const { return m_tau_n; } bool tau_n_sign() const { return m_tau_n_sign; }
uint64_t delta_tau_n() const { return m_delta_tau_n; } uint64_t tau_n_value() const { return m_tau_n_value; }
bool delta_tau_n_sign() const { return m_delta_tau_n_sign; }
uint64_t delta_tau_n_value() const { return m_delta_tau_n_value; }
uint64_t e_n() const { return m_e_n; } uint64_t e_n() const { return m_e_n; }
uint64_t not_used_1() const { return m_not_used_1; } uint64_t not_used_1() const { return m_not_used_1; }
bool p4() const { return m_p4; } bool p4() const { return m_p4; }
@ -96,6 +115,40 @@ public:
glonass_t* _parent() const { return m__parent; } glonass_t* _parent() const { return m__parent; }
}; };
class string_5_t : public kaitai::kstruct {
public:
string_5_t(kaitai::kstream* p__io, glonass_t* p__parent = 0, glonass_t* p__root = 0);
private:
void _read();
void _clean_up();
public:
~string_5_t();
private:
uint64_t m_n_a;
uint64_t m_tau_e;
bool m_not_used;
uint64_t m_n_4;
uint64_t m_tau_gps;
bool m_l_n;
glonass_t* m__root;
glonass_t* m__parent;
public:
uint64_t n_a() const { return m_n_a; }
uint64_t tau_e() const { return m_tau_e; }
bool not_used() const { return m_not_used; }
uint64_t n_4() const { return m_n_4; }
uint64_t tau_gps() const { return m_tau_gps; }
bool l_n() const { return m_l_n; }
glonass_t* _root() const { return m__root; }
glonass_t* _parent() const { return m__parent; }
};
class string_1_t : public kaitai::kstruct { class string_1_t : public kaitai::kstruct {
public: public:
@ -109,13 +162,37 @@ public:
public: public:
~string_1_t(); ~string_1_t();
private:
bool f_x_vel;
int32_t m_x_vel;
public:
int32_t x_vel();
private:
bool f_x_accel;
int32_t m_x_accel;
public:
int32_t x_accel();
private:
bool f_x;
int32_t m_x;
public:
int32_t x();
private: private:
uint64_t m_not_used; uint64_t m_not_used;
uint64_t m_p1; uint64_t m_p1;
uint64_t m_t_k; uint64_t m_t_k;
uint64_t m_x_vel; bool m_x_vel_sign;
uint64_t m_x_speedup; uint64_t m_x_vel_value;
uint64_t m_x; bool m_x_accel_sign;
uint64_t m_x_accel_value;
bool m_x_sign;
uint64_t m_x_value;
glonass_t* m__root; glonass_t* m__root;
glonass_t* m__parent; glonass_t* m__parent;
@ -123,9 +200,12 @@ public:
uint64_t not_used() const { return m_not_used; } uint64_t not_used() const { return m_not_used; }
uint64_t p1() const { return m_p1; } uint64_t p1() const { return m_p1; }
uint64_t t_k() const { return m_t_k; } uint64_t t_k() const { return m_t_k; }
uint64_t x_vel() const { return m_x_vel; } bool x_vel_sign() const { return m_x_vel_sign; }
uint64_t x_speedup() const { return m_x_speedup; } uint64_t x_vel_value() const { return m_x_vel_value; }
uint64_t x() const { return m_x; } bool x_accel_sign() const { return m_x_accel_sign; }
uint64_t x_accel_value() const { return m_x_accel_value; }
bool x_sign() const { return m_x_sign; }
uint64_t x_value() const { return m_x_value; }
glonass_t* _root() const { return m__root; } glonass_t* _root() const { return m__root; }
glonass_t* _parent() const { return m__parent; } glonass_t* _parent() const { return m__parent; }
}; };
@ -143,14 +223,38 @@ public:
public: public:
~string_2_t(); ~string_2_t();
private:
bool f_y_vel;
int32_t m_y_vel;
public:
int32_t y_vel();
private:
bool f_y_accel;
int32_t m_y_accel;
public:
int32_t y_accel();
private:
bool f_y;
int32_t m_y;
public:
int32_t y();
private: private:
uint64_t m_b_n; uint64_t m_b_n;
bool m_p2; bool m_p2;
uint64_t m_t_b; uint64_t m_t_b;
uint64_t m_not_used; uint64_t m_not_used;
uint64_t m_y_vel; bool m_y_vel_sign;
uint64_t m_y_speedup; uint64_t m_y_vel_value;
uint64_t m_y; bool m_y_accel_sign;
uint64_t m_y_accel_value;
bool m_y_sign;
uint64_t m_y_value;
glonass_t* m__root; glonass_t* m__root;
glonass_t* m__parent; glonass_t* m__parent;
@ -159,9 +263,12 @@ public:
bool p2() const { return m_p2; } bool p2() const { return m_p2; }
uint64_t t_b() const { return m_t_b; } uint64_t t_b() const { return m_t_b; }
uint64_t not_used() const { return m_not_used; } uint64_t not_used() const { return m_not_used; }
uint64_t y_vel() const { return m_y_vel; } bool y_vel_sign() const { return m_y_vel_sign; }
uint64_t y_speedup() const { return m_y_speedup; } uint64_t y_vel_value() const { return m_y_vel_value; }
uint64_t y() const { return m_y; } bool y_accel_sign() const { return m_y_accel_sign; }
uint64_t y_accel_value() const { return m_y_accel_value; }
bool y_sign() const { return m_y_sign; }
uint64_t y_value() const { return m_y_value; }
glonass_t* _root() const { return m__root; } glonass_t* _root() const { return m__root; }
glonass_t* _parent() const { return m__parent; } glonass_t* _parent() const { return m__parent; }
}; };
@ -179,27 +286,63 @@ public:
public: public:
~string_3_t(); ~string_3_t();
private:
bool f_gamma_n;
int32_t m_gamma_n;
public:
int32_t gamma_n();
private:
bool f_z_vel;
int32_t m_z_vel;
public:
int32_t z_vel();
private:
bool f_z_accel;
int32_t m_z_accel;
public:
int32_t z_accel();
private:
bool f_z;
int32_t m_z;
public:
int32_t z();
private: private:
bool m_p3; bool m_p3;
uint64_t m_gamma_n; bool m_gamma_n_sign;
uint64_t m_gamma_n_value;
bool m_not_used; bool m_not_used;
uint64_t m_p; uint64_t m_p;
bool m_l_n; bool m_l_n;
uint64_t m_z_vel; bool m_z_vel_sign;
uint64_t m_z_speedup; uint64_t m_z_vel_value;
uint64_t m_z; bool m_z_accel_sign;
uint64_t m_z_accel_value;
bool m_z_sign;
uint64_t m_z_value;
glonass_t* m__root; glonass_t* m__root;
glonass_t* m__parent; glonass_t* m__parent;
public: public:
bool p3() const { return m_p3; } bool p3() const { return m_p3; }
uint64_t gamma_n() const { return m_gamma_n; } bool gamma_n_sign() const { return m_gamma_n_sign; }
uint64_t gamma_n_value() const { return m_gamma_n_value; }
bool not_used() const { return m_not_used; } bool not_used() const { return m_not_used; }
uint64_t p() const { return m_p; } uint64_t p() const { return m_p; }
bool l_n() const { return m_l_n; } bool l_n() const { return m_l_n; }
uint64_t z_vel() const { return m_z_vel; } bool z_vel_sign() const { return m_z_vel_sign; }
uint64_t z_speedup() const { return m_z_speedup; } uint64_t z_vel_value() const { return m_z_vel_value; }
uint64_t z() const { return m_z; } bool z_accel_sign() const { return m_z_accel_sign; }
uint64_t z_accel_value() const { return m_z_accel_value; }
bool z_sign() const { return m_z_sign; }
uint64_t z_value() const { return m_z_value; }
glonass_t* _root() const { return m__root; } glonass_t* _root() const { return m__root; }
glonass_t* _parent() const { return m__parent; } glonass_t* _parent() const { return m__parent; }
}; };

@ -1,4 +1,6 @@
# http://gauss.gge.unb.ca/GLONASS.ICD.pdf # http://gauss.gge.unb.ca/GLONASS.ICD.pdf
# some variables are misprinted but good in the old doc
# https://www.unavco.org/help/glossary/docs/ICD_GLONASS_4.0_(1998)_en.pdf
meta: meta:
id: glonass id: glonass
endian: be endian: be
@ -16,6 +18,7 @@ seq:
2: string_2 2: string_2
3: string_3 3: string_3
4: string_4 4: string_4
5: string_5
_: string_non_immediate _: string_non_immediate
- id: hamming_code - id: hamming_code
type: b8 type: b8
@ -37,12 +40,25 @@ types:
type: b2 type: b2
- id: t_k - id: t_k
type: b12 type: b12
- id: x_vel - id: x_vel_sign
type: b24 type: b1
- id: x_speedup - id: x_vel_value
type: b5 type: b23
- id: x - id: x_accel_sign
type: b27 type: b1
- id: x_accel_value
type: b4
- id: x_sign
type: b1
- id: x_value
type: b26
instances:
x_vel:
value: 'x_vel_sign ? (x_vel_value - (1 << 23)) : x_vel_value'
x_accel:
value: 'x_accel_sign ? (x_accel_value - (1 << 4)) : x_accel_value'
x:
value: 'x_sign ? (x_value - (1 << 26)) : x_value'
string_2: string_2:
seq: seq:
- id: b_n - id: b_n
@ -53,36 +69,70 @@ types:
type: b7 type: b7
- id: not_used - id: not_used
type: b5 type: b5
- id: y_vel - id: y_vel_sign
type: b24 type: b1
- id: y_speedup - id: y_vel_value
type: b5 type: b23
- id: y - id: y_accel_sign
type: b27 type: b1
- id: y_accel_value
type: b4
- id: y_sign
type: b1
- id: y_value
type: b26
instances:
y_vel:
value: 'y_vel_sign ? (y_vel_value - (1 << 23)) : y_vel_value'
y_accel:
value: 'y_accel_sign ? (y_accel_value - (1 << 4)) : y_accel_value'
y:
value: 'y_sign ? (y_value - (1 << 26)) : y_value'
string_3: string_3:
seq: seq:
- id: p3 - id: p3
type: b1 type: b1
- id: gamma_n - id: gamma_n_sign
type: b11 type: b1
- id: gamma_n_value
type: b10
- id: not_used - id: not_used
type: b1 type: b1
- id: p - id: p
type: b2 type: b2
- id: l_n - id: l_n
type: b1 type: b1
- id: z_vel - id: z_vel_sign
type: b24 type: b1
- id: z_speedup - id: z_vel_value
type: b5 type: b23
- id: z - id: z_accel_sign
type: b27 type: b1
- id: z_accel_value
type: b4
- id: z_sign
type: b1
- id: z_value
type: b26
instances:
gamma_n:
value: 'gamma_n_sign ? (gamma_n_value - (1 << 10)) : gamma_n_value'
z_vel:
value: 'z_vel_sign ? (z_vel_value - (1 << 23)) : z_vel_value'
z_accel:
value: 'z_accel_sign ? (z_accel_value - (1 << 4)) : z_accel_value'
z:
value: 'z_sign ? (z_value - (1 << 26)) : z_value'
string_4: string_4:
seq: seq:
- id: tau_n - id: tau_n_sign
type: b22 type: b1
- id: delta_tau_n - id: tau_n_value
type: b5 type: b21
- id: delta_tau_n_sign
type: b1
- id: delta_tau_n_value
type: b4
- id: e_n - id: e_n
type: b5 type: b5
- id: not_used_1 - id: not_used_1
@ -99,9 +149,28 @@ types:
type: b5 type: b5
- id: m - id: m
type: b2 type: b2
instances:
tau_n:
value: 'tau_n_sign ? (tau_n_value - (1 << 21)) : tau_n_value'
delta_tau_n:
value: 'delta_tau_n_sign ? (delta_tau_n_value - (1 << 4)) : delta_tau_n_value'
string_5:
seq:
- id: n_a
type: b11
- id: tau_e
type: b32
- id: not_used
type: b1
- id: n_4
type: b5
- id: tau_gps
type: b22
- id: l_n
type: b1
string_non_immediate: string_non_immediate:
seq: seq:
- id: data_1 - id: data_1
type: b64 type: b64
- id: data_2 - id: data_2
type: b8 type: b8

Loading…
Cancel
Save