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.
		
		
		
		
			
				
					360 lines
				
				9.5 KiB
			
		
		
			
		
	
	
					360 lines
				
				9.5 KiB
			| 
								 
											5 years ago
										 
									 | 
							
								#ifndef GPS_H_
							 | 
						||
| 
								 | 
							
								#define GPS_H_
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// This is a generated file! Please edit source .ksy file and use kaitai-struct-compiler to rebuild
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#include "kaitai/kaitaistruct.h"
							 | 
						||
| 
								 | 
							
								#include <stdint.h>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#if KAITAI_STRUCT_VERSION < 9000L
							 | 
						||
| 
								 | 
							
								#error "Incompatible Kaitai Struct C++/STL API: version 0.9 or later is required"
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class gps_t : public kaitai::kstruct {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								public:
							 | 
						||
| 
								 | 
							
								    class subframe_1_t;
							 | 
						||
| 
								 | 
							
								    class subframe_3_t;
							 | 
						||
| 
								 | 
							
								    class subframe_4_t;
							 | 
						||
| 
								 | 
							
								    class how_t;
							 | 
						||
| 
								 | 
							
								    class tlm_t;
							 | 
						||
| 
								 | 
							
								    class subframe_2_t;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    gps_t(kaitai::kstream* p__io, kaitai::kstruct* p__parent = 0, gps_t* p__root = 0);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								private:
							 | 
						||
| 
								 | 
							
								    void _read();
							 | 
						||
| 
								 | 
							
								    void _clean_up();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								public:
							 | 
						||
| 
								 | 
							
								    ~gps_t();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    class subframe_1_t : public kaitai::kstruct {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        subframe_1_t(kaitai::kstream* p__io, gps_t* p__parent = 0, gps_t* p__root = 0);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    private:
							 | 
						||
| 
								 | 
							
								        void _read();
							 | 
						||
| 
								 | 
							
								        void _clean_up();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public:
							 | 
						||
| 
								 | 
							
								        ~subframe_1_t();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    private:
							 | 
						||
| 
								 | 
							
								        bool f_af_0;
							 | 
						||
| 
								 | 
							
								        int32_t m_af_0;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public:
							 | 
						||
| 
								 | 
							
								        int32_t af_0();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    private:
							 | 
						||
| 
								 | 
							
								        uint64_t m_week_no;
							 | 
						||
| 
								 | 
							
								        uint64_t m_code;
							 | 
						||
| 
								 | 
							
								        uint64_t m_sv_accuracy;
							 | 
						||
| 
								 | 
							
								        uint64_t m_sv_health;
							 | 
						||
| 
								 | 
							
								        uint64_t m_iodc_msb;
							 | 
						||
| 
								 | 
							
								        bool m_l2_p_data_flag;
							 | 
						||
| 
								 | 
							
								        uint64_t m_reserved1;
							 | 
						||
| 
								 | 
							
								        uint64_t m_reserved2;
							 | 
						||
| 
								 | 
							
								        uint64_t m_reserved3;
							 | 
						||
| 
								 | 
							
								        uint64_t m_reserved4;
							 | 
						||
| 
								 | 
							
								        int8_t m_t_gd;
							 | 
						||
| 
								 | 
							
								        uint8_t m_iodc_lsb;
							 | 
						||
| 
								 | 
							
								        uint16_t m_t_oc;
							 | 
						||
| 
								 | 
							
								        int8_t m_af_2;
							 | 
						||
| 
								 | 
							
								        int16_t m_af_1;
							 | 
						||
| 
								 | 
							
								        bool m_af_0_sign;
							 | 
						||
| 
								 | 
							
								        uint64_t m_af_0_value;
							 | 
						||
| 
								 | 
							
								        uint64_t m_reserved5;
							 | 
						||
| 
								 | 
							
								        gps_t* m__root;
							 | 
						||
| 
								 | 
							
								        gps_t* m__parent;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public:
							 | 
						||
| 
								 | 
							
								        uint64_t week_no() const { return m_week_no; }
							 | 
						||
| 
								 | 
							
								        uint64_t code() const { return m_code; }
							 | 
						||
| 
								 | 
							
								        uint64_t sv_accuracy() const { return m_sv_accuracy; }
							 | 
						||
| 
								 | 
							
								        uint64_t sv_health() const { return m_sv_health; }
							 | 
						||
| 
								 | 
							
								        uint64_t iodc_msb() const { return m_iodc_msb; }
							 | 
						||
| 
								 | 
							
								        bool l2_p_data_flag() const { return m_l2_p_data_flag; }
							 | 
						||
| 
								 | 
							
								        uint64_t reserved1() const { return m_reserved1; }
							 | 
						||
| 
								 | 
							
								        uint64_t reserved2() const { return m_reserved2; }
							 | 
						||
| 
								 | 
							
								        uint64_t reserved3() const { return m_reserved3; }
							 | 
						||
| 
								 | 
							
								        uint64_t reserved4() const { return m_reserved4; }
							 | 
						||
| 
								 | 
							
								        int8_t t_gd() const { return m_t_gd; }
							 | 
						||
| 
								 | 
							
								        uint8_t iodc_lsb() const { return m_iodc_lsb; }
							 | 
						||
| 
								 | 
							
								        uint16_t t_oc() const { return m_t_oc; }
							 | 
						||
| 
								 | 
							
								        int8_t af_2() const { return m_af_2; }
							 | 
						||
| 
								 | 
							
								        int16_t af_1() const { return m_af_1; }
							 | 
						||
| 
								 | 
							
								        bool af_0_sign() const { return m_af_0_sign; }
							 | 
						||
| 
								 | 
							
								        uint64_t af_0_value() const { return m_af_0_value; }
							 | 
						||
| 
								 | 
							
								        uint64_t reserved5() const { return m_reserved5; }
							 | 
						||
| 
								 | 
							
								        gps_t* _root() const { return m__root; }
							 | 
						||
| 
								 | 
							
								        gps_t* _parent() const { return m__parent; }
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    class subframe_3_t : public kaitai::kstruct {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        subframe_3_t(kaitai::kstream* p__io, gps_t* p__parent = 0, gps_t* p__root = 0);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    private:
							 | 
						||
| 
								 | 
							
								        void _read();
							 | 
						||
| 
								 | 
							
								        void _clean_up();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public:
							 | 
						||
| 
								 | 
							
								        ~subframe_3_t();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    private:
							 | 
						||
| 
								 | 
							
								        bool f_omega_dot;
							 | 
						||
| 
								 | 
							
								        int32_t m_omega_dot;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public:
							 | 
						||
| 
								 | 
							
								        int32_t omega_dot();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    private:
							 | 
						||
| 
								 | 
							
								        bool f_idot;
							 | 
						||
| 
								 | 
							
								        int32_t m_idot;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public:
							 | 
						||
| 
								 | 
							
								        int32_t idot();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    private:
							 | 
						||
| 
								 | 
							
								        int16_t m_c_ic;
							 | 
						||
| 
								 | 
							
								        int32_t m_omega_0;
							 | 
						||
| 
								 | 
							
								        int16_t m_c_is;
							 | 
						||
| 
								 | 
							
								        int32_t m_i_0;
							 | 
						||
| 
								 | 
							
								        int16_t m_c_rc;
							 | 
						||
| 
								 | 
							
								        int32_t m_omega;
							 | 
						||
| 
								 | 
							
								        bool m_omega_dot_sign;
							 | 
						||
| 
								 | 
							
								        uint64_t m_omega_dot_value;
							 | 
						||
| 
								 | 
							
								        uint8_t m_iode;
							 | 
						||
| 
								 | 
							
								        bool m_idot_sign;
							 | 
						||
| 
								 | 
							
								        uint64_t m_idot_value;
							 | 
						||
| 
								 | 
							
								        uint64_t m_reserved;
							 | 
						||
| 
								 | 
							
								        gps_t* m__root;
							 | 
						||
| 
								 | 
							
								        gps_t* m__parent;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public:
							 | 
						||
| 
								 | 
							
								        int16_t c_ic() const { return m_c_ic; }
							 | 
						||
| 
								 | 
							
								        int32_t omega_0() const { return m_omega_0; }
							 | 
						||
| 
								 | 
							
								        int16_t c_is() const { return m_c_is; }
							 | 
						||
| 
								 | 
							
								        int32_t i_0() const { return m_i_0; }
							 | 
						||
| 
								 | 
							
								        int16_t c_rc() const { return m_c_rc; }
							 | 
						||
| 
								 | 
							
								        int32_t omega() const { return m_omega; }
							 | 
						||
| 
								 | 
							
								        bool omega_dot_sign() const { return m_omega_dot_sign; }
							 | 
						||
| 
								 | 
							
								        uint64_t omega_dot_value() const { return m_omega_dot_value; }
							 | 
						||
| 
								 | 
							
								        uint8_t iode() const { return m_iode; }
							 | 
						||
| 
								 | 
							
								        bool idot_sign() const { return m_idot_sign; }
							 | 
						||
| 
								 | 
							
								        uint64_t idot_value() const { return m_idot_value; }
							 | 
						||
| 
								 | 
							
								        uint64_t reserved() const { return m_reserved; }
							 | 
						||
| 
								 | 
							
								        gps_t* _root() const { return m__root; }
							 | 
						||
| 
								 | 
							
								        gps_t* _parent() const { return m__parent; }
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    class subframe_4_t : public kaitai::kstruct {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public:
							 | 
						||
| 
								 | 
							
								        class ionosphere_data_t;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        subframe_4_t(kaitai::kstream* p__io, gps_t* p__parent = 0, gps_t* p__root = 0);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    private:
							 | 
						||
| 
								 | 
							
								        void _read();
							 | 
						||
| 
								 | 
							
								        void _clean_up();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public:
							 | 
						||
| 
								 | 
							
								        ~subframe_4_t();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        class ionosphere_data_t : public kaitai::kstruct {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            ionosphere_data_t(kaitai::kstream* p__io, gps_t::subframe_4_t* p__parent = 0, gps_t* p__root = 0);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        private:
							 | 
						||
| 
								 | 
							
								            void _read();
							 | 
						||
| 
								 | 
							
								            void _clean_up();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public:
							 | 
						||
| 
								 | 
							
								            ~ionosphere_data_t();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        private:
							 | 
						||
| 
								 | 
							
								            int8_t m_a0;
							 | 
						||
| 
								 | 
							
								            int8_t m_a1;
							 | 
						||
| 
								 | 
							
								            int8_t m_a2;
							 | 
						||
| 
								 | 
							
								            int8_t m_a3;
							 | 
						||
| 
								 | 
							
								            int8_t m_b0;
							 | 
						||
| 
								 | 
							
								            int8_t m_b1;
							 | 
						||
| 
								 | 
							
								            int8_t m_b2;
							 | 
						||
| 
								 | 
							
								            int8_t m_b3;
							 | 
						||
| 
								 | 
							
								            gps_t* m__root;
							 | 
						||
| 
								 | 
							
								            gps_t::subframe_4_t* m__parent;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        public:
							 | 
						||
| 
								 | 
							
								            int8_t a0() const { return m_a0; }
							 | 
						||
| 
								 | 
							
								            int8_t a1() const { return m_a1; }
							 | 
						||
| 
								 | 
							
								            int8_t a2() const { return m_a2; }
							 | 
						||
| 
								 | 
							
								            int8_t a3() const { return m_a3; }
							 | 
						||
| 
								 | 
							
								            int8_t b0() const { return m_b0; }
							 | 
						||
| 
								 | 
							
								            int8_t b1() const { return m_b1; }
							 | 
						||
| 
								 | 
							
								            int8_t b2() const { return m_b2; }
							 | 
						||
| 
								 | 
							
								            int8_t b3() const { return m_b3; }
							 | 
						||
| 
								 | 
							
								            gps_t* _root() const { return m__root; }
							 | 
						||
| 
								 | 
							
								            gps_t::subframe_4_t* _parent() const { return m__parent; }
							 | 
						||
| 
								 | 
							
								        };
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    private:
							 | 
						||
| 
								 | 
							
								        uint64_t m_data_id;
							 | 
						||
| 
								 | 
							
								        uint64_t m_page_id;
							 | 
						||
| 
								 | 
							
								        ionosphere_data_t* m_body;
							 | 
						||
| 
								 | 
							
								        bool n_body;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public:
							 | 
						||
| 
								 | 
							
								        bool _is_null_body() { body(); return n_body; };
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    private:
							 | 
						||
| 
								 | 
							
								        gps_t* m__root;
							 | 
						||
| 
								 | 
							
								        gps_t* m__parent;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public:
							 | 
						||
| 
								 | 
							
								        uint64_t data_id() const { return m_data_id; }
							 | 
						||
| 
								 | 
							
								        uint64_t page_id() const { return m_page_id; }
							 | 
						||
| 
								 | 
							
								        ionosphere_data_t* body() const { return m_body; }
							 | 
						||
| 
								 | 
							
								        gps_t* _root() const { return m__root; }
							 | 
						||
| 
								 | 
							
								        gps_t* _parent() const { return m__parent; }
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    class how_t : public kaitai::kstruct {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        how_t(kaitai::kstream* p__io, gps_t* p__parent = 0, gps_t* p__root = 0);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    private:
							 | 
						||
| 
								 | 
							
								        void _read();
							 | 
						||
| 
								 | 
							
								        void _clean_up();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public:
							 | 
						||
| 
								 | 
							
								        ~how_t();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    private:
							 | 
						||
| 
								 | 
							
								        uint64_t m_tow_count;
							 | 
						||
| 
								 | 
							
								        bool m_alert;
							 | 
						||
| 
								 | 
							
								        bool m_anti_spoof;
							 | 
						||
| 
								 | 
							
								        uint64_t m_subframe_id;
							 | 
						||
| 
								 | 
							
								        uint64_t m_reserved;
							 | 
						||
| 
								 | 
							
								        gps_t* m__root;
							 | 
						||
| 
								 | 
							
								        gps_t* m__parent;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public:
							 | 
						||
| 
								 | 
							
								        uint64_t tow_count() const { return m_tow_count; }
							 | 
						||
| 
								 | 
							
								        bool alert() const { return m_alert; }
							 | 
						||
| 
								 | 
							
								        bool anti_spoof() const { return m_anti_spoof; }
							 | 
						||
| 
								 | 
							
								        uint64_t subframe_id() const { return m_subframe_id; }
							 | 
						||
| 
								 | 
							
								        uint64_t reserved() const { return m_reserved; }
							 | 
						||
| 
								 | 
							
								        gps_t* _root() const { return m__root; }
							 | 
						||
| 
								 | 
							
								        gps_t* _parent() const { return m__parent; }
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    class tlm_t : public kaitai::kstruct {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        tlm_t(kaitai::kstream* p__io, gps_t* p__parent = 0, gps_t* p__root = 0);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    private:
							 | 
						||
| 
								 | 
							
								        void _read();
							 | 
						||
| 
								 | 
							
								        void _clean_up();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public:
							 | 
						||
| 
								 | 
							
								        ~tlm_t();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    private:
							 | 
						||
| 
								 
											3 years ago
										 
									 | 
							
								        std::string m_preamble;
							 | 
						||
| 
								 
											5 years ago
										 
									 | 
							
								        uint64_t m_tlm;
							 | 
						||
| 
								 | 
							
								        bool m_integrity_status;
							 | 
						||
| 
								 | 
							
								        bool m_reserved;
							 | 
						||
| 
								 | 
							
								        gps_t* m__root;
							 | 
						||
| 
								 | 
							
								        gps_t* m__parent;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public:
							 | 
						||
| 
								 
											3 years ago
										 
									 | 
							
								        std::string preamble() const { return m_preamble; }
							 | 
						||
| 
								 
											5 years ago
										 
									 | 
							
								        uint64_t tlm() const { return m_tlm; }
							 | 
						||
| 
								 | 
							
								        bool integrity_status() const { return m_integrity_status; }
							 | 
						||
| 
								 | 
							
								        bool reserved() const { return m_reserved; }
							 | 
						||
| 
								 | 
							
								        gps_t* _root() const { return m__root; }
							 | 
						||
| 
								 | 
							
								        gps_t* _parent() const { return m__parent; }
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    class subframe_2_t : public kaitai::kstruct {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        subframe_2_t(kaitai::kstream* p__io, gps_t* p__parent = 0, gps_t* p__root = 0);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    private:
							 | 
						||
| 
								 | 
							
								        void _read();
							 | 
						||
| 
								 | 
							
								        void _clean_up();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public:
							 | 
						||
| 
								 | 
							
								        ~subframe_2_t();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    private:
							 | 
						||
| 
								 | 
							
								        uint8_t m_iode;
							 | 
						||
| 
								 | 
							
								        int16_t m_c_rs;
							 | 
						||
| 
								 | 
							
								        int16_t m_delta_n;
							 | 
						||
| 
								 | 
							
								        int32_t m_m_0;
							 | 
						||
| 
								 | 
							
								        int16_t m_c_uc;
							 | 
						||
| 
								 | 
							
								        int32_t m_e;
							 | 
						||
| 
								 | 
							
								        int16_t m_c_us;
							 | 
						||
| 
								 | 
							
								        uint32_t m_sqrt_a;
							 | 
						||
| 
								 | 
							
								        uint16_t m_t_oe;
							 | 
						||
| 
								 | 
							
								        bool m_fit_interval_flag;
							 | 
						||
| 
								 | 
							
								        uint64_t m_aoda;
							 | 
						||
| 
								 | 
							
								        uint64_t m_reserved;
							 | 
						||
| 
								 | 
							
								        gps_t* m__root;
							 | 
						||
| 
								 | 
							
								        gps_t* m__parent;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public:
							 | 
						||
| 
								 | 
							
								        uint8_t iode() const { return m_iode; }
							 | 
						||
| 
								 | 
							
								        int16_t c_rs() const { return m_c_rs; }
							 | 
						||
| 
								 | 
							
								        int16_t delta_n() const { return m_delta_n; }
							 | 
						||
| 
								 | 
							
								        int32_t m_0() const { return m_m_0; }
							 | 
						||
| 
								 | 
							
								        int16_t c_uc() const { return m_c_uc; }
							 | 
						||
| 
								 | 
							
								        int32_t e() const { return m_e; }
							 | 
						||
| 
								 | 
							
								        int16_t c_us() const { return m_c_us; }
							 | 
						||
| 
								 | 
							
								        uint32_t sqrt_a() const { return m_sqrt_a; }
							 | 
						||
| 
								 | 
							
								        uint16_t t_oe() const { return m_t_oe; }
							 | 
						||
| 
								 | 
							
								        bool fit_interval_flag() const { return m_fit_interval_flag; }
							 | 
						||
| 
								 | 
							
								        uint64_t aoda() const { return m_aoda; }
							 | 
						||
| 
								 | 
							
								        uint64_t reserved() const { return m_reserved; }
							 | 
						||
| 
								 | 
							
								        gps_t* _root() const { return m__root; }
							 | 
						||
| 
								 | 
							
								        gps_t* _parent() const { return m__parent; }
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								private:
							 | 
						||
| 
								 | 
							
								    tlm_t* m_tlm;
							 | 
						||
| 
								 | 
							
								    how_t* m_how;
							 | 
						||
| 
								 | 
							
								    kaitai::kstruct* m_body;
							 | 
						||
| 
								 | 
							
								    bool n_body;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								public:
							 | 
						||
| 
								 | 
							
								    bool _is_null_body() { body(); return n_body; };
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								private:
							 | 
						||
| 
								 | 
							
								    gps_t* m__root;
							 | 
						||
| 
								 | 
							
								    kaitai::kstruct* m__parent;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								public:
							 | 
						||
| 
								 | 
							
								    tlm_t* tlm() const { return m_tlm; }
							 | 
						||
| 
								 | 
							
								    how_t* how() const { return m_how; }
							 | 
						||
| 
								 | 
							
								    kaitai::kstruct* body() const { return m_body; }
							 | 
						||
| 
								 | 
							
								    gps_t* _root() const { return m__root; }
							 | 
						||
| 
								 | 
							
								    kaitai::kstruct* _parent() const { return m__parent; }
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#endif  // GPS_H_
							 |