
#include "PublicSDKMotion.h"
#include "pub.h"

class Tricycle : public PublicSDKMotion
{
public:
	Tricycle();

	virtual void Process(int time_stamp, int* right_pos, int* right_att, int* right_acc, int right_zupt, int right_front_press, int right_back_press,
		int* left_pos, int* left_att, int* left_acc, int left_zupt, int left_front_press, int left_back_press,
		int jump, int down, int rssi);

	float calHeadingOffset(float init_heading, float cur_heading);

private:

	int left_result;
	int right_result;

	int left_zupt_count;
	int right_zupt_count;


	float left_foot_init_heading;
	float right_foot_init_heading;

	int left_trigger_time;
	int right_trigger_time;

	int last_left_zupt;
	int last_right_zupt;

	int last_left_pos[3];
	int last_right_pos[3];

	int left_jump_status;
	int right_jump_status;

	int has_init;

	int left_pos_offset;
	int right_pos_offset;

	int last_jump;

	int prop_status;

};