You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					354 lines
				
				8.8 KiB
			
		
		
			
		
	
	
					354 lines
				
				8.8 KiB
			| 
								 
											3 years ago
										 
									 | 
							
								// This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#include "glonass.h"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								glonass_t::glonass_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent, glonass_t* p__root) : kaitai::kstruct(p__io) {
							 | 
						||
| 
								 | 
							
								    m__parent = p__parent;
							 | 
						||
| 
								 | 
							
								    m__root = this;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    try {
							 | 
						||
| 
								 | 
							
								        _read();
							 | 
						||
| 
								 | 
							
								    } catch(...) {
							 | 
						||
| 
								 | 
							
								        _clean_up();
							 | 
						||
| 
								 | 
							
								        throw;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								void glonass_t::_read() {
							 | 
						||
| 
								 | 
							
								    m_idle_chip = m__io->read_bits_int_be(1);
							 | 
						||
| 
								 | 
							
								    m_string_number = m__io->read_bits_int_be(4);
							 | 
						||
| 
								 | 
							
								    //m__io->align_to_byte();
							 | 
						||
| 
								 | 
							
								    switch (string_number()) {
							 | 
						||
| 
								 | 
							
								    case 4: {
							 | 
						||
| 
								 | 
							
								        m_data = new string_4_t(m__io, this, m__root);
							 | 
						||
| 
								 | 
							
								        break;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    case 1: {
							 | 
						||
| 
								 | 
							
								        m_data = new string_1_t(m__io, this, m__root);
							 | 
						||
| 
								 | 
							
								        break;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    case 3: {
							 | 
						||
| 
								 | 
							
								        m_data = new string_3_t(m__io, this, m__root);
							 | 
						||
| 
								 | 
							
								        break;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 
											3 years ago
										 
									 | 
							
								    case 5: {
							 | 
						||
| 
								 | 
							
								        m_data = new string_5_t(m__io, this, m__root);
							 | 
						||
| 
								 | 
							
								        break;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 
											3 years ago
										 
									 | 
							
								    case 2: {
							 | 
						||
| 
								 | 
							
								        m_data = new string_2_t(m__io, this, m__root);
							 | 
						||
| 
								 | 
							
								        break;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    default: {
							 | 
						||
| 
								 | 
							
								        m_data = new string_non_immediate_t(m__io, this, m__root);
							 | 
						||
| 
								 | 
							
								        break;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    m_hamming_code = m__io->read_bits_int_be(8);
							 | 
						||
| 
								 | 
							
								    m_pad_1 = m__io->read_bits_int_be(11);
							 | 
						||
| 
								 | 
							
								    m_superframe_number = m__io->read_bits_int_be(16);
							 | 
						||
| 
								 | 
							
								    m_pad_2 = m__io->read_bits_int_be(8);
							 | 
						||
| 
								 | 
							
								    m_frame_number = m__io->read_bits_int_be(8);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								glonass_t::~glonass_t() {
							 | 
						||
| 
								 | 
							
								    _clean_up();
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								void glonass_t::_clean_up() {
							 | 
						||
| 
								 | 
							
								    if (m_data) {
							 | 
						||
| 
								 | 
							
								        delete m_data; m_data = 0;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								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__root = p__root;
							 | 
						||
| 
								 
											3 years ago
										 
									 | 
							
								    f_tau_n = false;
							 | 
						||
| 
								 | 
							
								    f_delta_tau_n = false;
							 | 
						||
| 
								 
											3 years ago
										 
									 | 
							
								
							 | 
						||
| 
								 | 
							
								    try {
							 | 
						||
| 
								 | 
							
								        _read();
							 | 
						||
| 
								 | 
							
								    } catch(...) {
							 | 
						||
| 
								 | 
							
								        _clean_up();
							 | 
						||
| 
								 | 
							
								        throw;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								void glonass_t::string_4_t::_read() {
							 | 
						||
| 
								 
											3 years ago
										 
									 | 
							
								    m_tau_n_sign = m__io->read_bits_int_be(1);
							 | 
						||
| 
								 | 
							
								    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);
							 | 
						||
| 
								 
											3 years ago
										 
									 | 
							
								    m_e_n = m__io->read_bits_int_be(5);
							 | 
						||
| 
								 | 
							
								    m_not_used_1 = m__io->read_bits_int_be(14);
							 | 
						||
| 
								 | 
							
								    m_p4 = m__io->read_bits_int_be(1);
							 | 
						||
| 
								 | 
							
								    m_f_t = m__io->read_bits_int_be(4);
							 | 
						||
| 
								 | 
							
								    m_not_used_2 = m__io->read_bits_int_be(3);
							 | 
						||
| 
								 | 
							
								    m_n_t = m__io->read_bits_int_be(11);
							 | 
						||
| 
								 | 
							
								    m_n = m__io->read_bits_int_be(5);
							 | 
						||
| 
								 | 
							
								    m_m = m__io->read_bits_int_be(2);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								glonass_t::string_4_t::~string_4_t() {
							 | 
						||
| 
								 | 
							
								    _clean_up();
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								void glonass_t::string_4_t::_clean_up() {
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 
											3 years ago
										 
									 | 
							
								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)) : (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)) : (delta_tau_n_value()));
							 | 
						||
| 
								 | 
							
								    f_delta_tau_n = true;
							 | 
						||
| 
								 | 
							
								    return m_delta_tau_n;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 
											3 years ago
										 
									 | 
							
								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__root = p__root;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    try {
							 | 
						||
| 
								 | 
							
								        _read();
							 | 
						||
| 
								 | 
							
								    } catch(...) {
							 | 
						||
| 
								 | 
							
								        _clean_up();
							 | 
						||
| 
								 | 
							
								        throw;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								void glonass_t::string_non_immediate_t::_read() {
							 | 
						||
| 
								 | 
							
								    m_data_1 = m__io->read_bits_int_be(64);
							 | 
						||
| 
								 | 
							
								    m_data_2 = m__io->read_bits_int_be(8);
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								glonass_t::string_non_immediate_t::~string_non_immediate_t() {
							 | 
						||
| 
								 | 
							
								    _clean_up();
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								void glonass_t::string_non_immediate_t::_clean_up() {
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 
											3 years ago
										 
									 | 
							
								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_c = 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() {
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 
											3 years ago
										 
									 | 
							
								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__root = p__root;
							 | 
						||
| 
								 
											3 years ago
										 
									 | 
							
								    f_x_vel = false;
							 | 
						||
| 
								 | 
							
								    f_x_accel = false;
							 | 
						||
| 
								 | 
							
								    f_x = false;
							 | 
						||
| 
								 
											3 years ago
										 
									 | 
							
								
							 | 
						||
| 
								 | 
							
								    try {
							 | 
						||
| 
								 | 
							
								        _read();
							 | 
						||
| 
								 | 
							
								    } catch(...) {
							 | 
						||
| 
								 | 
							
								        _clean_up();
							 | 
						||
| 
								 | 
							
								        throw;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								void glonass_t::string_1_t::_read() {
							 | 
						||
| 
								 | 
							
								    m_not_used = 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);
							 | 
						||
| 
								 
											3 years ago
										 
									 | 
							
								    m_x_vel_sign = m__io->read_bits_int_be(1);
							 | 
						||
| 
								 | 
							
								    m_x_vel_value = m__io->read_bits_int_be(23);
							 | 
						||
| 
								 | 
							
								    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);
							 | 
						||
| 
								 
											3 years ago
										 
									 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								glonass_t::string_1_t::~string_1_t() {
							 | 
						||
| 
								 | 
							
								    _clean_up();
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								void glonass_t::string_1_t::_clean_up() {
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 
											3 years ago
										 
									 | 
							
								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)) : (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)) : (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)) : (x_value()));
							 | 
						||
| 
								 | 
							
								    f_x = true;
							 | 
						||
| 
								 | 
							
								    return m_x;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 
											3 years ago
										 
									 | 
							
								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__root = p__root;
							 | 
						||
| 
								 
											3 years ago
										 
									 | 
							
								    f_y_vel = false;
							 | 
						||
| 
								 | 
							
								    f_y_accel = false;
							 | 
						||
| 
								 | 
							
								    f_y = false;
							 | 
						||
| 
								 
											3 years ago
										 
									 | 
							
								
							 | 
						||
| 
								 | 
							
								    try {
							 | 
						||
| 
								 | 
							
								        _read();
							 | 
						||
| 
								 | 
							
								    } catch(...) {
							 | 
						||
| 
								 | 
							
								        _clean_up();
							 | 
						||
| 
								 | 
							
								        throw;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								void glonass_t::string_2_t::_read() {
							 | 
						||
| 
								 | 
							
								    m_b_n = m__io->read_bits_int_be(3);
							 | 
						||
| 
								 | 
							
								    m_p2 = m__io->read_bits_int_be(1);
							 | 
						||
| 
								 | 
							
								    m_t_b = m__io->read_bits_int_be(7);
							 | 
						||
| 
								 | 
							
								    m_not_used = m__io->read_bits_int_be(5);
							 | 
						||
| 
								 
											3 years ago
										 
									 | 
							
								    m_y_vel_sign = m__io->read_bits_int_be(1);
							 | 
						||
| 
								 | 
							
								    m_y_vel_value = m__io->read_bits_int_be(23);
							 | 
						||
| 
								 | 
							
								    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);
							 | 
						||
| 
								 
											3 years ago
										 
									 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								glonass_t::string_2_t::~string_2_t() {
							 | 
						||
| 
								 | 
							
								    _clean_up();
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								void glonass_t::string_2_t::_clean_up() {
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 
											3 years ago
										 
									 | 
							
								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)) : (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)) : (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)) : (y_value()));
							 | 
						||
| 
								 | 
							
								    f_y = true;
							 | 
						||
| 
								 | 
							
								    return m_y;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 
											3 years ago
										 
									 | 
							
								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__root = p__root;
							 | 
						||
| 
								 
											3 years ago
										 
									 | 
							
								    f_gamma_n = false;
							 | 
						||
| 
								 | 
							
								    f_z_vel = false;
							 | 
						||
| 
								 | 
							
								    f_z_accel = false;
							 | 
						||
| 
								 | 
							
								    f_z = false;
							 | 
						||
| 
								 
											3 years ago
										 
									 | 
							
								
							 | 
						||
| 
								 | 
							
								    try {
							 | 
						||
| 
								 | 
							
								        _read();
							 | 
						||
| 
								 | 
							
								    } catch(...) {
							 | 
						||
| 
								 | 
							
								        _clean_up();
							 | 
						||
| 
								 | 
							
								        throw;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								void glonass_t::string_3_t::_read() {
							 | 
						||
| 
								 | 
							
								    m_p3 = m__io->read_bits_int_be(1);
							 | 
						||
| 
								 
											3 years ago
										 
									 | 
							
								    m_gamma_n_sign = m__io->read_bits_int_be(1);
							 | 
						||
| 
								 | 
							
								    m_gamma_n_value = m__io->read_bits_int_be(10);
							 | 
						||
| 
								 
											3 years ago
										 
									 | 
							
								    m_not_used = m__io->read_bits_int_be(1);
							 | 
						||
| 
								 | 
							
								    m_p = m__io->read_bits_int_be(2);
							 | 
						||
| 
								 | 
							
								    m_l_n = m__io->read_bits_int_be(1);
							 | 
						||
| 
								 
											3 years ago
										 
									 | 
							
								    m_z_vel_sign = m__io->read_bits_int_be(1);
							 | 
						||
| 
								 | 
							
								    m_z_vel_value = m__io->read_bits_int_be(23);
							 | 
						||
| 
								 | 
							
								    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);
							 | 
						||
| 
								 
											3 years ago
										 
									 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								glonass_t::string_3_t::~string_3_t() {
							 | 
						||
| 
								 | 
							
								    _clean_up();
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								void glonass_t::string_3_t::_clean_up() {
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 
											3 years ago
										 
									 | 
							
								
							 | 
						||
| 
								 | 
							
								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)) : (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)) : (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)) : (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)) : (z_value()));
							 | 
						||
| 
								 | 
							
								    f_z = true;
							 | 
						||
| 
								 | 
							
								    return m_z;
							 | 
						||
| 
								 | 
							
								}
							 |