radar_ip.h 886 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #pragma once
  2. #include "../common/comm.h"
  3. #include "../common/notifier.h"
  4. #include "../common/iobuffer.h"
  5. #include "../common/sensor_socket.h"
  6. #include <thread>
  7. #pragma pack(1)
  8. struct Radar_Frame_CM_Revice
  9. {
  10. int8_t DLC_radar1;
  11. int32_t Addr_radar1;
  12. int8_t RegData_radar1[8];
  13. int8_t DLC_radar2;
  14. int32_t Addr_radar2;
  15. int8_t RegData_radar2[8];
  16. };
  17. class CMessageQueue;
  18. class CRadarSensor//:public ISensorNotify
  19. {
  20. public:
  21. CRadarSensor(CMessageQueue *q);
  22. void Notify(int8_t * buffer,int32_t size);
  23. void SetSensorSocket(SensorSocket<CRadarSensor>* can);
  24. void Start();
  25. void Stop();
  26. // void PreProcess();
  27. private:
  28. void Run();
  29. private:
  30. CMessageQueue* _message;
  31. SensorSocket<CRadarSensor> * _socket;
  32. uint16_t bcd2dec(const int8_t *data);
  33. bool _run;
  34. int32_t _count = 0;
  35. struct RadarData _data;
  36. };