control_status.h 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. #pragma once
  2. //由于控制器指令共享同一个ID 0x20,建立此类维护控制指令的最新状态
  3. #include <boost.h>
  4. #include <cstdint>
  5. #include <boost/serialization/singleton.hpp>
  6. #include <control/vv7.h>
  7. namespace iv {
  8. namespace control {
  9. class ControlStatus : public boost::noncopyable
  10. {
  11. public:
  12. /*****************
  13. * ****测试标志位*****
  14. * ***************/
  15. int normal_speed = 0;//常规速度
  16. int swerve_speed = 0;//转弯速度
  17. int high_speed = 0;//快速
  18. int mid_speed = 0;//中速
  19. int low_speed = 0;//慢速
  20. int change_line = -1;//换道标志
  21. int stop_obstacle = -1;//停障标志
  22. int elude_obstacle = -1;//避障标志
  23. int special_signle = -1;//特殊信号标志
  24. int car_pullover = -1;//靠边停车标志位
  25. float torque = 0.0;
  26. float brake = 0.0;
  27. float acc=0.0;
  28. Command10 command10 ;
  29. Command11 command11 ;
  30. Command12 command12;
  31. Command_Response command_reponse;
  32. int command_ID10 = 0x10;
  33. int command_ID11 = 0x11;
  34. int command_ID12 = 0x12;
  35. void set_wheel_angle(float angle);
  36. void set_wheel_speed(float speed);
  37. void set_wheel_enable(bool enable);
  38. void set_speed_limit(float speed);
  39. void set_torque(float percent);
  40. void set_aeb(float aeb);
  41. void set_brake(float brake);
  42. void set_gear(int gear);
  43. void set_handBrake(bool handBrake);
  44. void set_driveMode(char mode);
  45. void set_gear_enable(bool enable);
  46. void set_aeb_enable(bool enable);
  47. void set_acc_enable(bool enable);
  48. void set_win_lf(char para);
  49. void set_win_rf(char para);
  50. void set_win_lr(char para);
  51. void set_win_rr(char para);
  52. void set_air_on(char para);
  53. void set_air_cricle(char para);
  54. void set_air_auto(char para);
  55. void set_air_off(char para);
  56. void set_air_temup(char para);
  57. void set_air_temdown(char para);
  58. void set_air_powerup(char para);
  59. void set_air_powerdown(char para);
  60. void set_obligate(char para);
  61. void set_door(char enable);
  62. void set_turnsignals_control(bool left, bool right);
  63. void set_small_light(char para);
  64. void set_near_light(char para);
  65. void set_horn(char para);
  66. void set_far_light(char para);
  67. void set_frog_light(char para);
  68. void set_wiper(char para);
  69. void set_brake_light(char para);
  70. void set_defrog(char para);
  71. void set_reverse_light(char para);
  72. void set_air_temp(char para);
  73. void set_air_mode(char para);
  74. void set_air_enable(bool enable);
  75. void set_wind_level(char para);
  76. void set_roof_light(char para);
  77. void set_home_light(char para);
  78. void set_air_worktime(char para);
  79. void set_air_offtime(char para);
  80. void set_cmd_checksum(unsigned char cmd_id);
  81. };
  82. typedef boost::serialization::singleton<iv::control::ControlStatus> ControlStatusSingleton;
  83. }
  84. }
  85. #define ServiceControlStatus iv::control::ControlStatusSingleton::get_mutable_instance()