From 5fb9b5d89e17c93169dd01c8b67ccb7ee6e2ac36 Mon Sep 17 00:00:00 2001 From: zhouhuang Date: Tue, 17 Dec 2024 13:38:57 +0800 Subject: [PATCH] update --- das-dn/hostadsbf/hostadsbf.cpp | 370 +++++++++++++------------- das-dn/hostadsbf/hostadsbf.h | 1 - das-dn/third_party/AdsLib/Sockets.cpp | 5 +- 3 files changed, 182 insertions(+), 194 deletions(-) diff --git a/das-dn/hostadsbf/hostadsbf.cpp b/das-dn/hostadsbf/hostadsbf.cpp index 6de3f500..0b4f78dd 100644 --- a/das-dn/hostadsbf/hostadsbf.cpp +++ b/das-dn/hostadsbf/hostadsbf.cpp @@ -20,184 +20,184 @@ static datalen2mbaddrmap m_datalen2mbaddr_map; static struDataLengthADSAddr m_datalen_adsaddr[] = { - { 2,421,0.1 }, - { 2,409,0.1 }, - { 2,445,0.01 }, - { 2,659,0.001 }, - { 2,663,0.001 }, - { 2,400,1 }, - { 2,402,1 }, - { 2,404,1 }, - { 2,449,0.01 }, - { 2,425,0.1 }, - { 2,413,0.1 }, - { 2,-600,0.1 }, - { 2,655,0.1 }, - { 2,715,0.1 }, - { 2,461,0.1 }, - { 2,493,0.1 }, - { 2,-600,0.1 }, - { 2,497,0.1 }, - { 2,501,0.01 }, - { 2,433,0.01 }, - { 2,437,0.01 }, - { 2,441,0.01 }, - { 2,687,0.01 }, - { 2,691,0.01 }, - { 2,695,0.01 }, - { 2,517,0.1 }, - { 2,-600,0.1 }, - { 2,-600,1 }, - { 2,-600,1 }, - { 2,-600,1 }, - { 2,-600,1 }, - { 2,-600,1 }, - { 2,-600,1 }, - { 2,-600,1 }, - { 2,-600,1 }, - { 4,-600,1 }, - { 4,-600,1 }, - { 4,-600,1 }, - { 4,-600,1 }, - { 4,-600,1 }, - { 4,-600,1 }, - { 4,-600,1 }, - { 4,-600,1 }, - { 2,465,0.01 }, - { 2,469,0.1 }, - { 2,473,0.1 }, - { 2,477,0.1 }, - { 2,481,0.1 }, - { 2,485,0.1 }, - { 2,489,0.1 }, - { 2,-600,0.1 }, - { 2,-600,0.1 }, - { 2,-600,0.1 }, - { 2,-600,0.01 }, - { 2,-600,0.01 }, - { 2,-600,0.01 }, - { 2,457,0.001 }, - { 2,-600,0.1 }, - { 2,-600,0.1 }, - { 2,675,0.1 }, - { 2,505,0.1 }, - { 2,509,0.1 }, - { 2,513,0.1 }, - { 2,2,0.1 }, - { 2,14,0.1 }, - { 2,26,0.1 }, - { 2,38,0.1 }, - { 2,50,0.1 }, - { 2,62,0.1 }, - { 2,74,0.1 }, - { 2,-600,0.1 }, - { 2,98,0.1 }, - { 2,110,0.1 }, - { 2,122,0.1 }, - { 2,-600,0.1 }, - { 2,-600,0.1 }, - { 2,-600,0.1 }, - { 2,-600,0.1 }, - { 2,-600,0.1 }, - { 2,-600,0.1 }, - { 2,-600,0.1 }, - { 2,-600,0.1 }, - { 2,-600,0.1 }, - { 2,-600,0.1 }, - { 2,-600,0.1 }, - { 2,-600,0.1 }, - { 2,-600,0.1 }, - { 2,134,0.1 }, - { 2,146,0.1 }, - { 2,158,0.1 }, - { 2,170,0.1 }, - { 2,182,0.1 }, - { 2,206,0.1 }, - { 2,218,0.1 }, - { 2,230,0.1 }, - { 2,242,0.1 }, - { 2,254,0.1 }, - { 2,266,0.1 }, - { 2,521,0.001 }, - { 2,525,0.001 }, - { 4,537,1 }, - { 4,533,1 }, - { 4,545,1 }, - { 4,541,1 }, - { 4,-600,1 }, - { 4,-600,1 }, - { 2,549,1 }, - { 2,551,1 }, - { 2,553,1 }, - { 2,555,1 }, - { 2,557,1 }, - { 2,559,1 }, - { 2,561,1 }, - { 2,563,1 }, - { 2,565,1 }, - { 2,567,1 }, - { 2,569,1 }, - { 2,571,1 }, - { 2,573,1 }, - { 2,575,1 }, - { 2,577,1 }, - { 2,579,1 }, - { 2,581,1 }, - { 2,583,1 }, - { 2,585,1 }, - { 2,587,1 }, - { 2,589,1 }, - { 2,591,1 }, - { 2,593,1 }, - { 2,595,1 }, - { 2,597,1 }, - { 2,599,1 }, - { 2,601,1 }, - { 2,603,1 }, - { 2,605,1 }, - { 2,607,1 }, - { 2,609,1 }, - { 2,611,1 }, - { 2,613,1 }, - { 2,615,1 }, - { 2,617,1 }, - { 2,619,1 }, - { 2,621,1 }, - { 2,623,1 }, - { 2,625,1 }, - { 2,627,1 }, - { 2,629,1 }, - { 2,-600,1 }, - { 2,-600,1 }, - { 2,-600,1 }, - { 2,-600,1 }, - { 2,-600,1 }, - { 2,-600,1 }, - { 2,-600,1 }, - { 2,-600,1 }, - { 2,-600,1 }, - { 2,-600,0.1 }, - { 2,429,0.1 }, - { 2,-600,0.1 }, - { 2,417,0.1 }, - { 2,-600,0.01 }, - { 2,453,0.01 }, - { 2,683,0.01 }, - { 2,-600,0.1 }, - { 4,639,1 }, - { 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 } + { 2, 421, 0.1 }, + { 2, 409, 0.1 }, + { 2, 445, 0.01 }, + { 2, 659, 0.001 }, + { 2, 663, 0.001 }, + { 2, 400, 1 }, + { 2, 402, 1 }, + { 2, 404, 1 }, + { 2, 449, 0.01 }, + { 2, 425, 0.1 }, + { 2, 413, 0.1 }, + { 2, -600, 0.1 }, + { 2, 655, 0.1 }, + { 2, 715, 0.1 }, + { 2, 461, 0.1 }, + { 2, 493, 0.1 }, + { 2, -600, 0.1 }, + { 2, 497, 0.1 }, + { 2, 501, 0.01 }, + { 2, 433, 0.01 }, + { 2, 437, 0.01 }, + { 2, 441, 0.01 }, + { 2, 687, 0.01 }, + { 2, 691, 0.01 }, + { 2, 695, 0.01 }, + { 2, 517, 0.1 }, + { 2, -600, 0.1 }, + { 2, -600, 1 }, + { 2, -600, 1 }, + { 2, -600, 1 }, + { 2, -600, 1 }, + { 2, -600, 1 }, + { 2, -600, 1 }, + { 2, -600, 1 }, + { 2, -600, 1 }, + { 4, -600, 1 }, + { 4, -600, 1 }, + { 4, -600, 1 }, + { 4, -600, 1 }, + { 4, -600, 1 }, + { 4, -600, 1 }, + { 4, -600, 1 }, + { 4, -600, 1 }, + { 2, 465, 0.01 }, + { 2, 469, 0.1 }, + { 2, 473, 0.1 }, + { 2, 477, 0.1 }, + { 2, 481, 0.1 }, + { 2, 485, 0.1 }, + { 2, 489, 0.1 }, + { 2, -600, 0.1 }, + { 2, -600, 0.1 }, + { 2, -600, 0.1 }, + { 2, -600, 0.01 }, + { 2, -600, 0.01 }, + { 2, -600, 0.01 }, + { 2, 457, 0.001 }, + { 2, -600, 0.1 }, + { 2, -600, 0.1 }, + { 2, 675, 0.1 }, + { 2, 505, 0.1 }, + { 2, 509, 0.1 }, + { 2, 513, 0.1 }, + { 2, 2, 0.1 }, + { 2, 14, 0.1 }, + { 2, 26, 0.1 }, + { 2, 38, 0.1 }, + { 2, 50, 0.1 }, + { 2, 62, 0.1 }, + { 2, 74, 0.1 }, + { 2, -600, 0.1 }, + { 2, 98, 0.1 }, + { 2, 110, 0.1 }, + { 2, 122, 0.1 }, + { 2, -600, 0.1 }, + { 2, -600, 0.1 }, + { 2, -600, 0.1 }, + { 2, -600, 0.1 }, + { 2, -600, 0.1 }, + { 2, -600, 0.1 }, + { 2, -600, 0.1 }, + { 2, -600, 0.1 }, + { 2, -600, 0.1 }, + { 2, -600, 0.1 }, + { 2, -600, 0.1 }, + { 2, -600, 0.1 }, + { 2, -600, 0.1 }, + { 2, 134, 0.1 }, + { 2, 146, 0.1 }, + { 2, 158, 0.1 }, + { 2, 170, 0.1 }, + { 2, 182, 0.1 }, + { 2, 206, 0.1 }, + { 2, 218, 0.1 }, + { 2, 230, 0.1 }, + { 2, 242, 0.1 }, + { 2, 254, 0.1 }, + { 2, 266, 0.1 }, + { 2, 521, 0.001 }, + { 2, 525, 0.001 }, + { 4, 537, 1 }, + { 4, 533, 1 }, + { 4, 545, 1 }, + { 4, 541, 1 }, + { 4, -600, 1 }, + { 4, -600, 1 }, + { 2, 549, 1 }, + { 2, 551, 1 }, + { 2, 553, 1 }, + { 2, 555, 1 }, + { 2, 557, 1 }, + { 2, 559, 1 }, + { 2, 561, 1 }, + { 2, 563, 1 }, + { 2, 565, 1 }, + { 2, 567, 1 }, + { 2, 569, 1 }, + { 2, 571, 1 }, + { 2, 573, 1 }, + { 2, 575, 1 }, + { 2, 577, 1 }, + { 2, 579, 1 }, + { 2, 581, 1 }, + { 2, 583, 1 }, + { 2, 585, 1 }, + { 2, 587, 1 }, + { 2, 589, 1 }, + { 2, 591, 1 }, + { 2, 593, 1 }, + { 2, 595, 1 }, + { 2, 597, 1 }, + { 2, 599, 1 }, + { 2, 601, 1 }, + { 2, 603, 1 }, + { 2, 605, 1 }, + { 2, 607, 1 }, + { 2, 609, 1 }, + { 2, 611, 1 }, + { 2, 613, 1 }, + { 2, 615, 1 }, + { 2, 617, 1 }, + { 2, 619, 1 }, + { 2, 621, 1 }, + { 2, 623, 1 }, + { 2, 625, 1 }, + { 2, 627, 1 }, + { 2, 629, 1 }, + { 2, -600, 1 }, + { 2, -600, 1 }, + { 2, -600, 1 }, + { 2, -600, 1 }, + { 2, -600, 1 }, + { 2, -600, 1 }, + { 2, -600, 1 }, + { 2, -600, 1 }, + { 2, -600, 1 }, + { 2, -600, 0.1 }, + { 2, 429, 0.1 }, + { 2, -600, 0.1 }, + { 2, 417, 0.1 }, + { 2, -600, 0.01 }, + { 2, 453, 0.01 }, + { 2, 683, 0.01 }, + { 2, -600, 0.1 }, + { 4, 639, 1 }, + { 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) @@ -967,7 +967,7 @@ BOOLEAN CHostADSBFProcess::OnTimer(void) { if (m_turbine == NULL) { - vLog(LOG_DEBUG, "%s not connected.\n", m_pidName.c_str()); + //vLog(LOG_DEBUG, "%s not connected.\n", m_pidName.c_str()); if ((m_apdu_t0_begin + 20) < system32.timers) { m_apdu_t0_begin = system32.timers; @@ -1014,18 +1014,6 @@ BOOLEAN CHostADSBFProcess::OnTimer(void) return TRUE; } -BOOLEAN CHostADSBFProcess::readDeviceState(const AdsDevice& route) -{ - const auto state = route.GetState(); - vLog(LOG_DEBUG, "ADS state: %d devState: %d\n", (uint16_t)state.ads, (uint16_t)state.device); - if ((uint16_t)state.ads >= ADSSTATE::ADSSTATE_MAXSTATES && (uint16_t)state.device >= ADSSTATE::ADSSTATE_MAXSTATES) - { - return FALSE; - } - - return TRUE; -} - BOOLEAN CHostADSBFProcess::readFileID() { int uid = GetCurUnitID(); diff --git a/das-dn/hostadsbf/hostadsbf.h b/das-dn/hostadsbf/hostadsbf.h index 891537f4..6e6cdd14 100644 --- a/das-dn/hostadsbf/hostadsbf.h +++ b/das-dn/hostadsbf/hostadsbf.h @@ -88,7 +88,6 @@ public: private: BOOLEAN calc(void); - BOOLEAN readDeviceState(const AdsDevice& route); BOOLEAN readRealData(void); BOOLEAN readFileID(void); }; diff --git a/das-dn/third_party/AdsLib/Sockets.cpp b/das-dn/third_party/AdsLib/Sockets.cpp index d6bd11f6..b64bae53 100644 --- a/das-dn/third_party/AdsLib/Sockets.cpp +++ b/das-dn/third_party/AdsLib/Sockets.cpp @@ -124,7 +124,6 @@ Socket::Socket(const struct addrinfo* const host, const int type) : if (INVALID_SOCKET == m_Socket) { continue; } - if (SOCK_STREAM == type) { if (::connect(m_Socket, rp->ai_addr, rp->ai_addrlen)) { LOG_WARN("Socket connect["<(rp->ai_addr)->sin_addr)) << "] timeout"); @@ -155,7 +154,7 @@ Socket::Socket(const struct addrinfo* const host, const int type) : Socket::~Socket() { Shutdown(); - closesocket(m_Socket); +// closesocket(m_Socket); if (m_WSAInitialized) { WSACleanup(); @@ -182,6 +181,7 @@ void Socket::Shutdown() if(IsValid()) { shutdown(m_Socket, SHUT_RDWR); + closesocket(m_Socket); m_Socket = INVALID_SOCKET; m_Connected = false; } @@ -243,6 +243,7 @@ bool Socket::Select(timeval* timeout) FD_ZERO(&readSockets); FD_SET(m_Socket, &readSockets); + if (!IsValid()) return false; /* wait for receive data */ const int state = NATIVE_SELECT(m_Socket + 1, &readSockets, nullptr, nullptr, timeout); if (0 == state) {