|
@@ -2,7 +2,7 @@
|
|
|
#include "OTA.h"
|
|
|
|
|
|
ThreadSection g_csTask;
|
|
|
-static _SIACP_ g_Siacp[42] = {
|
|
|
+static _SIACP_ g_Siacp[CMD_SIZE] = {
|
|
|
{"EnterFactory", "AA", "10", "01", false, 100, 100},
|
|
|
{"LeaveFactory", "AA", "10", "00", false, 100, 100},
|
|
|
{"WBInit", "AA", "16", "02", false, 100, 100},//白平衡数据初始化(适用于所有信源)
|
|
@@ -48,7 +48,35 @@ static _SIACP_ g_Siacp[42] = {
|
|
|
{"CheckCikey", "AA", "EA", "01", true, 100, 100},
|
|
|
{"CheckHDCP22", "AA", "E5", "00", false, 100, 100},
|
|
|
{"StarWarmUpMode", "AA", "13", "01", false, 100, 100},
|
|
|
- {"StopWarmUpMode", "AA", "13", "00", false, 100, 100}
|
|
|
+ {"StopWarmUpMode", "AA", "13", "00", false, 100, 100},
|
|
|
+ // 工厂菜单显示;
|
|
|
+ {"ShowFactoryMenu", "AA", "11", "01", false, 100, 100},
|
|
|
+ // 工厂菜单隐藏;
|
|
|
+ {"HideFactoryMenu", "AA", "11", "00", false, 100, 100},
|
|
|
+ // 工厂信息显示内容开;
|
|
|
+ {"ShowFactoryInformation", "AA", "11", "02", false, 100, 100},
|
|
|
+ // 工厂信息显示内容关;
|
|
|
+ {"HideFactoryInformation", "AA", "11", "03", false, 100, 100},
|
|
|
+ // 老化模式开;
|
|
|
+ {"EnterAgingModel", "AA", "13", "01", false, 100, 100},
|
|
|
+ // 老化模式关;
|
|
|
+ {"LeaveAgingModel", "AA", "13", "00", false, 100, 100},
|
|
|
+ // 读取老化时间;
|
|
|
+ {"ReadAgingTime", "AA", "7A", "00", true, 100, 100},
|
|
|
+ // USB 功能检测查询;
|
|
|
+ //{"StopWarmUpMode", "AA", "17", "00", false, 100, 100},
|
|
|
+ // 红色增益;
|
|
|
+ {"SetRedGainRegister", "AA", "40", "", false, 100, 100},
|
|
|
+ // 绿色增益;
|
|
|
+ {"SetGreenGainRegister", "AA", "41", "", false, 100, 100},
|
|
|
+ // 蓝色增益;
|
|
|
+ {"SetBlueGainRegister", "AA", "42", "", false, 100, 100},
|
|
|
+ // 红色偏移;
|
|
|
+ {"SetRedOffsetRegister", "AA", "43", "", false, 100, 100},
|
|
|
+ // 绿色偏移;
|
|
|
+ {"SetGreenOffsetRegister", "AA", "44", "", false, 100, 100},
|
|
|
+ // 蓝色偏移;
|
|
|
+ {"SetBlueOffsetRegister", "AA", "45", "", false, 100, 100},
|
|
|
};
|
|
|
|
|
|
std::vector<_SIACP_> g_vtSiacp;
|
|
@@ -199,7 +227,7 @@ void CSIACP::LoadCommand()
|
|
|
SaveCommand(g_Siacp, _T("Siacp.xml"));
|
|
|
|
|
|
g_vtSiacp.clear();
|
|
|
- for ( int i = 0; i < 42; i++ )
|
|
|
+ for ( int i = 0; i < CMD_SIZE; i++ )
|
|
|
{
|
|
|
g_vtSiacp.push_back(g_Siacp[i]);
|
|
|
}
|
|
@@ -331,7 +359,7 @@ void CSIACP::SaveCommand(std::vector<_SIACP_> &vtSiacp, std::string path)
|
|
|
doc.SaveFile(path.c_str());
|
|
|
}
|
|
|
|
|
|
-void CSIACP::SaveCommand(_SIACP_ (&Siacp)[42], std::string path)
|
|
|
+void CSIACP::SaveCommand(_SIACP_ (&Siacp)[CMD_SIZE], std::string path)
|
|
|
{
|
|
|
tinyxml2::XMLDocument doc;
|
|
|
//添加申明可以使用如下两行
|
|
@@ -343,7 +371,7 @@ void CSIACP::SaveCommand(_SIACP_ (&Siacp)[42], std::string path)
|
|
|
root->SetAttribute("desc", "command info");
|
|
|
doc.InsertEndChild(root);
|
|
|
|
|
|
- for (int i = 0; i < 42; i++)
|
|
|
+ for (int i = 0; i < CMD_SIZE; i++)
|
|
|
{
|
|
|
tinyxml2::XMLElement *pItem = doc.NewElement("Item");
|
|
|
|
|
@@ -1316,6 +1344,13 @@ BOOL CSIACP::SCBC_SetChannel(const byte *pBuffer, const int &nLen)
|
|
|
return SendCommand("SetChannel", pBuffer, nLen);
|
|
|
}
|
|
|
|
|
|
+BOOL CSIACP::SCBC_SetChannel(int channel)
|
|
|
+{
|
|
|
+ std::string data;
|
|
|
+ data.append(1, channel & 0xFF);
|
|
|
+ return SendCommand2("SetChannel", data, data.size());
|
|
|
+}
|
|
|
+
|
|
|
BOOL CSIACP::SCBC_SetWBNormal(std::string data)
|
|
|
{
|
|
|
return SendCommand2("SetWBNormal", data, data.size());
|
|
@@ -1594,3 +1629,156 @@ BOOL CSIACP::SCBC_StopWarmUpMode()
|
|
|
{
|
|
|
return SendCommand("StopWarmUpMode");
|
|
|
}
|
|
|
+
|
|
|
+BOOL CSIACP::SCBC_ShowFactoryMenu()
|
|
|
+{
|
|
|
+ return SendCommand("ShowFactoryMenu");
|
|
|
+}
|
|
|
+
|
|
|
+BOOL CSIACP::SCBC_HideFactoryMenu()
|
|
|
+{
|
|
|
+ return SendCommand("HideFactoryMenu");
|
|
|
+}
|
|
|
+
|
|
|
+BOOL CSIACP::SCBC_ShowFactoryInformation()
|
|
|
+{
|
|
|
+ return SendCommand("ShowFactoryInformation");
|
|
|
+}
|
|
|
+
|
|
|
+BOOL CSIACP::SCBC_HideFactoryInformation()
|
|
|
+{
|
|
|
+ return SendCommand("HideFactoryInformation");
|
|
|
+}
|
|
|
+
|
|
|
+BOOL CSIACP::SCBC_EnterAgingModel()
|
|
|
+{
|
|
|
+ return SendCommand("EnterAgingModel");
|
|
|
+}
|
|
|
+
|
|
|
+BOOL CSIACP::SCBC_LeaveAgingModel()
|
|
|
+{
|
|
|
+ return SendCommand("LeaveAgingModel");
|
|
|
+}
|
|
|
+
|
|
|
+BOOL CSIACP::SCBC_ReadAgingTime(int &min)
|
|
|
+{
|
|
|
+ BOOL bRet = SendCommand("ReadAgingTime");
|
|
|
+ if (bRet)
|
|
|
+ {
|
|
|
+ if (m_vtdata.size() == 0)
|
|
|
+ {
|
|
|
+ //Global::WriteTextLog("%s:%s", __FUNCTION__, "No data return!");
|
|
|
+ //Global::WriteReportLog(1, "Copy Key", "%s:%s", __FUNCTION__, "No data return!");
|
|
|
+ return FALSE;
|
|
|
+ }
|
|
|
+
|
|
|
+ RTN rtn = m_vtdata.at(0);
|
|
|
+ if (rtn.data.size() == 0)
|
|
|
+ {
|
|
|
+ return FALSE;
|
|
|
+ }
|
|
|
+
|
|
|
+ byte bymin = (byte)rtn.data.at(0);
|
|
|
+ byte byhour = (byte)rtn.data.at(1);
|
|
|
+
|
|
|
+ min = bymin + 60*byhour;
|
|
|
+ }
|
|
|
+
|
|
|
+ return bRet;
|
|
|
+}
|
|
|
+
|
|
|
+BOOL CSIACP::SCBC_SetRedGainRegister(int value)
|
|
|
+{
|
|
|
+ std::string data;
|
|
|
+ if (value > 0xFF)
|
|
|
+ {
|
|
|
+ data.append(1, (value >> 8) & 0xFF);
|
|
|
+ data.append(1, value & 0xFF);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ data.append(1, value & 0xFF);
|
|
|
+ }
|
|
|
+
|
|
|
+ return SendCommand2("SetRedGainRegister", data, data.size());
|
|
|
+}
|
|
|
+
|
|
|
+BOOL CSIACP::SCBC_SetGreenGainRegister(int value)
|
|
|
+{
|
|
|
+ std::string data;
|
|
|
+ if (value > 0xFF)
|
|
|
+ {
|
|
|
+ data.append(1, (value >> 8) & 0xFF);
|
|
|
+ data.append(1, value & 0xFF);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ data.append(1, value & 0xFF);
|
|
|
+ }
|
|
|
+
|
|
|
+ return SendCommand2("SetGreenGainRegister", data, data.size());
|
|
|
+}
|
|
|
+
|
|
|
+BOOL CSIACP::SCBC_SetBlueGainRegister(int value)
|
|
|
+{
|
|
|
+ std::string data;
|
|
|
+ if (value > 0xFF)
|
|
|
+ {
|
|
|
+ data.append(1, (value >> 8) & 0xFF);
|
|
|
+ data.append(1, value & 0xFF);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ data.append(1, value & 0xFF);
|
|
|
+ }
|
|
|
+
|
|
|
+ return SendCommand2("SetBlueGainRegister", data, data.size());
|
|
|
+}
|
|
|
+
|
|
|
+BOOL CSIACP::SCBC_SetRedOffsetRegister(int value)
|
|
|
+{
|
|
|
+ std::string data;
|
|
|
+ if (value > 0xFF)
|
|
|
+ {
|
|
|
+ data.append(1, (value >> 8) & 0xFF);
|
|
|
+ data.append(1, value & 0xFF);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ data.append(1, value & 0xFF);
|
|
|
+ }
|
|
|
+
|
|
|
+ return SendCommand2("SetRedOffsetRegister", data, data.size());
|
|
|
+}
|
|
|
+
|
|
|
+BOOL CSIACP::SCBC_SetGreenOffsetRegister(int value)
|
|
|
+{
|
|
|
+ std::string data;
|
|
|
+ if (value > 0xFF)
|
|
|
+ {
|
|
|
+ data.append(1, (value >> 8) & 0xFF);
|
|
|
+ data.append(1, value & 0xFF);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ data.append(1, value & 0xFF);
|
|
|
+ }
|
|
|
+
|
|
|
+ return SendCommand2("SetGreenOffsetRegister", data, data.size());
|
|
|
+}
|
|
|
+
|
|
|
+BOOL CSIACP::SCBC_SetBlueOffsetRegister(int value)
|
|
|
+{
|
|
|
+ std::string data;
|
|
|
+ if (value > 0xFF)
|
|
|
+ {
|
|
|
+ data.append(1, (value >> 8) & 0xFF);
|
|
|
+ data.append(1, value & 0xFF);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ data.append(1, value & 0xFF);
|
|
|
+ }
|
|
|
+
|
|
|
+ return SendCommand2("SetBlueOffsetRegister", data, data.size());
|
|
|
+}
|