From c877f26dce2d86f50f869b4e5486f0c26e81e3ee Mon Sep 17 00:00:00 2001 From: Nikita Kozhuro Date: Mon, 30 Nov 2020 12:23:41 +0300 Subject: [PATCH] Update and Fix --- .../RF60X_UDP_Measure/rf60X_measure_udp.cpp | 5 ++-- rf60Xcore/src/rf60X.c | 4 +-- wrappers/Cpp/rf60Xsdk/rf60Xcore.cpp | 27 ++++++++----------- wrappers/Cpp/rf60Xsdk/rf60Xsdk.cpp | 12 ++++++++- wrappers/Cpp/rf60Xsdk/rf60Xsdk.h | 2 +- 5 files changed, 28 insertions(+), 22 deletions(-) diff --git a/example/Cpp/RF60X_UDP_Measure/rf60X_measure_udp.cpp b/example/Cpp/RF60X_UDP_Measure/rf60X_measure_udp.cpp index 298fad0..3dd9c3b 100644 --- a/example/Cpp/RF60X_UDP_Measure/rf60X_measure_udp.cpp +++ b/example/Cpp/RF60X_UDP_Measure/rf60X_measure_udp.cpp @@ -18,14 +18,15 @@ int main() { config_params_device.type = SCANNER_TYPE::RF60x; + config_params_device.recv_ip_addrs="192.168.1.2"; std::shared_ptr dev = std::make_shared(config_params_device); dev->connect(); udp_measure_t measure; - for (size_t i = 0; i < 10; i++) { + for (size_t i = 0; i < 100; i++) { auto result = dev->get_measure_udp(&measure); - if (result == false) { + if (result == true) { std::cout << "Measure :" << static_cast((measure.rf60xValArray[0].value * measure.deviceMeasureRange) / diff --git a/rf60Xcore/src/rf60X.c b/rf60Xcore/src/rf60X.c index a1e295b..163a20e 100644 --- a/rf60Xcore/src/rf60X.c +++ b/rf60Xcore/src/rf60X.c @@ -5,6 +5,7 @@ //#include "network.c" #include "rf60X_devices.h" #include "rf60X_protocol.h" +#include "WinSock2.h" #define RF60X_API_VERSION 0x14010a00 // yy.mm.dd.build #define RF60X_RECV_TIMEOUT 100 @@ -65,9 +66,8 @@ int rf60X_mutex_unlock() { } rfBool rf60x_connect_udp(rf60x_t *scanner) { - rfUint32 recv_addr = 0; rfUint32 recv_ip_addr; - recv_ip_addr = inet_addr(scanner->recv_ip_addr); + recv_ip_addr =inet_addr(scanner->recv_ip_addr); scanner->m_data_sock = network_platform.network_methods.create_udp_socket(); if (scanner->m_data_sock != (void *)RF_SOCKET_ERROR) { int nret = 1; diff --git a/wrappers/Cpp/rf60Xsdk/rf60Xcore.cpp b/wrappers/Cpp/rf60Xsdk/rf60Xcore.cpp index 948a92d..972a986 100644 --- a/wrappers/Cpp/rf60Xsdk/rf60Xcore.cpp +++ b/wrappers/Cpp/rf60Xsdk/rf60Xcore.cpp @@ -362,13 +362,13 @@ rfInt platform_socket_bind(void* socket, rfUint32 ip_addr, rfUint16 port) { addr.sin_port = htons(port); addr.sin_addr.s_addr = ip_addr; bind(s, (sockaddr*)&addr, sizeof(sockaddr)); - /* wchar_t *es = NULL; - FormatMessageW(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, - NULL, WSAGetLastError(), - MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), - (LPWSTR)&es, 0, NULL); - fprintf(stderr, "%ls\n", es); - LocalFree(&es);*/ + /* wchar_t *es = NULL; + FormatMessageW(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | + FORMAT_MESSAGE_IGNORE_INSERTS, NULL, WSAGetLastError(), + MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), + (LPWSTR)&es, 0, NULL); + fprintf(stderr, "%ls\n", es); + LocalFree(&es);*/ return retVal; } @@ -601,9 +601,7 @@ extern BOOL WinSockInit(); /*********************************UART**********************************/ -void* platform_create_file( - char* COMPortName) { - +void* platform_create_file(char* COMPortName) { return CreateFileA(COMPortName, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); } @@ -611,13 +609,12 @@ void* platform_create_file( void platform_close_file(void* fileName) { CloseHandle((HANDLE)fileName); } rfInt32 platform_rec_data_uart(void* handleCOMPORT, void* buffer, - rfUint8 numbeBytesToRead) { + rfUint8 numbeBytesToRead) { rfULInt res; rfBool status = ReadFile(handleCOMPORT, buffer, numbeBytesToRead, &res, NULL); - if(res<(rfULInt)(numbeBytesToRead)) - return -1; + if (res < (rfULInt)(numbeBytesToRead)) return -1; if (!status) return -1; @@ -645,9 +642,7 @@ void platform_set_uart_paramaters(void* handleCOMPORT, rf_DCB* valueDCB) { // return 0; } - SetCommState( - handleCOMPORT, - reinterpret_cast(old_valueDCB)); + SetCommState(handleCOMPORT, reinterpret_cast(old_valueDCB)); COMMTIMEOUTS newTO; diff --git a/wrappers/Cpp/rf60Xsdk/rf60Xsdk.cpp b/wrappers/Cpp/rf60Xsdk/rf60Xsdk.cpp index b41f021..9666fcd 100644 --- a/wrappers/Cpp/rf60Xsdk/rf60Xsdk.cpp +++ b/wrappers/Cpp/rf60Xsdk/rf60Xsdk.cpp @@ -22,6 +22,7 @@ extern int GetAdaptersCount(); extern const char *GetAdapterAddress(int index); /* windows sockets tweaks */ extern BOOL WinSockInit(); +extern void WinSockDeinit(); int SDK::SCANNERS::RF60X::sdk_version() { /* * Get rf60X core version @@ -34,6 +35,15 @@ bool SDK::SCANNERS::RF60X::sdk_init() { return true; } +void SDK::SCANNERS::RF60X::sdk_cleanup() +{ +#if (defined _WIN32) + FreeAdapterAddresses(); + WinSockDeinit(); +#endif +} + + namespace SDK { namespace SCANNERS { namespace RF60X { @@ -182,7 +192,7 @@ bool rf60x::open_port_uart() { return ::open_port_uart((scanner_base_t *)scanner_base); } -uart_hello_t rf60x::hell_msg_uart() { +uart_hello_t rf60x::hello_msg_uart() { uart_hello_t tempHello; rf60x_uart_hello_t *tempReturnValue = diff --git a/wrappers/Cpp/rf60Xsdk/rf60Xsdk.h b/wrappers/Cpp/rf60Xsdk/rf60Xsdk.h index 5a66a38..8b7e568 100644 --- a/wrappers/Cpp/rf60Xsdk/rf60Xsdk.h +++ b/wrappers/Cpp/rf60Xsdk/rf60Xsdk.h @@ -44,7 +44,7 @@ class API_EXPORT rf60x { bool open_port_uart(); - uart_hello_t hell_msg_uart(); + uart_hello_t hello_msg_uart(); void change_config_port_uart(); -- GitLab