class Interaction { public: Interaction(); 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); int foot_on_floor(int _time, int& triggerring_time, int zupt, int& last_zupt, int rssi, float pitch, int left_or_right); int enter_key_listen(float* acc, float* acc_x_buff, int& station_count, float* pitch_buff, float pitch, int& angle_has_reset); int get_interative_cmd(); void setPolarAccUnzupt(int* max_acc, int* min_acc, int* acc, int zupt); bool unzuptValid(int* max_acc, int* min_acc); private : int left_Triggering_time ; int right_Triggering_time ; int last_left_zupt; int last_right_zupt; float left_acc_x_buff[10]; float right_acc_x_buff[10]; float left_pitch_buff[10]; float right_pitch_buff[10]; int left_station_count ; int right_station_count ; int left_angle_has_reset ; int right_angle_has_reset ; int max_acc_unzupt_left[3]; int min_acc_unzupt_left[3]; int max_acc_unzupt_right[3]; int min_acc_unzupt_right[3]; int cmd; };