udp_state.h 790 B

12345678910111213141516171819202122232425262728293031323334353637383940
  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. typedef struct StateDat
  7. {
  8. uint32_t rader[9];
  9. uint16_t outrigger[2];
  10. uint16_t easypro[2];
  11. int32_t speed;
  12. }StateDat_p;
  13. class CMessageQueue;
  14. class CUdpStateSensor
  15. {
  16. public:
  17. CUdpStateSensor(CMessageQueue *q);
  18. void Notify(int8_t * buffer,int32_t size);
  19. void SetSensorSocket(SensorSocket<CUdpStateSensor>* udpstate);
  20. void Start();
  21. void Stop();
  22. void SendStatusToMSG();
  23. private:
  24. void Run();
  25. private:
  26. CMessageQueue* _message;
  27. SensorSocket<CUdpStateSensor> * _udpcan;
  28. bool _run;
  29. std::thread _udp_thread;
  30. StateDat_p m_StateDat;
  31. int32_t _count = 0;
  32. };