📄 communicationctrl.h
字号:
// CommunicationCtrl.h: interface for the CCommunicationCtrl class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_COMMUNICATIONCTRL_H__6ECCC929_FDDA_42DB_ADD5_3C702833C5BE__INCLUDED_)
#define AFX_COMMUNICATIONCTRL_H__6ECCC929_FDDA_42DB_ADD5_3C702833C5BE__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#define CMD_HAND 0x55
#define CMD_CLASS_SEND 0x01
#define CMD_CLASS_REPLY 0x02
#define CMD_CLASS_BINDWITH 0x03
#define CMD_CLASS_TEST 0x04
typedef struct __CMD_HANDLE{
CHAR cHANDLE; //CMD_HANDLE
CHAR cClass; //CMD_CLASS_SEND
//CMD_CLASS_REPLY
//CMD_CLASS_BINDWITH
}CMD_HANDLE, *PCMD_HANDLE;
#define CMD_SNED_TX 0x1
#define CMD_SNED_RX 0x2
#define CMD_SNED_CHANNEL1 0x1
#define CMD_SNED_CHANNEL2 0x2
#define CMD_SNED_CHANNEL3 0x3
#define CMD_SNED_CHANNEL4 0x4
#define CMD_SNED_CHANNEL5 0x5
#define CMD_SNED_CHANNEL6 0x6
#define CMD_SNED_CHANNEL7 0x7
#define CMD_SNED_CHANNEL8 0x8
#define CMD_SNED_CHANNEL9 0x9
#define CMD_SNED_CHANNEL10 0xA
#define CMD_SNED_CHANNEL11 0xB
#define CMD_SNED_CHANNEL12 0xC
#define CMD_SNED_CHANNEL13 0xD
#define CMD_SNED_CHANNEL14 0xE
#define CMD_SNED_TXPOWER_1 0x1
#define CMD_SNED_TXPOWER_2 0x2
#define CMD_SNED_TXPOWER_3 0x3
#define CMD_SNED_TXPOWER_4 0x4
#define CMD_SNED_TXPOWER_5 0x5
#define CMD_SNED_TXPOWER_6 0x6
#define CMD_SNED_TXPOWER_7 0x7
#define CMD_SNED_TXPOWER_8 0x8
#define CMD_SNED_TXPOWER_9 0x9
#define CMD_SNED_TXPOWER_A 0xA
#define CMD_SNED_TXPOWER_B 0xB
#define CMD_SNED_TXPOWER_C 0xC
#define CMD_SNED_TXPOWER_D 0xD
#define CMD_SNED_TXPOWER_E 0xE
#define CMD_SNED_TXPOWER_F 0xF
#define CMD_SNED_ANTENNA_A 0x1
#define CMD_SNED_ANTENNA_B 0x2
typedef struct __SNED_COMMAND{
CMD_HANDLE mHand;
CHAR cCmd; //1-TX; 2-RX
CHAR cChannel; //1-14
CHAR cTXPower; //1-F
CHAR cAntenna; //1-2
CHAR cwInterval[5]; //DWORD >=1
CHAR cLength[5]; //DWORD 46-1500
CHAR cTXAmount[5]; //DWORD Default=3000
}SNED_COMMAND, *PSNED_COMMAND;
#define CMD_REPLY_STATE 0x2
#define CMD_REPLY_SUCCESS 0x1
#define CMD_REPLY_FAIL 0x0
#define CMD_REPLY_VALUE_NULL 0x00
#define CMD_REPLY_VALUE_CMDFAIL_RESEND 0x01
#define CMD_REPLY_VALUE_CMDFAIL_MORETIMES 0x02
#define CMD_REPLY_VALUE_TXFINISH 0x03
#define CMD_REPLY_VALUE_RXFINISH 0x04
#define CMD_REPLY_VALUE_TIMEOUT 0x05
#define CMD_REPLY_VALUE_FAIL_PER 0x06
typedef struct __REPLY_COMMAND{
CMD_HANDLE mHand;
CHAR bIsSuccess; //1-Success(Ready) ;0-Fail
CHAR cValue; //0-Null; for bind with command
//1-Command fail; resend
//2-Command fail more then 10 times; don't resend
//3-TX finish
//4-RX finish
//5-Time out; Golden sample does not to do anything
}REPLY_COMMAND, *pREPLY_COMMAND;
#define CMD_BINDWITH_QUEST_CONNECT 0x01
#define CMD_BINDWITH_QUEST_OFFLINE 0x02
#define CMD_BINDWITH_QUEST_VALUE 0x55
typedef struct __BINDWITH_COMMAND{
CMD_HANDLE mHand;
CHAR cRequest; //1-Connect
//2-Off line
CHAR cTestValues[10]; //Always 0x55*10 when request is 1 or 2.
}BINDWITH_COMMAND, *PBINDWITH_COMMAND;
#define COM_PARA "19200,n,8,1"
#define TIMEOUT 10000 //10 sec
#define TIMES 10
class CCommunicationCtrl
{
public:
void ClearBindwithCmd();
void ClearReplyCmd();
void ClearSendCmd();
bool CheckBindwithCmd(char cQue);
bool GetBindwithCmd(char* cQue);
void SetBindwithCmd(char cQue);
BINDWITH_COMMAND mBindwithCmd;
bool CheckReplyCmd(char cResult, char cValue);
bool GetReplyCmd(char* cResult, char* cValue);
void SetReplyCmd(char cResult, char cValue);
REPLY_COMMAND mReplyCmd;
bool CheckSendCmd(char cCmd, int dCh, int dPower, int dAnt, DWORD dwInterval, DWORD dwLength, DWORD dwTXAmount);
bool GetSendCmd(char* cCmd, int* dCh, int* dPower, int* dAnt, DWORD* dwInterval, DWORD* dwLength, DWORD* dwTXAmount);
void SetSendCmd(char cCmd, int dCh, int dPower, int dAnt, DWORD dwInterval, DWORD dwLength, DWORD dwTXAmount);
SNED_COMMAND mSendCmd;
bool CheckHandle(CMD_HANDLE mhCmd);
bool GetHandle(CMD_HANDLE* mhCmd);
bool SetHandle(char cClass);
CMD_HANDLE mCmdHandle;
void ClearReceiverBuff();
void ClearSendBuff();
char InBuff[25];
char OutBuff[25];
void SetConnectPort(int dPort);
void SetTimeout(DWORD dwTime);
DWORD dTimeout;
int dTimes;
INT ConnectPort;
CCommunicationCtrl();
virtual ~CCommunicationCtrl();
};
#endif // !defined(AFX_COMMUNICATIONCTRL_H__6ECCC929_FDDA_42DB_ADD5_3C702833C5BE__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -