update for bf ftp
This commit is contained in:
parent
61ade5da83
commit
fdba64c004
@ -453,7 +453,7 @@ BOOLEAN CRYDevice::GetUnitYCIsForceArchive(int uid, int order) const
|
|||||||
if (uid < 0 || uid >= UNIT_NUM) return FALSE;
|
if (uid < 0 || uid >= UNIT_NUM) return FALSE;
|
||||||
pUnit = &config.units[uid];
|
pUnit = &config.units[uid];
|
||||||
if ((pUnit->state & 0x01) != TRUE) return FALSE;
|
if ((pUnit->state & 0x01) != TRUE) return FALSE;
|
||||||
if ((pUnit->state & 0x20) == 0x20) return TRUE;
|
if ((pUnit->state & 0x20) == 0x00) return TRUE; //没有启动ftp
|
||||||
if (order < 0 || order >= pUnit->yccount) return FALSE;
|
if (order < 0 || order >= pUnit->yccount) return FALSE;
|
||||||
pYC = &pUnit->ycs[order];
|
pYC = &pUnit->ycs[order];
|
||||||
udb = pYC->order;
|
udb = pYC->order;
|
||||||
@ -472,7 +472,7 @@ BOOLEAN CRYDevice::GetUnitYXIsForceArchive(int uid, int order) const
|
|||||||
if (uid < 0 || uid >= UNIT_NUM) return FALSE;
|
if (uid < 0 || uid >= UNIT_NUM) return FALSE;
|
||||||
pUnit = &config.units[uid];
|
pUnit = &config.units[uid];
|
||||||
if ((pUnit->state & 0x01) != TRUE) return FALSE;
|
if ((pUnit->state & 0x01) != TRUE) return FALSE;
|
||||||
if ((pUnit->state & 0x20) == 0x20) return TRUE;
|
if ((pUnit->state & 0x20) == 0x00) return TRUE; //没有启动ftp
|
||||||
if (order < 0 || order >= pUnit->yxcount) return FALSE;
|
if (order < 0 || order >= pUnit->yxcount) return FALSE;
|
||||||
pYX = &pUnit->yxs[order];
|
pYX = &pUnit->yxs[order];
|
||||||
udb = pYX->order;
|
udb = pYX->order;
|
||||||
|
@ -19,175 +19,209 @@
|
|||||||
|
|
||||||
|
|
||||||
static datalen2mbaddrmap m_datalen2mbaddr_map;
|
static datalen2mbaddrmap m_datalen2mbaddr_map;
|
||||||
static struDataLengthMBAddr m_datalen_mbaddr[] = {
|
static struDataLengthADSAddr m_datalen_adsaddr[] = {
|
||||||
{ 1, 400 },
|
{ 2,421,0.1 },
|
||||||
{ 1, 402 },
|
{ 2,409,0.1 },
|
||||||
{ 1, 404 },
|
{ 2,445,0.01 },
|
||||||
{ 4, 421 },
|
{ 2,659,0.001 },
|
||||||
{ 4, 409 },
|
{ 2,663,0.001 },
|
||||||
{ 4, 445 },
|
{ 2,400,1 },
|
||||||
{ 4, 659 },
|
{ 2,402,1 },
|
||||||
{ 4, 663 },
|
{ 2,404,1 },
|
||||||
{ 4, 425 },
|
{ 2,449,0.01 },
|
||||||
{ 4, 413 },
|
{ 2,425,0.1 },
|
||||||
{ 4, 449 },
|
{ 2,413,0.1 },
|
||||||
{ 4, 429 },
|
{ 2,-600,0.1 },
|
||||||
{ 4, 417 },
|
{ 2,655,0.1 },
|
||||||
{ 4, 453 },
|
{ 2,715,0.1 },
|
||||||
{ 4, 683 },
|
{ 2,461,0.1 },
|
||||||
{ 4, 643 },
|
{ 2,493,0.1 },
|
||||||
{ 4, 647 },
|
{ 2,-600,0.1 },
|
||||||
{ 4, 651 },
|
{ 2,497,0.1 },
|
||||||
{ 4, 711 },
|
{ 2,501,0.01 },
|
||||||
{ 4, 655 },
|
{ 2,433,0.01 },
|
||||||
{ 4, 715 },
|
{ 2,437,0.01 },
|
||||||
{ 4, 703 },
|
{ 2,441,0.01 },
|
||||||
{ 4, 707 },
|
{ 2,687,0.01 },
|
||||||
{ 4, 457 },
|
{ 2,691,0.01 },
|
||||||
{ 4, 461 },
|
{ 2,695,0.01 },
|
||||||
{ 4, 493 },
|
{ 2,517,0.1 },
|
||||||
{ 4, 497 },
|
{ 2,-600,0.1 },
|
||||||
{ 4, 501 },
|
{ 2,-600,1 },
|
||||||
{ 4, 433 },
|
{ 2,-600,1 },
|
||||||
{ 4, 437 },
|
{ 2,-600,1 },
|
||||||
{ 4, 441 },
|
{ 2,-600,1 },
|
||||||
{ 4, 687 },
|
{ 2,-600,1 },
|
||||||
{ 4, 691 },
|
{ 2,-600,1 },
|
||||||
{ 4, 695 },
|
{ 2,-600,1 },
|
||||||
{ 4, 517 },
|
{ 2,-600,1 },
|
||||||
{ 4, 465 },
|
{ 4,-600,1 },
|
||||||
{ 4, 469 },
|
{ 4,-600,1 },
|
||||||
{ 4, 473 },
|
{ 4,-600,1 },
|
||||||
{ 4, 477 },
|
{ 4,-600,1 },
|
||||||
{ 4, 481 },
|
{ 4,-600,1 },
|
||||||
{ 4, 485 },
|
{ 4,-600,1 },
|
||||||
{ 4, 489 },
|
{ 4,-600,1 },
|
||||||
{ 4, 675 },
|
{ 4,-600,1 },
|
||||||
{ 4, 679 },
|
{ 2,465,0.01 },
|
||||||
{ 4, 505 },
|
{ 2,469,0.1 },
|
||||||
{ 4, 509 },
|
{ 2,473,0.1 },
|
||||||
{ 4, 513 },
|
{ 2,477,0.1 },
|
||||||
{ 4, 667 },
|
{ 2,481,0.1 },
|
||||||
{ 4, 671 },
|
{ 2,485,0.1 },
|
||||||
{ 4, 2 },
|
{ 2,489,0.1 },
|
||||||
{ 4, 6 },
|
{ 2,-600,0.1 },
|
||||||
{ 4, 10 },
|
{ 2,-600,0.1 },
|
||||||
{ 4, 14 },
|
{ 2,-600,0.1 },
|
||||||
{ 4, 18 },
|
{ 2,-600,0.01 },
|
||||||
{ 4, 22 },
|
{ 2,-600,0.01 },
|
||||||
{ 4, 26 },
|
{ 2,-600,0.01 },
|
||||||
{ 4, 30 },
|
{ 2,457,0.001 },
|
||||||
{ 4, 34 },
|
{ 2,-600,0.1 },
|
||||||
{ 4, 38 },
|
{ 2,-600,0.1 },
|
||||||
{ 4, 42 },
|
{ 2,675,0.1 },
|
||||||
{ 4, 46 },
|
{ 2,505,0.1 },
|
||||||
{ 4, 50 },
|
{ 2,509,0.1 },
|
||||||
{ 4, 54 },
|
{ 2,513,0.1 },
|
||||||
{ 4, 58 },
|
{ 2,2,0.1 },
|
||||||
{ 4, 62 },
|
{ 2,14,0.1 },
|
||||||
{ 4, 66 },
|
{ 2,26,0.1 },
|
||||||
{ 4, 70 },
|
{ 2,38,0.1 },
|
||||||
{ 4, 74 },
|
{ 2,50,0.1 },
|
||||||
{ 4, 78 },
|
{ 2,62,0.1 },
|
||||||
{ 4, 82 },
|
{ 2,74,0.1 },
|
||||||
{ 4, 86 },
|
{ 2,-600,0.1 },
|
||||||
{ 4, 90 },
|
{ 2,98,0.1 },
|
||||||
{ 4, 94 },
|
{ 2,110,0.1 },
|
||||||
{ 4, 98 },
|
{ 2,122,0.1 },
|
||||||
{ 4, 102 },
|
{ 2,-600,0.1 },
|
||||||
{ 4, 106 },
|
{ 2,-600,0.1 },
|
||||||
{ 4, 110 },
|
{ 2,-600,0.1 },
|
||||||
{ 4, 114 },
|
{ 2,-600,0.1 },
|
||||||
{ 4, 118 },
|
{ 2,-600,0.1 },
|
||||||
{ 4, 122 },
|
{ 2,-600,0.1 },
|
||||||
{ 4, 126 },
|
{ 2,-600,0.1 },
|
||||||
{ 4, 130 },
|
{ 2,-600,0.1 },
|
||||||
{ 4, 134 },
|
{ 2,-600,0.1 },
|
||||||
{ 4, 138 },
|
{ 2,-600,0.1 },
|
||||||
{ 4, 142 },
|
{ 2,-600,0.1 },
|
||||||
{ 4, 146 },
|
{ 2,-600,0.1 },
|
||||||
{ 4, 150 },
|
{ 2,-600,0.1 },
|
||||||
{ 4, 154 },
|
{ 2,134,0.1 },
|
||||||
{ 4, 158 },
|
{ 2,146,0.1 },
|
||||||
{ 4, 162 },
|
{ 2,158,0.1 },
|
||||||
{ 4, 166 },
|
{ 2,170,0.1 },
|
||||||
{ 4, 170 },
|
{ 2,182,0.1 },
|
||||||
{ 4, 174 },
|
{ 2,206,0.1 },
|
||||||
{ 4, 178 },
|
{ 2,218,0.1 },
|
||||||
{ 4, 182 },
|
{ 2,230,0.1 },
|
||||||
{ 4, 186 },
|
{ 2,242,0.1 },
|
||||||
{ 4, 190 },
|
{ 2,254,0.1 },
|
||||||
{ 4, 194 },
|
{ 2,266,0.1 },
|
||||||
{ 4, 198 },
|
{ 2,521,0.001 },
|
||||||
{ 4, 202 },
|
{ 2,525,0.001 },
|
||||||
{ 4, 206 },
|
{ 4,537,1 },
|
||||||
{ 4, 210 },
|
{ 4,533,1 },
|
||||||
{ 4, 214 },
|
{ 4,545,1 },
|
||||||
{ 4, 218 },
|
{ 4,541,1 },
|
||||||
{ 4, 222 },
|
{ 4,-600,1 },
|
||||||
{ 4, 226 },
|
{ 4,-600,1 },
|
||||||
{ 4, 230 },
|
{ 2,549,1 },
|
||||||
{ 4, 234 },
|
{ 2,551,1 },
|
||||||
{ 4, 238 },
|
{ 2,553,1 },
|
||||||
{ 4, 242 },
|
{ 2,555,1 },
|
||||||
{ 4, 246 },
|
{ 2,557,1 },
|
||||||
{ 4, 250 },
|
{ 2,559,1 },
|
||||||
{ 4, 254 },
|
{ 2,561,1 },
|
||||||
{ 4, 258 },
|
{ 2,563,1 },
|
||||||
{ 4, 262 },
|
{ 2,565,1 },
|
||||||
{ 4, 266 },
|
{ 2,567,1 },
|
||||||
{ 4, 270 },
|
{ 2,569,1 },
|
||||||
{ 4, 274 },
|
{ 2,571,1 },
|
||||||
{ 4, 521 },
|
{ 2,573,1 },
|
||||||
{ 4, 525 },
|
{ 2,575,1 },
|
||||||
{ 4, 537 },
|
{ 2,577,1 },
|
||||||
{ 4, 533 },
|
{ 2,579,1 },
|
||||||
{ 4, 545 },
|
{ 2,581,1 },
|
||||||
{ 4, 541 },
|
{ 2,583,1 },
|
||||||
{ 4, 699 },
|
{ 2,585,1 },
|
||||||
{ 4, 639 },
|
{ 2,587,1 },
|
||||||
{ 4, 631 },
|
{ 2,589,1 },
|
||||||
{ 4, 635 },
|
{ 2,591,1 },
|
||||||
{ 1, 407 },
|
{ 2,593,1 },
|
||||||
{ 1, 406 },
|
{ 2,595,1 },
|
||||||
{ 1, 408 },
|
{ 2,597,1 },
|
||||||
{ 2, 549 },
|
{ 2,599,1 },
|
||||||
{ 2, 551 },
|
{ 2,601,1 },
|
||||||
{ 2, 553 },
|
{ 2,603,1 },
|
||||||
{ 2, 555 },
|
{ 2,605,1 },
|
||||||
{ 2, 557 },
|
{ 2,607,1 },
|
||||||
{ 2, 559 },
|
{ 2,609,1 },
|
||||||
{ 2, 561 },
|
{ 2,611,1 },
|
||||||
{ 2, 563 },
|
{ 2,613,1 },
|
||||||
{ 2, 565 },
|
{ 2,615,1 },
|
||||||
{ 2, 567 },
|
{ 2,617,1 },
|
||||||
{ 2, 569 },
|
{ 2,619,1 },
|
||||||
{ 2, 571 },
|
{ 2,621,1 },
|
||||||
{ 2, 573 },
|
{ 2,623,1 },
|
||||||
{ 2, 575 },
|
{ 2,625,1 },
|
||||||
{ 2, 577 },
|
{ 2,627,1 },
|
||||||
{ 2, 579 },
|
{ 2,629,1 },
|
||||||
{ 2, 581 },
|
{ 2,-600,1 },
|
||||||
{ 2, 583 },
|
{ 2,-600,1 },
|
||||||
{ 2, 585 },
|
{ 2,-600,1 },
|
||||||
{ 2, 587 },
|
{ 2,-600,1 },
|
||||||
{ 2, 589 },
|
{ 2,-600,1 },
|
||||||
{ 2, 591 },
|
{ 2,-600,1 },
|
||||||
{ 2, 593 },
|
{ 2,-600,1 },
|
||||||
{ 2, 595 },
|
{ 2,-600,1 },
|
||||||
{ 2, 597 },
|
{ 2,-600,1 },
|
||||||
{ 2, 599 },
|
{ 2,-600,0.1 },
|
||||||
{ 2, 601 },
|
{ 2,429,0.1 },
|
||||||
{ 2, 611 },
|
{ 2,-600,0.1 },
|
||||||
{ 2, 603 },
|
{ 2,417,0.1 },
|
||||||
{ 2, 609 },
|
{ 2,-600,0.01 },
|
||||||
{ 2, 613 },
|
{ 2,453,0.01 },
|
||||||
{ 2, 615 },
|
{ 2,683,0.01 },
|
||||||
{ 2, 617 },
|
{ 2,-600,0.1 },
|
||||||
{ 2, 619 },
|
{ 4,639,1 },
|
||||||
{ 2, 623 }
|
{ 4,631,1 },
|
||||||
|
{ 4,635,1 },
|
||||||
|
{ 2,643,0.01 },
|
||||||
|
{ 2,647,0.01 },
|
||||||
|
{ 2,651,0.01 },
|
||||||
|
{ 2,679,0.1 },
|
||||||
|
{ 2,703,0.001 },
|
||||||
|
{ 2,707,0.001 },
|
||||||
|
{ 2,667,0.001 },
|
||||||
|
{ 2,671,0.001 },
|
||||||
|
{ 2,194,0.1 },
|
||||||
|
{ 2,699,1 },
|
||||||
|
{ 2,10,0.1 }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
float adsGetUnitYCRealFromValue(int uid, int order, LONG value)
|
||||||
|
{
|
||||||
|
if (uid < 0 || uid >= UNIT_NUM) return 0;
|
||||||
|
if (order < 1 || order > (int)(sizeof(m_datalen_adsaddr) / sizeof(m_datalen_adsaddr[0]))) return FALSE;
|
||||||
|
float coef = m_datalen_adsaddr[order - 1].coef;
|
||||||
|
return (float)(value * coef);
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOLEAN adsGetUnitYCIsFloat(int uid, int order)
|
||||||
|
{
|
||||||
|
float coef = 1.0f;
|
||||||
|
|
||||||
|
if (uid < 0 || uid >= UNIT_NUM) return FALSE;
|
||||||
|
if (order < 1 || order > (int)(sizeof(m_datalen_adsaddr) / sizeof(m_datalen_adsaddr[0]))) return FALSE;
|
||||||
|
|
||||||
|
coef = m_datalen_adsaddr[order - 1].coef;
|
||||||
|
|
||||||
|
if (fabsf(coef) <= 1E-8) coef = 1.0f;
|
||||||
|
if (fabsf(coef - 1.0f) <= 1E-8) return FALSE;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static bool publish_sensor_data(const char* command, const Json::Value payload)
|
static bool publish_sensor_data(const char* command, const Json::Value payload)
|
||||||
{
|
{
|
||||||
@ -261,7 +295,7 @@ static BOOLEAN GetYCValue(const int order, const FIELDDES* fields, const char* p
|
|||||||
{
|
{
|
||||||
if (pData == NULL) return FALSE;
|
if (pData == NULL) return FALSE;
|
||||||
if (fields == NULL) return FALSE;
|
if (fields == NULL) return FALSE;
|
||||||
if (order < 0 || order >= (int)(sizeof(m_datalen_mbaddr) / sizeof(m_datalen_mbaddr[0]))) return FALSE;
|
if (order < 0 || order >= (int)(sizeof(m_datalen_adsaddr) / sizeof(m_datalen_adsaddr[0]))) return FALSE;
|
||||||
int start = fields[order].start;
|
int start = fields[order].start;
|
||||||
if (fields[order].length == sizeof(DWORD))
|
if (fields[order].length == sizeof(DWORD))
|
||||||
{ //4字节
|
{ //4字节
|
||||||
@ -283,7 +317,7 @@ static BOOLEAN GetYXValue(const int order, const FIELDDES* fields, const char* p
|
|||||||
if (pData == NULL) return FALSE;
|
if (pData == NULL) return FALSE;
|
||||||
if (fields == NULL) return FALSE;
|
if (fields == NULL) return FALSE;
|
||||||
if (pos < 0 || pos >= 16) return FALSE;
|
if (pos < 0 || pos >= 16) return FALSE;
|
||||||
if (order < 0 || order >= (int)(sizeof(m_datalen_mbaddr) / sizeof(m_datalen_mbaddr[0]))) return FALSE;
|
if (order < 0 || order >= (int)(sizeof(m_datalen_adsaddr) / sizeof(m_datalen_adsaddr[0]))) return FALSE;
|
||||||
int start = fields[order].start;
|
int start = fields[order].start;
|
||||||
if (fields[order].length == sizeof(WORD))
|
if (fields[order].length == sizeof(WORD))
|
||||||
{
|
{
|
||||||
@ -404,8 +438,8 @@ static void* ryftp_process(void* param)
|
|||||||
snprintf(ipaddress, sizeof(ipaddress), "%s", mbt->getRemoteIp());
|
snprintf(ipaddress, sizeof(ipaddress), "%s", mbt->getRemoteIp());
|
||||||
|
|
||||||
|
|
||||||
for (int i = 0; i < (int)(sizeof(m_datalen_mbaddr) / sizeof(m_datalen_mbaddr[0])); i++) {
|
for (int i = 0; i < (int)(sizeof(m_datalen_adsaddr) / sizeof(m_datalen_adsaddr[0])); i++) {
|
||||||
m_datalen2mbaddr_map.insert(datalen2mbaddrmap::value_type(m_datalen_mbaddr[i].address, i + 1));
|
m_datalen2mbaddr_map.insert(datalen2mbaddrmap::value_type(m_datalen_adsaddr[i].address, i + 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
//struRYDeviceData t_data;
|
//struRYDeviceData t_data;
|
||||||
@ -428,12 +462,12 @@ static void* ryftp_process(void* param)
|
|||||||
if (GetUnitYCType(uid, i)) {
|
if (GetUnitYCType(uid, i)) {
|
||||||
if (m_datalen2mbaddr_map.find(register_addr) != m_datalen2mbaddr_map.end()) {
|
if (m_datalen2mbaddr_map.find(register_addr) != m_datalen2mbaddr_map.end()) {
|
||||||
highspeedmap.insert(datatypemap::value_type(i, m_datalen2mbaddr_map[register_addr])); //point-配置的序号,order-数据文件序号
|
highspeedmap.insert(datatypemap::value_type(i, m_datalen2mbaddr_map[register_addr])); //point-配置的序号,order-数据文件序号
|
||||||
//vLog(LOG_DEBUG, "register_addr is: %d, point is: %d, and order is: %d\n", register_addr, i, m_datalen2mbaddr_map[register_addr]);
|
//fprintf(stderr, "%s register_addr is: %d, point is: %d, and order is: %d\n", config.units[uid].ycs[i].name, register_addr, i, m_datalen2mbaddr_map[register_addr]);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (m_datalen2mbaddr_map.find(register_addr) != m_datalen2mbaddr_map.end()) {
|
if (m_datalen2mbaddr_map.find(register_addr) != m_datalen2mbaddr_map.end()) {
|
||||||
lowspeedmap.insert(datatypemap::value_type(i, m_datalen2mbaddr_map[register_addr])); //point-配置的序号,order-数据文件序号
|
lowspeedmap.insert(datatypemap::value_type(i, m_datalen2mbaddr_map[register_addr])); //point-配置的序号,order-数据文件序号
|
||||||
//vLog(LOG_DEBUG, "register_addr is: %d, point is: %d, and order is: %d\n", register_addr, i, m_datalen2mbaddr_map[register_addr]);
|
//fprintf(stderr, "%s register_addr is: %d, point is: %d, and order is: %d\n", config.units[uid].ycs[i].name, register_addr, i, m_datalen2mbaddr_map[register_addr]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -510,6 +544,7 @@ static void* ryftp_process(void* param)
|
|||||||
st.year + 2000, st.month, st.dayofmonth, \
|
st.year + 2000, st.month, st.dayofmonth, \
|
||||||
st.hour, st.minute, st.millisecond/1000, st.millisecond%1000);
|
st.hour, st.minute, st.millisecond/1000, st.millisecond%1000);
|
||||||
#endif
|
#endif
|
||||||
|
//vLog(LOG_DEBUG, "data.iPitchAngle1 is: %d, data.iPitchAngle2 is: %d, and data.iPitchAngle3 is: %d\n", data->iPitchAngle1, data->iPitchAngle2, data->iPitchAngle3);
|
||||||
//如何将结构化数据传入,且快速获取
|
//如何将结构化数据传入,且快速获取
|
||||||
Json::Value highspeedvalues;
|
Json::Value highspeedvalues;
|
||||||
for (datatypemap::iterator it = highspeedmap.begin(); it != highspeedmap.end(); it++) {
|
for (datatypemap::iterator it = highspeedmap.begin(); it != highspeedmap.end(); it++) {
|
||||||
@ -518,8 +553,9 @@ static void* ryftp_process(void* param)
|
|||||||
int order = it->first;
|
int order = it->first;
|
||||||
int point = it->second;
|
int point = it->second;
|
||||||
if (GetYCValue(point, fields, (const char *)data, dvalue)) {
|
if (GetYCValue(point, fields, (const char *)data, dvalue)) {
|
||||||
if (GetUnitYCIsFloat(uid, order)) {
|
if (adsGetUnitYCIsFloat(uid, point)) {
|
||||||
highspeedvalues[(const char *)config.units[uid].ycs[order].name] = GetUnitYCRealFromValue(uid, order, dvalue);
|
//fprintf(stderr, "%s, ", config.units[uid].ycs[order].name);
|
||||||
|
highspeedvalues[(const char *)config.units[uid].ycs[order].name] = adsGetUnitYCRealFromValue(uid, point, dvalue);
|
||||||
} else {
|
} else {
|
||||||
highspeedvalues[(const char *)config.units[uid].ycs[order].name] = dvalue;
|
highspeedvalues[(const char *)config.units[uid].ycs[order].name] = dvalue;
|
||||||
}
|
}
|
||||||
@ -542,8 +578,9 @@ static void* ryftp_process(void* param)
|
|||||||
int point = it->second;
|
int point = it->second;
|
||||||
if (GetYCValue(point, fields, (const char *)data, dvalue)) {
|
if (GetYCValue(point, fields, (const char *)data, dvalue)) {
|
||||||
//fprintf(stderr, "get<%d> value is: %d.\n", point, dvalue);
|
//fprintf(stderr, "get<%d> value is: %d.\n", point, dvalue);
|
||||||
if (GetUnitYCIsFloat(uid, order)) {
|
if (adsGetUnitYCIsFloat(uid, point)) {
|
||||||
lowspeedvalues[(const char *)config.units[uid].ycs[order].name] = GetUnitYCRealFromValue(uid, order, dvalue);
|
//fprintf(stderr, "%s, ", config.units[uid].ycs[order].name);
|
||||||
|
lowspeedvalues[(const char *)config.units[uid].ycs[order].name] = adsGetUnitYCRealFromValue(uid, point, dvalue);
|
||||||
} else {
|
} else {
|
||||||
lowspeedvalues[(const char *)config.units[uid].ycs[order].name] = dvalue;
|
lowspeedvalues[(const char *)config.units[uid].ycs[order].name] = dvalue;
|
||||||
}
|
}
|
||||||
|
@ -291,7 +291,7 @@ static BOOLEAN GetYCValue(const int order, const FIELDDES* fields, const char* p
|
|||||||
{
|
{
|
||||||
if (pData == NULL) return FALSE;
|
if (pData == NULL) return FALSE;
|
||||||
if (fields == NULL) return FALSE;
|
if (fields == NULL) return FALSE;
|
||||||
if (order < 0 || order >= (int)(sizeof(m_datalen_mbaddr) / sizeof(m_datalen_mbaddr[0]))) return FALSE;
|
if (order < 1 || order > (int)(sizeof(m_datalen_mbaddr) / sizeof(m_datalen_mbaddr[0]))) return FALSE;
|
||||||
int start = fields[order].start;
|
int start = fields[order].start;
|
||||||
if (fields[order].length == sizeof(DWORD))
|
if (fields[order].length == sizeof(DWORD))
|
||||||
{ //4字节
|
{ //4字节
|
||||||
@ -313,7 +313,7 @@ static BOOLEAN GetYXValue(const int order, const FIELDDES* fields, const char* p
|
|||||||
if (pData == NULL) return FALSE;
|
if (pData == NULL) return FALSE;
|
||||||
if (fields == NULL) return FALSE;
|
if (fields == NULL) return FALSE;
|
||||||
if (pos < 0 || pos >= 16) return FALSE;
|
if (pos < 0 || pos >= 16) return FALSE;
|
||||||
if (order < 0 || order >= (int)(sizeof(m_datalen_mbaddr) / sizeof(m_datalen_mbaddr[0]))) return FALSE;
|
if (order < 1 || order > (int)(sizeof(m_datalen_mbaddr) / sizeof(m_datalen_mbaddr[0]))) return FALSE;
|
||||||
int start = fields[order].start;
|
int start = fields[order].start;
|
||||||
if (fields[order].length == sizeof(WORD))
|
if (fields[order].length == sizeof(WORD))
|
||||||
{
|
{
|
||||||
|
@ -26,6 +26,12 @@ typedef struct {
|
|||||||
int address;
|
int address;
|
||||||
} struDataLengthMBAddr;
|
} struDataLengthMBAddr;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
int length;
|
||||||
|
int address;
|
||||||
|
float coef;
|
||||||
|
} struDataLengthADSAddr;
|
||||||
|
|
||||||
struct memory {
|
struct memory {
|
||||||
char *response;
|
char *response;
|
||||||
size_t size;
|
size_t size;
|
||||||
|
Loading…
Reference in New Issue
Block a user