|  | @@ -0,0 +1,486 @@
 | 
	
		
			
				|  |  | +// Chroma22293.cpp : 定义 DLL 的导出函数。
 | 
	
		
			
				|  |  | +//
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#include "stdafx.h"
 | 
	
		
			
				|  |  | +#include "framework.h"
 | 
	
		
			
				|  |  | +#include "Chroma22293.h"
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#ifdef _DEBUG
 | 
	
		
			
				|  |  | +#define new DEBUG_NEW
 | 
	
		
			
				|  |  | +#endif
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +#define READ_LEN 8912
 | 
	
		
			
				|  |  | +// 唯一的应用程序对象
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +CWinApp theApp;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +using namespace std;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +int main()
 | 
	
		
			
				|  |  | +{
 | 
	
		
			
				|  |  | +    int nRetCode = 0;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    HMODULE hModule = ::GetModuleHandle(nullptr);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    if (hModule != nullptr)
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +        // 初始化 MFC 并在失败时显示错误
 | 
	
		
			
				|  |  | +        if (!AfxWinInit(hModule, nullptr, ::GetCommandLine(), 0))
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            // TODO: 在此处为应用程序的行为编写代码。
 | 
	
		
			
				|  |  | +            wprintf(L"错误: MFC 初始化失败\n");
 | 
	
		
			
				|  |  | +            nRetCode = 1;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        else
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +            // TODO: 在此处为应用程序的行为编写代码。
 | 
	
		
			
				|  |  | +			if ( OpenDevice(3,115200,8,0,1))
 | 
	
		
			
				|  |  | +			{
 | 
	
		
			
				|  |  | +				if (GetBufStatus())
 | 
	
		
			
				|  |  | +					printf("成功BUF\n");
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +				GetDeviceSoft();
 | 
	
		
			
				|  |  | +				GetDeviceName();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +				if (SetPattern(11))
 | 
	
		
			
				|  |  | +					printf("SetPattern成功\n");
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +				if (SetTiming(11))
 | 
	
		
			
				|  |  | +					printf("SetTiming成功\n");
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +				if (SetTimingPattern(11, 11))
 | 
	
		
			
				|  |  | +					printf("SetTimingPattern成功\n");
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +				if (SetBlueOFF())
 | 
	
		
			
				|  |  | +					printf("SetBlueOFF成功\n");
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +				if (SetBuleON())
 | 
	
		
			
				|  |  | +					printf("SetBuleON成功\n");
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +				if (SetGreenOFF())
 | 
	
		
			
				|  |  | +					printf("SetGreenOFF成功\n");
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +				if (SetGreenON())
 | 
	
		
			
				|  |  | +					printf("SetGreenON成功\n");
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +				if (SetRedOFF())
 | 
	
		
			
				|  |  | +					printf("SetRedOFF成功\n");
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +				if (SetRedON())
 | 
	
		
			
				|  |  | +					printf("SetRedON成功\n");
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +				if (SetKeyBoardLock())
 | 
	
		
			
				|  |  | +					printf("SetKeyBoardLock成功\n");
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +				if (SetKeyBoardUnLock())
 | 
	
		
			
				|  |  | +					printf("SetKeyBoardUnLock成功\n");
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +			CloseDevice();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    else
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +        // TODO: 更改错误代码以符合需要
 | 
	
		
			
				|  |  | +        wprintf(L"错误: GetModuleHandle 失败\n");
 | 
	
		
			
				|  |  | +        nRetCode = 1;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	system("pause");
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    return nRetCode;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +//////////////////////////////////////////////////////////////////////////
 | 
	
		
			
				|  |  | +// 全局变量;
 | 
	
		
			
				|  |  | +std::string g_strData;
 | 
	
		
			
				|  |  | +CSynSerial g_SynSerial;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +CHROMA22293_API BOOL OpenDevice(BYTE byCommPort, DWORD dwBaudRate, BYTE bySize, BYTE byParity, BYTE byStopBits)
 | 
	
		
			
				|  |  | +{
 | 
	
		
			
				|  |  | +	if (g_SynSerial.IsOpen())
 | 
	
		
			
				|  |  | +	{
 | 
	
		
			
				|  |  | +		g_SynSerial.CloseSerialPort();
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	return g_SynSerial.OpenSerialPort(byCommPort, dwBaudRate, bySize, byParity, byStopBits, 0, 0);
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +CHROMA22293_API void CloseDevice()
 | 
	
		
			
				|  |  | +{
 | 
	
		
			
				|  |  | +	g_SynSerial.CloseSerialPort();
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +CHROMA22293_API BOOL GetBufStatus()
 | 
	
		
			
				|  |  | +{
 | 
	
		
			
				|  |  | +	std::string data = "dummy;\r";
 | 
	
		
			
				|  |  | +	if (!g_SynSerial.IsOpen())
 | 
	
		
			
				|  |  | +		return FALSE;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	// 写串口数据;
 | 
	
		
			
				|  |  | +	DWORD dwData = g_SynSerial.WriteComm((byte*)data.data(), data.size());
 | 
	
		
			
				|  |  | +	if (dwData != data.size() )
 | 
	
		
			
				|  |  | +	{
 | 
	
		
			
				|  |  | +		return FALSE;
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	// 读取串口数据;
 | 
	
		
			
				|  |  | +	byte byData[READ_LEN] = {0};
 | 
	
		
			
				|  |  | +	dwData = g_SynSerial.ReadComm(byData, READ_LEN);
 | 
	
		
			
				|  |  | +	if ( dwData == 0)
 | 
	
		
			
				|  |  | +	{
 | 
	
		
			
				|  |  | +		return FALSE;
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	printf("dumy=>%s\n",byData);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	return !_mbsicmp((const byte*)"ok;\r\n", (const byte*)byData);
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +CHROMA22293_API LPCTSTR GetDeviceSoft()
 | 
	
		
			
				|  |  | +{
 | 
	
		
			
				|  |  | +	std::string data = "report ver;\r";
 | 
	
		
			
				|  |  | +	if (!g_SynSerial.IsOpen())
 | 
	
		
			
				|  |  | +		return _T("");
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	// 写串口数据;
 | 
	
		
			
				|  |  | +	DWORD dwData = g_SynSerial.WriteComm((byte*)data.data(), data.size());
 | 
	
		
			
				|  |  | +	if (dwData != data.size())
 | 
	
		
			
				|  |  | +	{
 | 
	
		
			
				|  |  | +		return _T("");
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	// 读取串口数据;
 | 
	
		
			
				|  |  | +	byte byData[READ_LEN] = { 0 };
 | 
	
		
			
				|  |  | +	dwData = g_SynSerial.ReadComm(byData, READ_LEN);
 | 
	
		
			
				|  |  | +	if (dwData == 0)
 | 
	
		
			
				|  |  | +	{
 | 
	
		
			
				|  |  | +		return _T("");
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	g_strData = (char*)byData;
 | 
	
		
			
				|  |  | +	printf("report ver=>%s\n", byData);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	return g_strData.c_str();
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +CHROMA22293_API LPCTSTR GetDeviceName()
 | 
	
		
			
				|  |  | +{
 | 
	
		
			
				|  |  | +	std::string data = "report model;\r";
 | 
	
		
			
				|  |  | +	if (!g_SynSerial.IsOpen())
 | 
	
		
			
				|  |  | +		return _T("");
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	// 写串口数据;
 | 
	
		
			
				|  |  | +	DWORD dwData = g_SynSerial.WriteComm((byte*)data.data(), data.size());
 | 
	
		
			
				|  |  | +	if (dwData != data.size())
 | 
	
		
			
				|  |  | +	{
 | 
	
		
			
				|  |  | +		return _T("");
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	// 读取串口数据;
 | 
	
		
			
				|  |  | +	byte byData[READ_LEN] = { 0 };
 | 
	
		
			
				|  |  | +	dwData = g_SynSerial.ReadComm(byData, READ_LEN);
 | 
	
		
			
				|  |  | +	if (dwData == 0)
 | 
	
		
			
				|  |  | +	{
 | 
	
		
			
				|  |  | +		return _T("");
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	g_strData = (char*)byData;
 | 
	
		
			
				|  |  | +	printf("report ver=>%s\n", byData);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	return g_strData.c_str();
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +CHROMA22293_API BOOL SetPattern(int param)
 | 
	
		
			
				|  |  | +{
 | 
	
		
			
				|  |  | +	char data[128] = {0};
 | 
	
		
			
				|  |  | +	_stprintf_s(data, _T("run ptn %ld;\r"), param);
 | 
	
		
			
				|  |  | +	if (!g_SynSerial.IsOpen())
 | 
	
		
			
				|  |  | +		return FALSE;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	// 写串口数据;
 | 
	
		
			
				|  |  | +	DWORD dwData = g_SynSerial.WriteComm((byte*)data, sizeof(data));
 | 
	
		
			
				|  |  | +	if (dwData != sizeof(data))
 | 
	
		
			
				|  |  | +	{
 | 
	
		
			
				|  |  | +		return FALSE;
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	// 读取串口数据;
 | 
	
		
			
				|  |  | +	byte byData[READ_LEN] = { 0 };
 | 
	
		
			
				|  |  | +	dwData = g_SynSerial.ReadComm(byData, READ_LEN);
 | 
	
		
			
				|  |  | +	if (dwData == 0)
 | 
	
		
			
				|  |  | +	{
 | 
	
		
			
				|  |  | +		return FALSE;
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	printf("run ptn %d;=>%s\n", param, byData);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	return !_mbsicmp((const byte*)"ok;\r\n", (const byte*)byData);
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +CHROMA22293_API BOOL SetTiming(int param)
 | 
	
		
			
				|  |  | +{
 | 
	
		
			
				|  |  | +	char data[128] = { 0 };
 | 
	
		
			
				|  |  | +	_stprintf_s(data, _T("run tim %ld;\r"), param);
 | 
	
		
			
				|  |  | +	if (!g_SynSerial.IsOpen())
 | 
	
		
			
				|  |  | +		return FALSE;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	// 写串口数据;
 | 
	
		
			
				|  |  | +	DWORD dwData = g_SynSerial.WriteComm((byte*)data, sizeof(data));
 | 
	
		
			
				|  |  | +	if (dwData != sizeof(data))
 | 
	
		
			
				|  |  | +	{
 | 
	
		
			
				|  |  | +		return FALSE;
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	// 读取串口数据;
 | 
	
		
			
				|  |  | +	byte byData[READ_LEN] = { 0 };
 | 
	
		
			
				|  |  | +	dwData = g_SynSerial.ReadComm(byData, READ_LEN);
 | 
	
		
			
				|  |  | +	if (dwData == 0)
 | 
	
		
			
				|  |  | +	{
 | 
	
		
			
				|  |  | +		return FALSE;
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	printf("run ptn %d;=>%s\n", param, byData);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	return !_mbsicmp((const byte*)"ok;\r\n", (const byte*)byData);
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +CHROMA22293_API BOOL SetTimingPattern(int param1, int param2)
 | 
	
		
			
				|  |  | +{
 | 
	
		
			
				|  |  | +	char data[128] = { 0 };
 | 
	
		
			
				|  |  | +	_stprintf_s(data, _T("run tim %ld;run tim %ld;\r"), param1, param2);
 | 
	
		
			
				|  |  | +	if (!g_SynSerial.IsOpen())
 | 
	
		
			
				|  |  | +		return FALSE;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	// 写串口数据;
 | 
	
		
			
				|  |  | +	DWORD dwData = g_SynSerial.WriteComm((byte*)data, strlen(data));
 | 
	
		
			
				|  |  | +	if (dwData != strlen(data))
 | 
	
		
			
				|  |  | +	{
 | 
	
		
			
				|  |  | +		return FALSE;
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	// 读取串口数据;
 | 
	
		
			
				|  |  | +	byte byData[READ_LEN] = { 0 };
 | 
	
		
			
				|  |  | +	dwData = g_SynSerial.ReadComm(byData, READ_LEN);
 | 
	
		
			
				|  |  | +	if (dwData == 0)
 | 
	
		
			
				|  |  | +	{
 | 
	
		
			
				|  |  | +		return FALSE;
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	printf("run ptn %d;run tim %d=>%s\n", param1, param2, byData);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	return !_mbsicmp((const byte*)"ok;\r\nok;\r\n", (const byte*)byData);
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +CHROMA22293_API BOOL SetBlueOFF()
 | 
	
		
			
				|  |  | +{
 | 
	
		
			
				|  |  | +	std::string data = "b off;\r";
 | 
	
		
			
				|  |  | +	if (!g_SynSerial.IsOpen())
 | 
	
		
			
				|  |  | +		return FALSE;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	// 写串口数据;
 | 
	
		
			
				|  |  | +	DWORD dwData = g_SynSerial.WriteComm((byte*)data.data(), data.size());
 | 
	
		
			
				|  |  | +	if (dwData != data.size())
 | 
	
		
			
				|  |  | +	{
 | 
	
		
			
				|  |  | +		return FALSE;
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	// 读取串口数据;
 | 
	
		
			
				|  |  | +	byte byData[READ_LEN] = { 0 };
 | 
	
		
			
				|  |  | +	dwData = g_SynSerial.ReadComm(byData, READ_LEN);
 | 
	
		
			
				|  |  | +	if (dwData == 0)
 | 
	
		
			
				|  |  | +	{
 | 
	
		
			
				|  |  | +		return FALSE;
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	printf("b off=>%s\n", byData);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	return !_mbsicmp((const byte*)"ok;\r\n", (const byte*)byData);
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +CHROMA22293_API BOOL SetBuleON()
 | 
	
		
			
				|  |  | +{
 | 
	
		
			
				|  |  | +	std::string data = "b on;\r";
 | 
	
		
			
				|  |  | +	if (!g_SynSerial.IsOpen())
 | 
	
		
			
				|  |  | +		return FALSE;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	// 写串口数据;
 | 
	
		
			
				|  |  | +	DWORD dwData = g_SynSerial.WriteComm((byte*)data.data(), data.size());
 | 
	
		
			
				|  |  | +	if (dwData != data.size())
 | 
	
		
			
				|  |  | +	{
 | 
	
		
			
				|  |  | +		return FALSE;
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	// 读取串口数据;
 | 
	
		
			
				|  |  | +	byte byData[READ_LEN] = { 0 };
 | 
	
		
			
				|  |  | +	dwData = g_SynSerial.ReadComm(byData, READ_LEN);
 | 
	
		
			
				|  |  | +	if (dwData == 0)
 | 
	
		
			
				|  |  | +	{
 | 
	
		
			
				|  |  | +		return FALSE;
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	printf("b on=>%s\n", byData);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	return !_mbsicmp((const byte*)"ok;\r\n", (const byte*)byData);
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +CHROMA22293_API BOOL SetGreenOFF()
 | 
	
		
			
				|  |  | +{
 | 
	
		
			
				|  |  | +	std::string data = "g off;\r";
 | 
	
		
			
				|  |  | +	if (!g_SynSerial.IsOpen())
 | 
	
		
			
				|  |  | +		return FALSE;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	// 写串口数据;
 | 
	
		
			
				|  |  | +	DWORD dwData = g_SynSerial.WriteComm((byte*)data.data(), data.size());
 | 
	
		
			
				|  |  | +	if (dwData != data.size())
 | 
	
		
			
				|  |  | +	{
 | 
	
		
			
				|  |  | +		return FALSE;
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	// 读取串口数据;
 | 
	
		
			
				|  |  | +	byte byData[READ_LEN] = { 0 };
 | 
	
		
			
				|  |  | +	dwData = g_SynSerial.ReadComm(byData, READ_LEN);
 | 
	
		
			
				|  |  | +	if (dwData == 0)
 | 
	
		
			
				|  |  | +	{
 | 
	
		
			
				|  |  | +		return FALSE;
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	printf("g off=>%s\n", byData);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	return !_mbsicmp((const byte*)"ok;\r\n", (const byte*)byData);
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +CHROMA22293_API BOOL SetGreenON()
 | 
	
		
			
				|  |  | +{
 | 
	
		
			
				|  |  | +	std::string data = "g on;\r";
 | 
	
		
			
				|  |  | +	if (!g_SynSerial.IsOpen())
 | 
	
		
			
				|  |  | +		return FALSE;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	// 写串口数据;
 | 
	
		
			
				|  |  | +	DWORD dwData = g_SynSerial.WriteComm((byte*)data.data(), data.size());
 | 
	
		
			
				|  |  | +	if (dwData != data.size())
 | 
	
		
			
				|  |  | +	{
 | 
	
		
			
				|  |  | +		return FALSE;
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	// 读取串口数据;
 | 
	
		
			
				|  |  | +	byte byData[READ_LEN] = { 0 };
 | 
	
		
			
				|  |  | +	dwData = g_SynSerial.ReadComm(byData, READ_LEN);
 | 
	
		
			
				|  |  | +	if (dwData == 0)
 | 
	
		
			
				|  |  | +	{
 | 
	
		
			
				|  |  | +		return FALSE;
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	printf("g on=>%s\n", byData);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	return !_mbsicmp((const byte*)"ok;\r\n", (const byte*)byData);
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +CHROMA22293_API BOOL SetRedOFF()
 | 
	
		
			
				|  |  | +{
 | 
	
		
			
				|  |  | +	std::string data = "r off;\r";
 | 
	
		
			
				|  |  | +	if (!g_SynSerial.IsOpen())
 | 
	
		
			
				|  |  | +		return FALSE;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	// 写串口数据;
 | 
	
		
			
				|  |  | +	DWORD dwData = g_SynSerial.WriteComm((byte*)data.data(), data.size());
 | 
	
		
			
				|  |  | +	if (dwData != data.size())
 | 
	
		
			
				|  |  | +	{
 | 
	
		
			
				|  |  | +		return FALSE;
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	// 读取串口数据;
 | 
	
		
			
				|  |  | +	byte byData[READ_LEN] = { 0 };
 | 
	
		
			
				|  |  | +	dwData = g_SynSerial.ReadComm(byData, READ_LEN);
 | 
	
		
			
				|  |  | +	if (dwData == 0)
 | 
	
		
			
				|  |  | +	{
 | 
	
		
			
				|  |  | +		return FALSE;
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	printf("r off=>%s\n", byData);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	return !_mbsicmp((const byte*)"ok;\r\n", (const byte*)byData);
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +CHROMA22293_API BOOL SetRedON()
 | 
	
		
			
				|  |  | +{
 | 
	
		
			
				|  |  | +	std::string data = "r on;\r";
 | 
	
		
			
				|  |  | +	if (!g_SynSerial.IsOpen())
 | 
	
		
			
				|  |  | +		return FALSE;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	// 写串口数据;
 | 
	
		
			
				|  |  | +	DWORD dwData = g_SynSerial.WriteComm((byte*)data.data(), data.size());
 | 
	
		
			
				|  |  | +	if (dwData != data.size())
 | 
	
		
			
				|  |  | +	{
 | 
	
		
			
				|  |  | +		return FALSE;
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	// 读取串口数据;
 | 
	
		
			
				|  |  | +	byte byData[READ_LEN] = { 0 };
 | 
	
		
			
				|  |  | +	dwData = g_SynSerial.ReadComm(byData, READ_LEN);
 | 
	
		
			
				|  |  | +	if (dwData == 0)
 | 
	
		
			
				|  |  | +	{
 | 
	
		
			
				|  |  | +		return FALSE;
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	printf("r on=>%s\n", byData);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	return !_mbsicmp((const byte*)"ok;\r\n", (const byte*)byData);
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +CHROMA22293_API BOOL SetKeyBoardLock()
 | 
	
		
			
				|  |  | +{
 | 
	
		
			
				|  |  | +	std::string data = "kb lock on;\r";
 | 
	
		
			
				|  |  | +	if (!g_SynSerial.IsOpen())
 | 
	
		
			
				|  |  | +		return FALSE;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	// 写串口数据;
 | 
	
		
			
				|  |  | +	DWORD dwData = g_SynSerial.WriteComm((byte*)data.data(), data.size());
 | 
	
		
			
				|  |  | +	if (dwData != data.size())
 | 
	
		
			
				|  |  | +	{
 | 
	
		
			
				|  |  | +		return FALSE;
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	// 读取串口数据;
 | 
	
		
			
				|  |  | +	byte byData[READ_LEN] = { 0 };
 | 
	
		
			
				|  |  | +	dwData = g_SynSerial.ReadComm(byData, READ_LEN);
 | 
	
		
			
				|  |  | +	if (dwData == 0)
 | 
	
		
			
				|  |  | +	{
 | 
	
		
			
				|  |  | +		return FALSE;
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	printf("kb lock on=>%s\n", byData);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	return !_mbsicmp((const byte*)"ok;\r\n", (const byte*)byData);
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +CHROMA22293_API BOOL SetKeyBoardUnLock()
 | 
	
		
			
				|  |  | +{
 | 
	
		
			
				|  |  | +	std::string data = "kb lock off;\r";
 | 
	
		
			
				|  |  | +	if (!g_SynSerial.IsOpen())
 | 
	
		
			
				|  |  | +		return FALSE;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	// 写串口数据;
 | 
	
		
			
				|  |  | +	DWORD dwData = g_SynSerial.WriteComm((byte*)data.data(), data.size());
 | 
	
		
			
				|  |  | +	if (dwData != data.size())
 | 
	
		
			
				|  |  | +	{
 | 
	
		
			
				|  |  | +		return FALSE;
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	// 读取串口数据;
 | 
	
		
			
				|  |  | +	byte byData[READ_LEN] = { 0 };
 | 
	
		
			
				|  |  | +	dwData = g_SynSerial.ReadComm(byData, READ_LEN);
 | 
	
		
			
				|  |  | +	if (dwData == 0)
 | 
	
		
			
				|  |  | +	{
 | 
	
		
			
				|  |  | +		return FALSE;
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	printf("kb lock off=>%s\n", byData);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	return !_mbsicmp((const byte*)"ok;\r\n", (const byte*)byData);
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +CHROMA22293_API void SetCallBack()
 | 
	
		
			
				|  |  | +{
 | 
	
		
			
				|  |  | +	return CHROMA22293_API void();
 | 
	
		
			
				|  |  | +}
 |