#include #include #include #include #include #include #include #include #include //#define DEBUG 1 #define IS_LITTLE_ENDIAN 1 #include "SylphideProcessor.h" typedef double float_sylph_t; typedef SylphideProcessor Processor_t; typedef Processor_t::A_Observer_t A_Observer_t; typedef Processor_t::G_Observer_t G_Observer_t; #define BUFFER_SIZE (PAGE_SIZE * 1) // 32 #define OBSERVER_SIZE (PAGE_SIZE * 32) // 1024 #include "param/matrix.h" #include "param/vector3.h" #include "param/quarternion.h" #include "param/complex.h" #include "util/util.h" #include "util/fifo.h" #include "INS_GPS2_Tight.h" #include "RINEX.h" #define BIAS_EST_MODE 2 // 初期ゼロ点推定含む #define ZERO_CONST_ALPHA 0 //(FloatT(1) / 1E4) // 0 #include "INS_GPS_BE.h" #include "calibration.h" #include "lever_arm_effect.h" #include "packet.h" #include "inspector.h" #include "analyze_common.h" //#define BIAS_ON #ifdef BIAS_ON typedef INS_GPS2_BiasEstimated NAV; #else typedef INS_GPS2_Tight NAV; #endif using namespace std; struct Options : public GlobalOptions { typedef GlobalOptions super_t; Options() : super_t() {}; } options; /** * 現在の状態を表現するクラス * */ class Status{ private: bool initalized; NAV nav; Vector3 on_bias_accel, on_bias_gyro; int before_init_counter; // GPS関係 public: typedef NAV::space_node_t space_node_t; typedef space_node_t::gps_time_t gps_time_t; typedef NAV::sat_range_t sat_range_t; typedef map > nav_data_t; // 調査用パーツ private: Logger logger; FilterP_Observer