comm.h 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213
  1. #pragma once
  2. #include <unordered_map>
  3. #include <vector>
  4. #include <string>
  5. template<typename T>
  6. struct FVector3
  7. {
  8. T X;
  9. T Y;
  10. T Z;
  11. };
  12. enum RadarPosition :int32_t
  13. {
  14. RADAR_LEFT,
  15. RADAR_RIGHT,
  16. RADAR_REAR,
  17. RADAR_ALL
  18. };
  19. enum RenderPosition :int32_t
  20. {
  21. FRONT,
  22. BACK,
  23. LEFT,
  24. RIGHT,
  25. DASHBOARD,
  26. DASHBOARD_m,
  27. ALL
  28. };
  29. enum EgoType :int32_t
  30. {
  31. None,
  32. User,
  33. Car
  34. };
  35. enum ChannelType:int32_t
  36. {
  37. CHANNEL_CAR,
  38. CHANNEL_IMU,
  39. CHANNEL_RADAR,
  40. #ifdef LIDAR_SENSOR
  41. CHANNEL_LEFT_LIDAR,
  42. CHANNEL_RIGHT_LIDAR,
  43. #endif
  44. CHANNEL_ALL,
  45. };
  46. enum UserState
  47. {
  48. Offline=0,
  49. Idle = 1,
  50. Remote = 2,
  51. Automotive = 3,
  52. AskRemote = 4
  53. };
  54. struct UserCamera
  55. {
  56. int32_t uid;
  57. EgoType type;
  58. UserState state;
  59. std::string name;
  60. };
  61. struct OfferDesc
  62. {
  63. char type[16];
  64. char sdp[4096 * 3-16];
  65. };
  66. struct AnswerDesc
  67. {
  68. char type[16];
  69. char sdp[4096 * 3 - 16];
  70. };
  71. struct CandidateDesc
  72. {
  73. char candidate[4096];
  74. char sdp_mid[4096];
  75. int32_t sdp_mline_index;
  76. };
  77. #pragma pack(1)
  78. #define CAN_MSG_LEN 13
  79. struct cannet_frame
  80. {
  81. int8_t dlc;
  82. int32_t canid;
  83. int8_t data[8];
  84. };
  85. #pragma pack()
  86. enum RobotStatus
  87. {
  88. OK,
  89. Fail,
  90. };
  91. #pragma pack()
  92. struct RadarData
  93. {
  94. int32_t r0;
  95. int32_t r1;
  96. int32_t r2;
  97. int32_t r3;
  98. int32_t r4;
  99. int32_t r5;
  100. int32_t r6;
  101. int32_t r7;
  102. };
  103. struct FeedData
  104. {
  105. //int32_t work_pressure;
  106. //int32_t brake_pressure;
  107. //int32_t gearbox_oil_temp;
  108. //int32_t gearbox_oil_pressure;
  109. //int32_t engine_rpm;
  110. //int32_t engine_pressure;
  111. //int32_t speed;
  112. //// int32_t gear;
  113. //int32_t cold_water;
  114. //int32_t steer_angle;
  115. //int32_t left_lock_status;
  116. //int32_t right_lock_status;
  117. ///////////////////////////////////////////////////////状态参数
  118. int32_t Engine_speed = 1;//发动机转速
  119. int32_t Travel_speed = 2;//行驶速度
  120. int32_t Fuel_level = 3;//燃油油位
  121. int32_t Engine_temperature = 4;//发动机水温
  122. int32_t Hydraulic_oil_temperature = 5;//液压油油温
  123. int32_t Main_pump_1_pressure = 6;//主泵1压力
  124. int32_t Main_pump_2_pressure = 7;//主泵2压力
  125. int32_t Hand_gear = 8;//水箱水位
  126. int32_t Actual_gear = 9;//发动机机油压力
  127. _Float32 Gripper_height = 10;//抓具高度
  128. _Float32 amplitude = 11;//幅度
  129. int32_t Boom_angle = 12;//动臂角度
  130. int32_t Stick_angle = 13;//斗杆角度
  131. ///////////////////////////////////////////////////////报警信息
  132. int32_t Idle_protection = 14;//怠速保护
  133. int32_t Front_toggle = 15;//前轮对中
  134. int32_t Back_toggle = 16;//后轮对中
  135. int8_t Error_Buff[8];//报警信息
  136. int32_t interlock = 18;//启动联锁
  137. int32_t safety_switch = 19;//安全开关阀异常
  138. int32_t arm_lift_pilot = 20;//大臂提升先导比例阀异常
  139. int32_t arm_lowering_pilot = 21;//大臂下降先导比例阀异常
  140. int32_t lever_lifting_pilot = 22;//斗杆提升先导比例阀异常
  141. int32_t rod_lowering_pilot = 23;//斗杆下降先导比例阀异常
  142. int32_t left_rotary_pilot = 24;//左回转先导比例阀异常
  143. int32_t right_rotary_pilot = 25;//右回转先导比例阀异常
  144. int32_t grab_open_pilot = 26;//抓斗开启先导比例阀异常
  145. int32_t grab_close_pilot = 27;//抓斗闭合先导比例阀异常
  146. int32_t safety_valves = 28;//安全开关阀
  147. //int32_t Boom_lift_pilot_pressure = 15;//动臂提升先导压力传感器故障
  148. //int32_t Boom_drop_pilot_pressure = 16;//动臂下降先导压力传感器故障
  149. //int32_t Stick_lift_pilot_pressure = 17;//斗杆提升先导压力传感器故障
  150. //int32_t Stick_Drop_Pilot_Pressure = 18;//斗杆下降先导压力传感器故障
  151. //int32_t left_turn_Pressure = 19;//车体左回转先导压力传感器故障
  152. //int32_t right_turn_Pressure = 20;//车体右回转先导压力传感器故障
  153. //int32_t outstretched_Pressure = 21;//支腿伸出先导压力传感器故障
  154. //int32_t instretched_Pressure = 22;//支腿缩回先导压力传感器故障
  155. //int32_t grab_opens_the_pilot = 23;//抓斗开启先导压力传感器故障
  156. //int32_t grab_close_the_pilot = 24;//抓斗闭合先导压力传感器故障
  157. //int32_t Main_pump_1_pilot_pressure = 25;//主泵1压力传感器故障
  158. //int32_t Main_pump_2_pilot_pressure = 26;//主泵2压力传感器故障
  159. //int32_t rod_cavity_pressure = 27;//动臂无杆腔压力传感器故障
  160. //int32_t stick_cavity_pressure = 28;//斗杆无杆腔压力传感器故障
  161. //int32_t Parking_pressure = 29;//驻车压力传感器故障
  162. //int32_t Failure_of_the_accumulator_pressure = 30;//蓄能器压力传感器故障
  163. //int32_t Gas_pedal_failure = 31;//油门踏板故障
  164. //int32_t Faulty_throttle_knob = 32;//油门旋钮故障
  165. //int32_t Leg_handle_failure = 33;//支腿手柄故障
  166. //int32_t The_gripper_knob_faulty = 34;//抓具旋钮故障
  167. //int32_t Hydraulic_oil_temperature_sensor_failure = 35;//液压油温传感器故障
  168. //int32_t Faulty_fuel_level_sensor = 36;//燃油油位传感器故障
  169. //int32_t Boom_inclination_sensor_failure = 37;//动臂倾角传感器故障
  170. //int32_t Stick_inclination_sensor_communication = 38;//斗杆倾角传感器通讯故障
  171. //int32_t Expansion_module_communication_failure = 39;//扩展模块通讯故障
  172. //int32_t working_distance_exceeded = 40;//工作距离超限
  173. //int32_t hydraulic_oil_temperature_low = 41;//燃油油位低
  174. //int32_t Low_battery_voltage = 42;//电池电压低
  175. //int32_t High_battery_voltage = 43;//电池电压高
  176. //int32_t accumulator_pressure_abnormal = 44;//蓄能器压力异常
  177. //int32_t hydraulic_oil_temperature_high = 45;//液压油温高
  178. //int32_t Low_oil_pressure = 46;//机油压力低
  179. //int32_t Low_coolant_level = 47;//冷却液液位低
  180. //int32_t High_coolant_level = 48;//冷却液温度高
  181. //int32_t system_overloaded = 49;//系统超载
  182. //int32_t Safety_bypass_pressed = 50;//安全旁通按下
  183. //int32_t Engine_SPN_failure = 51;//发动机SPN故障
  184. //int32_t engine_warming_up = 52;//发动机预热中
  185. //int32_t engine_warming_up_timeout = 53;//发动机预热超时
  186. //int32_t Emergency_stop_press = 54;//紧急停止按下
  187. };
  188. struct cannet_frame_receive
  189. {
  190. int32_t canid;
  191. int8_t dlc;
  192. int8_t data[8];
  193. };