Files
H100PowerManger/src/pPowerManger/udpComm.h
T

65 lines
2.0 KiB
C++

#ifndef UDPCOMM__H
#define UDPCOMM__H
#include "ccuUdpMsg.h"
#include <string>
#include <vector>
#include <queue>
#include <string.h>
#include "MOOS/libMOOS/Utils/MOOSUtilityFunctions.h"
#include <iostream>
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<msgWithTime> &q,double &time,void* m);
std::vector<std::string> sError;
std::queue<msgWithTime> m_qReceiveCcuStateBuffer;
std::queue<msgWithTime> m_qReceiveCcuSetParmBuffer;
std::queue<msgWithTime> m_qReceiveDisHighVolBusBuffer;
std::queue<msgWithTime> m_qReceiveDisHighAVolBusBuffer;
std::queue<msgWithTime> m_qReceiveDisHighBVolBusBuffer;
std::queue<msgWithTime> m_qReceiveDisLowBusBuffer;
private:
msg_CcuColCmdMsg m_ccuColCmd;
msg_CcuSetParmMsg m_ccuSetParmCmd;
};
#endif