#ifndef UDPCOMM__H #define UDPCOMM__H #include "ccuUdpMsg.h" #include #include #include #include #include "MOOS/libMOOS/Utils/MOOSUtilityFunctions.h" #include using namespace std; #define QUENUE_SIZE 100 typedef struct { double timeStamp; void* data; } msgWithTime; class udpComm { private: /* data */ public: udpComm(); ~udpComm(); bool pushMsgToQueue(unsigned char *m); int getCcuStateMsgFromQueue(double &time,msg_CcuStateFbMsg &m); int getCcuSetParmMsgFromQueue(double &time,msg_CcuSetParmFbMsg &m); int getDisSysHVBusFbMsgFromQueue(double &time,msg_disHighVolBusFbMsg &m); int getDisSysHVABusFbMsgFromQueue(double &time,msg_disHighAVolBusFbMsg &m); int getDisSysHVBBusFbMsgFromQueue(double &time,msg_disHighBVolBusFbMsg &m); int getDisSysLVBusFbMsgFromQueue(double &time,msg_disLowBusFbMsg &m); bool clearMsgQueue(); bool getMsgId(char *m,unsigned short &id); bool getCcuState(char *m, msg_CcuStateFbMsg &s); bool getCcuSetParmFb(char *m, msg_CcuSetParmFbMsg &s); bool getDisSysHVBusFb(char *m, msg_disHighVolBusFbMsg &s); bool getDisSysHVABusFb(char *m, msg_disHighAVolBusFbMsg &s); bool getDisSysHVBBusFb(char *m, msg_disHighBVolBusFbMsg &s); bool getDisSysLVBusFb(char *m, msg_disLowBusFbMsg &s); bool sendCcuColCmd(const msg_CcuColCmdMsg m); bool sendCcuSetParmCmd(const msg_CcuSetParmMsg m); msgWithTime* stampTimeStamp(void* msg); Checksum calculateChecksum(const unsigned char* data, int size); int getMsgFormQueue(queue &q,double &time,void* m); std::vector sError; std::queue m_qReceiveCcuStateBuffer; std::queue m_qReceiveCcuSetParmBuffer; std::queue m_qReceiveDisHighVolBusBuffer; std::queue m_qReceiveDisHighAVolBusBuffer; std::queue m_qReceiveDisHighBVolBusBuffer; std::queue m_qReceiveDisLowBusBuffer; private: msg_CcuColCmdMsg m_ccuColCmd; msg_CcuSetParmMsg m_ccuSetParmCmd; }; #endif