📄 devicecontrolcommand.cpp
字号:
#include <stdafx.h>
#include <stdio.h>
#include "DeviceControlCommand.h"
#define DCCOPTION "DeviceCmdConfig.ini"
void DeviceControlCommand::GetDCConfigFilePath()//troopaywa得到DeviceCmdConfig.ini的路径
{
char szName[MAX_PATH];
GetModuleFileName(NULL, szName, MAX_PATH);
szName[MAX_PATH-1] = 0;
char *p = strrchr(szName, '\\');
while(p>szName && isleadbyte(szName[p-szName-1]))
{
p--;
p[0] = 0;
p = strrchr(szName, '\\');
}
char* p1 = strrchr(szName, '\\');
while(p>szName && isleadbyte(szName[p-szName-1]))
{
p1--;
p1[0] = 0;
p1 = strrchr(szName, '\\');
}
if(p1) p1[1] = 0;
strcat(p1, DCCOPTION);
strcpy(m_DCINIPath,szName);
}
DeviceControlCommand::DeviceControlCommand()
{
GetDCConfigFilePath();
}
int DeviceControlCommand::ParseCommand(unsigned char* pdata)//将0x报文匹配出命令类型
{
int commandType=-1;
if (IsOneCommand(pdata))
{
switch(pdata[11])
{
case YKCMD_NUM: //数字
commandType = YKCMD_NUM;
break;
case YKCMD_AUTOOPEN: //轮训开
commandType = YKCMD_AUTOOPEN;
break;
case YKCMD_AUTOCLOSE: //轮训关
commandType = YKCMD_AUTOCLOSE;
break;
case YKCMD_NEAR: //推近开始
commandType = YKCMD_NEAR;
break;
case YKCMD_FAR: //拉远开始
commandType = YKCMD_FAR;
break;
case YKCMD_JJ_STOP: //聚焦操作停止(推近拉远停止)
commandType = YKCMD_JJ_STOP;
break;
case YKCMD_SELDSONE: //选择ds one
case YKCMD_SELDSTOW: //选择ds tow
commandType = YKCMD_SELDSTOW;
break;
case YKCMD_SELFN: //选择fn
commandType = YKCMD_SELFN;
break;
case YKCMD_UP: //上
commandType = YKCMD_UP;
break;
case YKCMD_DOWN: //下
commandType = YKCMD_DOWN;
break;
case YKCMD_UPDOWN_STOP: //上下停
commandType = YKCMD_UPDOWN_STOP;
break;
case YKCMD_LEFT: //左
commandType = YKCMD_LEFT;
break;
case YKCMD_RIGHT: //右
commandType = YKCMD_RIGHT;
break;
case YKCMD_LEFTRIGHT_STOP: //左右停止
commandType = YKCMD_LEFTRIGHT_STOP;
break;
case YKCMD_CLEARTOW:
case YKCMD_CLEARONE:
commandType = YKCMD_CLEAR;
break;
default:
break;
}
}
return commandType;
}
bool DeviceControlCommand::IsOneCommand(unsigned char* pdata)
{
bool bVal = false;
if (0 == memcmp(pdata, g_YKCmdHead, 4))
{
//if (0 == memcmp(pdata+14, pdata+14, 3))//?
if (0 == memcmp(pdata+12, pdata+12, 3))
{
bVal = true;
}
}
return bVal;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -