control_status.h 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  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. #include <control/hunter.h>
  8. #include <control/yuhesenfr09_1x.h>
  9. #include <control/yuhesenfr09pro_1x.h>
  10. namespace iv {
  11. namespace control {
  12. class ControlStatus : public boost::noncopyable
  13. {
  14. public:
  15. /*****************
  16. * ****测试标志位*****
  17. * ***************/
  18. int normal_speed = 0;//常规速度
  19. int swerve_speed = 0;//转弯速度
  20. int high_speed = 0;//快速
  21. int mid_speed = 0;//中速
  22. int low_speed = 0;//慢速
  23. int change_line = -1;//换道标志
  24. int stop_obstacle = -1;//停障标志
  25. int elude_obstacle = -1;//避障标志
  26. int special_signle = -1;//特殊信号标志
  27. int car_pullover = -1;//靠边停车标志位
  28. float torque = 0.0;
  29. float brake = 0.0;
  30. float acc=0.0;
  31. Command111 command111 ;
  32. Command421 command421 ;
  33. Command131 command131;
  34. Command_Response command_reponse;
  35. int command_ID111 = 0x111;
  36. int command_ID421 = 0x421;
  37. int command_ID131 = 0x131;
  38. Command1d0 command1d0 ;
  39. Command2d0 command2d0 ;
  40. Command3d0 command3d0 ;
  41. Command4d0 command4d0 ;
  42. Command5d0 command5d0 ;
  43. Command2d0pro cmd2d0pro;
  44. Command7d0pro cmd7d0pro;
  45. int cmd2d0pro_ID= 0x18C4D2D0;
  46. int cmd7d0pro_ID= 0x18C4D7D0;
  47. int command_ID1D0= 0x18C4D1D0;
  48. int command_ID2D0= 0x18C4D2D0;
  49. int command_ID3D0= 0x18C4D3D0;
  50. int command_ID4D0= 0x18C4D4D0;
  51. int command_ID5D0= 0x18C4D5D0;
  52. void set_wheel_angle(float angle);
  53. void set_wheel_speed(float speed);
  54. void set_wheel_enable(bool enable);
  55. void set_speed_limit(float speed);
  56. void set_torque(float percent);
  57. void set_aeb(float aeb);
  58. void set_brake(float brake);
  59. void set_gear(int gear);
  60. void set_handBrake(bool handBrake);
  61. void set_driveMode(char mode);
  62. void set_gear_enable(bool enable);
  63. void set_aeb_enable(bool enable);
  64. void set_acc_enable(bool enable);
  65. void set_brake_enable(bool enable);
  66. void set_park_enable(bool enable);
  67. void set_win_lf(char para);
  68. void set_win_rf(char para);
  69. void set_win_lr(char para);
  70. void set_win_rr(char para);
  71. void set_air_on(char para);
  72. void set_air_cricle(char para);
  73. void set_air_auto(char para);
  74. void set_air_off(char para);
  75. void set_air_temup(char para);
  76. void set_air_temdown(char para);
  77. void set_air_powerup(char para);
  78. void set_air_powerdown(char para);
  79. void set_obligate(char para);
  80. void set_door(char enable);
  81. void set_turnsignals_control(bool left, bool right);
  82. void set_small_light(char para);
  83. void set_near_light(char para);
  84. void set_horn(char para);
  85. void set_far_light(char para);
  86. void set_frog_light(char para);
  87. void set_wiper(char para);
  88. void set_brake_light(char para);
  89. void set_defrog(char para);
  90. void set_reverse_light(char para);
  91. void set_air_temp(char para);
  92. void set_air_mode(char para);
  93. void set_air_enable(bool enable);
  94. void set_wind_level(char para);
  95. void set_roof_light(char para);
  96. void set_home_light(char para);
  97. void set_air_worktime(char para);
  98. void set_air_offtime(char para);
  99. void set_cmd_checksum(unsigned char cmd_id);
  100. };
  101. typedef boost::serialization::singleton<iv::control::ControlStatus> ControlStatusSingleton;
  102. }
  103. }
  104. #define ServiceControlStatus iv::control::ControlStatusSingleton::get_mutable_instance()