131 lines
5.4 KiB
C++
131 lines
5.4 KiB
C++
#include "SkyWritingCfg.h"
|
|
#include "ScanCfg.h"
|
|
#include "../utils/ConverType.hpp"
|
|
|
|
SkyWritingCfg::SkyWritingCfg()
|
|
{
|
|
m_IsEnable=true;
|
|
m_Timelag=470.0;
|
|
m_TimelagMin=0.05;
|
|
m_TimelagMax=1000.0;
|
|
m_LaserOnShift=-60;
|
|
m_LaserOnShiftMin=-1000;
|
|
m_LaserOnShiftMax=1000;
|
|
m_Nprev=710;
|
|
m_NprevMin=0;
|
|
m_NprevMax=1000;
|
|
m_Npost=500;
|
|
m_NpostMin=0;
|
|
m_NpostMax=1000;
|
|
m_Mode=2;
|
|
m_Limite=0.0;
|
|
m_LimiteMin=-1.0;
|
|
m_LimiteMax=1.0;
|
|
}
|
|
|
|
|
|
SkyWritingCfg::~SkyWritingCfg()
|
|
{
|
|
}
|
|
|
|
void SkyWritingCfg::GetUpdateSql(int cno,vector<string>& ups)
|
|
{
|
|
char buffer[512];
|
|
sprintf_s(buffer, sizeof(buffer), "UPDATE %s set %s=",
|
|
ScanCfg::TABLE_NAME.c_str(),
|
|
ScanCfg::FIELD_SCAN_VALUE.c_str()
|
|
);
|
|
string strhead(buffer);
|
|
sprintf_s(buffer, sizeof(buffer), " WHERE %s=%d AND %s='%s' AND %s=",
|
|
ScanCfg::FIELD_CNO.c_str(), cno,
|
|
ScanCfg::FIELD_CONFIG_NAME.c_str(), CONFIG_NAME.c_str(),
|
|
ScanCfg::FIELD_SCAN_CODE.c_str()
|
|
);
|
|
string strtail(buffer);
|
|
|
|
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_IsEnable?1:0).c_str(), strtail.c_str(), FIELD_IS_ENABLE.c_str());
|
|
ups.push_back(buffer);
|
|
|
|
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_Timelag).c_str(), strtail.c_str(), FIELD_TIMELAG.c_str());
|
|
ups.push_back(buffer);
|
|
|
|
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_LaserOnShift).c_str(), strtail.c_str(), FIELD_LASER_ON_SHIFT.c_str());
|
|
ups.push_back(buffer);
|
|
|
|
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_Nprev).c_str(), strtail.c_str(), FIELD_NPREV.c_str());
|
|
ups.push_back(buffer);
|
|
|
|
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_Npost).c_str(), strtail.c_str(), FIELD_NPOST.c_str());
|
|
ups.push_back(buffer);
|
|
|
|
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_Mode).c_str(), strtail.c_str(), FIELD_MODE.c_str());
|
|
ups.push_back(buffer);
|
|
|
|
sprintf_s(buffer, sizeof(buffer), "%s'%s'%s'%s'", strhead.c_str(), to_string(m_Limite).c_str(), strtail.c_str(), FIELD_LIMITE.c_str());
|
|
ups.push_back(buffer);
|
|
}
|
|
|
|
|
|
|
|
void SkyWritingCfg::SetSkyWritingCfg(stream::SkyWritingCfg * cp) {
|
|
cp->set_isenable(m_IsEnable);
|
|
cp->set_timelag(m_Timelag);
|
|
cp->set_timelagmin(m_TimelagMin);
|
|
cp->set_timelagmax(m_TimelagMax);
|
|
cp->set_laseronshift(m_LaserOnShift);
|
|
cp->set_laseronshiftmin(m_LaserOnShiftMin);
|
|
cp->set_laseronshiftmax(m_LaserOnShiftMax);
|
|
cp->set_nprev(m_Nprev);
|
|
cp->set_nprevmin(m_NprevMin);
|
|
cp->set_nprevmax(m_NprevMax);
|
|
cp->set_npost(m_Npost);
|
|
cp->set_npostmin(m_NpostMin);
|
|
cp->set_npostmax(m_NpostMax);
|
|
cp->set_mode(m_Mode);
|
|
cp->set_limite(m_Limite);
|
|
cp->set_limitemin(m_LimiteMin);
|
|
cp->set_limitemax(m_LimiteMax);
|
|
}
|
|
|
|
void SkyWritingCfg::Update(const ReadData& rd,const list<Item>& lst) {
|
|
for (auto start = lst.begin(); start != lst.end(); ++start) {
|
|
if (start->nameKey == "IsEnable") m_IsEnable =(bool) ConverType::TryToI(start->strValue);
|
|
else if (start->nameKey == "Timelag") m_Timelag = ConverType::TryToI(start->strValue);
|
|
else if (start->nameKey == "TimelagMin") m_TimelagMin = ConverType::TryToI(start->strValue);
|
|
else if (start->nameKey == "TimelagMax") m_TimelagMax = ConverType::TryToI(start->strValue);
|
|
else if (start->nameKey == "LaserOnShift") m_LaserOnShift = (long)ConverType::TryToI(start->strValue);
|
|
else if (start->nameKey == "LaserOnShiftMin") m_LaserOnShiftMin = (long)ConverType::TryToI(start->strValue);
|
|
else if (start->nameKey == "LaserOnShiftMax") m_LaserOnShiftMax = (long)ConverType::TryToI(start->strValue);
|
|
else if (start->nameKey == "Nprev") m_Nprev = (unsigned int)ConverType::TryToI(start->strValue);
|
|
else if (start->nameKey == "Npost") m_Npost = (unsigned int)ConverType::TryToI(start->strValue);
|
|
else if (start->nameKey == "NprevMax") m_NprevMax = (unsigned int)ConverType::TryToI(start->strValue);
|
|
else if (start->nameKey == "Npost") m_Npost = (unsigned int)ConverType::TryToI(start->strValue);
|
|
else if (start->nameKey == "NpostMin") m_NpostMin = (unsigned int)ConverType::TryToI(start->strValue);
|
|
else if (start->nameKey == "NpostMax") m_NpostMax = (unsigned int)ConverType::TryToI(start->strValue);
|
|
else if (start->nameKey == "m_Mode") m_Mode = ConverType::TryToI(start->strValue);
|
|
else if (start->nameKey == "Limite") m_Limite = (unsigned int)ConverType::TryToD(start->strValue);
|
|
else if (start->nameKey == "LimiteMin") m_LimiteMin = (unsigned int)ConverType::TryToD(start->strValue);
|
|
else if (start->nameKey == "LimiteMax") m_LimiteMax = (unsigned int)ConverType::TryToD(start->strValue);
|
|
|
|
}
|
|
}
|
|
|
|
string SkyWritingCfg::CONFIG_NAME = "SkyWriting";
|
|
string SkyWritingCfg::FIELD_IS_ENABLE = "is_enable";
|
|
string SkyWritingCfg::FIELD_TIMELAG = "timelag";
|
|
string SkyWritingCfg::FIELD_TIMELAG_MIN = "timelag_min";
|
|
string SkyWritingCfg::FIELD_TIMELAG_MAX = "timelag_max";
|
|
string SkyWritingCfg::FIELD_LASER_ON_SHIFT = "laser_on_shift";
|
|
string SkyWritingCfg::FIELD_LASER_ON_SHIFT_MIN = "laser_on_shift_min";
|
|
string SkyWritingCfg::FIELD_LASER_ON_SHIFT_MAX = "laser_on_shift_max";
|
|
string SkyWritingCfg::FIELD_NPREV = "nprev";
|
|
string SkyWritingCfg::FIELD_NPREV_MIN = "nprev_min";
|
|
string SkyWritingCfg::FIELD_NPREV_MAX = "nprev_max";
|
|
string SkyWritingCfg::FIELD_NPOST = "npost";
|
|
string SkyWritingCfg::FIELD_NPOST_MIN = "npost_min";
|
|
string SkyWritingCfg::FIELD_NPOST_MAX = "npost_max";
|
|
string SkyWritingCfg::FIELD_MODE = "mode";
|
|
string SkyWritingCfg::FIELD_LIMITE = "limite";
|
|
string SkyWritingCfg::FIELD_LIMITE_MIN = "limite_min";
|
|
string SkyWritingCfg::FIELD_LIMITE_MAX = "limite_max";
|