add eigenvalue codes
This commit is contained in:
parent
ac2d4163fb
commit
faa1938e82
@ -190,7 +190,7 @@ void JsonData::CmtCmd_82(char* MeasurementID,char* send_data,int& channel,int& s
|
|||||||
{
|
{
|
||||||
FILE* pFile = NULL;
|
FILE* pFile = NULL;
|
||||||
char* buffer = NULL;
|
char* buffer = NULL;
|
||||||
int thisSize = 0;
|
int thisSize = 32;
|
||||||
WaveRes wave;
|
WaveRes wave;
|
||||||
char whereCon[64]={0};
|
char whereCon[64]={0};
|
||||||
sprintf(whereCon,"MeasurementID = '%s'",MeasurementID);
|
sprintf(whereCon,"MeasurementID = '%s'",MeasurementID);
|
||||||
@ -217,7 +217,6 @@ void JsonData::CmtCmd_82(char* MeasurementID,char* send_data,int& channel,int& s
|
|||||||
buffer = (char*)malloc(thisSize - 32);
|
buffer = (char*)malloc(thisSize - 32);
|
||||||
fread(buffer, sizeof(char), thisSize - 32, pFile);
|
fread(buffer, sizeof(char), thisSize - 32, pFile);
|
||||||
fclose(pFile);
|
fclose(pFile);
|
||||||
}
|
|
||||||
wave.sampling_rate = atoi(vecRes[0].c_str());
|
wave.sampling_rate = atoi(vecRes[0].c_str());
|
||||||
wave.sampling_time = atoi(vecRes[1].c_str());
|
wave.sampling_time = atoi(vecRes[1].c_str());
|
||||||
wave.version = 1;
|
wave.version = 1;
|
||||||
@ -225,6 +224,8 @@ void JsonData::CmtCmd_82(char* MeasurementID,char* send_data,int& channel,int& s
|
|||||||
memcpy(send_data,(char*)&wave,sizeof(WaveRes));
|
memcpy(send_data,(char*)&wave,sizeof(WaveRes));
|
||||||
memcpy(send_data + sizeof(WaveRes) ,buffer,thisSize - 32);
|
memcpy(send_data + sizeof(WaveRes) ,buffer,thisSize - 32);
|
||||||
free(buffer);
|
free(buffer);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void JsonData::CmtCmd_83(char* recv_body,int& count,char* send_data,int& send_length)
|
void JsonData::CmtCmd_83(char* recv_body,int& count,char* send_data,int& send_length)
|
||||||
@ -238,7 +239,6 @@ void JsonData::CmtCmd_83(char* recv_body,int& count,char* send_data,int& send_le
|
|||||||
for (size_t i = 0; i < count; i++){
|
for (size_t i = 0; i < count; i++){
|
||||||
char temp[21]={0};
|
char temp[21]={0};
|
||||||
memcpy(temp,recv_body + i * 20,20);
|
memcpy(temp,recv_body + i * 20,20);
|
||||||
printf("short_addr = %s\n",temp);
|
|
||||||
strcat(MeasurementID_,"'");
|
strcat(MeasurementID_,"'");
|
||||||
strcat(MeasurementID_,temp);
|
strcat(MeasurementID_,temp);
|
||||||
strcat(MeasurementID_,"'");
|
strcat(MeasurementID_,"'");
|
||||||
@ -402,7 +402,7 @@ void JsonData::CmtCmd_84(char* filename,char* file_md5,char* send_data,int& sen
|
|||||||
|
|
||||||
void JsonData::CmtCmd_85(char* filename,char* file_md5,char* send_data,int& send_length)
|
void JsonData::CmtCmd_85(char* filename,char* file_md5,char* send_data,int& send_length)
|
||||||
{
|
{
|
||||||
zlog_info(zct,"file_path = %s,file_md5 = %d",filename,file_md5);
|
zlog_info(zct,"file_path = %s,file_md5 = %s",filename,file_md5);
|
||||||
sleep(3);
|
sleep(3);
|
||||||
int iRet = system("/opt/opt.sh");
|
int iRet = system("/opt/opt.sh");
|
||||||
zlog_info(zct, "iRet = %d", iRet);
|
zlog_info(zct, "iRet = %d", iRet);
|
||||||
@ -413,7 +413,7 @@ void JsonData::CmtCmd_85(char* filename,char* file_md5,char* send_data,int& sen
|
|||||||
|
|
||||||
void JsonData::CmtCmd_86(char* recv_body,int& count,char* filename,char* file_md5,char* send_data,int& send_length)
|
void JsonData::CmtCmd_86(char* recv_body,int& count,char* filename,char* file_md5,char* send_data,int& send_length)
|
||||||
{
|
{
|
||||||
zlog_info(zct,"file_path = %s,file_md5 = %d",filename,file_md5);
|
zlog_info(zct,"file_path = %s,file_md5 = %s",filename,file_md5);
|
||||||
UpgradeSensorRes upgrade_sensor_res;
|
UpgradeSensorRes upgrade_sensor_res;
|
||||||
upgrade_sensor_res.code = 0;
|
upgrade_sensor_res.code = 0;
|
||||||
sprintf(upgrade_sensor_res.message ,"%s","");
|
sprintf(upgrade_sensor_res.message ,"%s","");
|
||||||
@ -508,8 +508,49 @@ void JsonData::CmtCmd_86(char* recv_body,int& count,char* filename,char* file_m
|
|||||||
}
|
}
|
||||||
free(buffer);
|
free(buffer);
|
||||||
}
|
}
|
||||||
|
void JsonData::CmtCmd_87(char* MeasurementID,char* send_data,int& send_length)
|
||||||
|
{
|
||||||
|
array_t arrRes;
|
||||||
|
GetEigenvalueRes get_eigenvalue_res;
|
||||||
|
char whereCon[128] = {};
|
||||||
|
sprintf(whereCon, "channelID like '%%%s%%' ORDER BY timeStamp DESC LIMIT 0,3", MeasurementID);
|
||||||
|
arrRes = sqlite_db_ctrl::instance().GetDataMultiLineTransaction(T_DATA_INFO(TNAME), "*", whereCon);
|
||||||
|
int iResult = arrRes.size();
|
||||||
|
if (iResult > 0) {
|
||||||
|
int j = 0;
|
||||||
|
GetEigenvalueRes get_eigenvalue_res[iResult];
|
||||||
|
for (; j < iResult; j++) {
|
||||||
|
get_eigenvalue_res[j].version = 1;
|
||||||
|
if(arrRes[j][1] == (std::string(MeasurementID) +"-X")){
|
||||||
|
get_eigenvalue_res[j].channel = 1;
|
||||||
|
}else if (arrRes[j][1] == (std::string(MeasurementID) +"-Y")){
|
||||||
|
get_eigenvalue_res[j].channel = 2;
|
||||||
|
}else if (arrRes[j][1] == (std::string(MeasurementID) +"-Z")){
|
||||||
|
get_eigenvalue_res[j].channel = 3;
|
||||||
|
}
|
||||||
|
printf("channle = %d\n",get_eigenvalue_res[j].channel);
|
||||||
|
get_eigenvalue_res[j].DiagnosisPk = atof(arrRes[j][2].c_str());
|
||||||
|
get_eigenvalue_res[j].IntegratPk = atof(arrRes[j][3].c_str());
|
||||||
|
get_eigenvalue_res[j].IntegratRMS = atof(arrRes[j][4].c_str());
|
||||||
|
get_eigenvalue_res[j].RmsValues = atof(arrRes[j][5].c_str());
|
||||||
|
get_eigenvalue_res[j].EnvelopEnergy = atof(arrRes[j][6].c_str());
|
||||||
|
get_eigenvalue_res[j].Amp1 = atof(arrRes[j][7].c_str());
|
||||||
|
get_eigenvalue_res[j].Amp2 = atof(arrRes[j][8].c_str());
|
||||||
|
get_eigenvalue_res[j].Amp3 = atof(arrRes[j][9].c_str());
|
||||||
|
get_eigenvalue_res[j].Amp4 = atof(arrRes[j][10].c_str());
|
||||||
|
get_eigenvalue_res[j].Amp5 = atof(arrRes[j][11].c_str());
|
||||||
|
get_eigenvalue_res[j].Phase1 = atof(arrRes[j][12].c_str());
|
||||||
|
get_eigenvalue_res[j].Phase2 = atof(arrRes[j][13].c_str());
|
||||||
|
get_eigenvalue_res[j].Phase3 = atof(arrRes[j][14].c_str());
|
||||||
|
get_eigenvalue_res[j].Phase4 = atof(arrRes[j][15].c_str());
|
||||||
|
get_eigenvalue_res[j].Time = atoi(arrRes[j][17].c_str());
|
||||||
|
}
|
||||||
|
memcpy(send_data,(char*)&get_eigenvalue_res,sizeof(GetEigenvalueRes) * j);
|
||||||
|
send_length = sizeof(GetEigenvalueRes) * j;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void JsonData::CmtCmd_88(char* recv_body,int& count)
|
void JsonData::CmtCmd_88(int& short_addr,char* send_data,int& send_length)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -76,14 +76,15 @@ public:
|
|||||||
std::string JsonCmd_Cgi_default();
|
std::string JsonCmd_Cgi_default();
|
||||||
|
|
||||||
//CMT tcp
|
//CMT tcp
|
||||||
void CmtCmd_80(char* send_data,int& return_length);
|
void CmtCmd_80(char* send_data,int& send_length);
|
||||||
void CmtCmd_81(char* recv_body,int& count,char* send_data,int& return_length);
|
void CmtCmd_81(char* recv_body,int& count,char* send_data,int& send_length);
|
||||||
void CmtCmd_82(char* MeasurementID,char* send_data,int& channel,int& return_length);
|
void CmtCmd_82(char* MeasurementID,char* send_data,int& channel,int& send_length);
|
||||||
void CmtCmd_83(char* recv_body,int& count,char* send_data,int& return_length);
|
void CmtCmd_83(char* recv_body,int& count,char* send_data,int& send_length);
|
||||||
void CmtCmd_84(char* filename,char* file_md5,char* send_data,int& send_length);
|
void CmtCmd_84(char* filename,char* file_md5,char* send_data,int& send_length);
|
||||||
void CmtCmd_85(char* filename,char* file_md5,char* send_data,int& send_length);
|
void CmtCmd_85(char* filename,char* file_md5,char* send_data,int& send_length);
|
||||||
void CmtCmd_86(char* recv_body,int& count,char* filename,char* file_md5,char* send_data,int& send_length);
|
void CmtCmd_86(char* recv_body,int& count,char* filename,char* file_md5,char* send_data,int& send_length);
|
||||||
void CmtCmd_88(char* recv_body,int& count);
|
void CmtCmd_87(char* MeasurementID,char* send_data,int& send_length);
|
||||||
|
void CmtCmd_88(int& short_addr,char* send_data,int& send_length);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Json::FastWriter show_value_;
|
Json::FastWriter show_value_;
|
||||||
|
|||||||
@ -87,20 +87,12 @@ void LocalServer::HandleTcp_cmd(const char* recv_data,char* send_data,uint8_t& r
|
|||||||
jd.CmtCmd_86(recv_body,count,upgrade_sensor.filename,upgrade_sensor.md5,send_data,send_length);
|
jd.CmtCmd_86(recv_body,count,upgrade_sensor.filename,upgrade_sensor.md5,send_data,send_length);
|
||||||
}break;
|
}break;
|
||||||
case KEigenvalue:{
|
case KEigenvalue:{
|
||||||
|
GetEigenvalueReq get_eigenvalue;
|
||||||
|
memcpy(&get_eigenvalue,recv_data + sizeof(PackageHead),sizeof(GetEigenvalueReq));
|
||||||
|
jd.CmtCmd_87(get_eigenvalue.measurement_id,send_data,send_length);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case KUpgradeSensorStop:{
|
case KUpgradeSensorStop:{
|
||||||
char *recv_body = NULL;
|
|
||||||
int count = 0;
|
|
||||||
if (recvbody_length > 0){
|
|
||||||
recv_body = (char*)malloc(recvbody_length - 4);
|
|
||||||
memcpy((char*)&count,(char*)recv_data + sizeof(PackageHead) ,4);
|
|
||||||
memcpy(recv_body,recv_data + sizeof(PackageHead) + 4 ,recvbody_length - 4);
|
|
||||||
}
|
|
||||||
UpgradeSensorReq upgrade_sensor;
|
|
||||||
memcpy(&upgrade_sensor,recv_data + sizeof(PackageHead),sizeof(UpgradeSensorReq));
|
|
||||||
jd.CmtCmd_88(recv_body,count);
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|||||||
@ -75,7 +75,7 @@ void CMTSession::do_read() {
|
|||||||
pkg_head.head[2] = 0xAA;
|
pkg_head.head[2] = 0xAA;
|
||||||
pkg_head.cmd = cmd;
|
pkg_head.cmd = cmd;
|
||||||
pkg_head.len = send_data_len;
|
pkg_head.len = send_data_len;
|
||||||
memset(data_,0,sizeof(data_));
|
memset(data_,0,CMT_TCP_LEN);
|
||||||
memcpy(data_, &pkg_head, head_len_);
|
memcpy(data_, &pkg_head, head_len_);
|
||||||
memcpy(data_ + head_len_, &send_data, send_data_len);
|
memcpy(data_ + head_len_, &send_data, send_data_len);
|
||||||
do_write(head_len_ + send_data_len);
|
do_write(head_len_ + send_data_len);
|
||||||
|
|||||||
@ -171,7 +171,28 @@ struct UpgradeSensorRes{
|
|||||||
char message[64];
|
char message[64];
|
||||||
};
|
};
|
||||||
//获取特征值 cmd 87
|
//获取特征值 cmd 87
|
||||||
|
struct GetEigenvalueReq{
|
||||||
|
char measurement_id[20];
|
||||||
|
};
|
||||||
|
struct GetEigenvalueRes{
|
||||||
|
int version;
|
||||||
|
int channel;//参考 ChannelType
|
||||||
|
float DiagnosisPk;
|
||||||
|
float IntegratPk;
|
||||||
|
float IntegratRMS;
|
||||||
|
float RmsValues;
|
||||||
|
float EnvelopEnergy;
|
||||||
|
float Amp1;
|
||||||
|
float Amp2;
|
||||||
|
float Amp3;
|
||||||
|
float Amp4;
|
||||||
|
float Amp5;
|
||||||
|
float Phase1;
|
||||||
|
float Phase2;
|
||||||
|
float Phase3;
|
||||||
|
float Phase4;
|
||||||
|
int Time;
|
||||||
|
};
|
||||||
|
|
||||||
//停止更新传感器 cmd 88
|
//停止更新传感器 cmd 88
|
||||||
struct UpgradeStopReq{
|
struct UpgradeStopReq{
|
||||||
|
|||||||
@ -599,7 +599,7 @@ void Uart::DealDataNodeName(const char *pData) {
|
|||||||
sprintf(szShortAdd, "%02x%02x", pData[3] & 0xFF, pData[4] & 0xFF);
|
sprintf(szShortAdd, "%02x%02x", pData[3] & 0xFF, pData[4] & 0xFF);
|
||||||
memcpy(NodeName, &pData[7], 64);
|
memcpy(NodeName, &pData[7], 64);
|
||||||
memcpy(shortAdd, &pData[3], 2);
|
memcpy(shortAdd, &pData[3], 2);
|
||||||
char whereCon[64] = {0};
|
char whereCon[128] = {0};
|
||||||
char uplCon[200] = {0x00};
|
char uplCon[200] = {0x00};
|
||||||
char nodeWaveSend[10] = {0x00};
|
char nodeWaveSend[10] = {0x00};
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user