#pragma once #include "../common/comm.h" #include "../common/notifier.h" #include "../common/iobuffer.h" #include "../common/sensor_socket.h" typedef struct StateDat { uint32_t rader[9]; uint16_t outrigger[2]; uint16_t easypro[2]; int32_t speed; }StateDat_p; class CMessageQueue; class CUdpStateSensor { public: CUdpStateSensor(CMessageQueue *q); void Notify(int8_t * buffer,int32_t size); void SetSensorSocket(SensorSocket* udpstate); void Start(); void Stop(); void SendStatusToMSG(); private: void Run(); private: CMessageQueue* _message; SensorSocket * _udpcan; bool _run; std::thread _udp_thread; StateDat_p m_StateDat; int32_t _count = 0; };