#pragma once //由于控制器指令共享同一个ID 0x20,建立此类维护控制指令的最新状态 #include #include #include #include namespace iv { namespace control { class ControlStatus : public boost::noncopyable { public: /***************** * ****测试标志位***** * ***************/ int normal_speed = 0;//常规速度 int swerve_speed = 0;//转弯速度 int high_speed = 0;//快速 int mid_speed = 0;//中速 int low_speed = 0;//慢速 int change_line = -1;//换道标志 int stop_obstacle = -1;//停障标志 int elude_obstacle = -1;//避障标志 int special_signle = -1;//特殊信号标志 int car_pullover = -1;//靠边停车标志位 Command command; int command_ID = 0x12; void set_accelerate(float percent); void set_wheel_angle(float angle); void set_engine(char enable); void set_door(char enable); void set_speaker(bool enable); void set_flicker(bool enable); void set_light(bool enable); void set_turnsignals_control(bool left, bool right); }; typedef boost::serialization::singleton ControlStatusSingleton; } } #define ServiceControlStatus iv::control::ControlStatusSingleton::get_mutable_instance()