diff --git a/example/Cpp/RF60X_UDP_Measure/rf60X_measure_udp.cpp b/example/Cpp/RF60X_UDP_Measure/rf60X_measure_udp.cpp index 298fad064a7c0c1d8572500e842fdc59c6ae3fac..3dd9c3b7a5dde9decc5c54954316d0338a5b8306 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 a1e295bf7360aad67c422f03baa402b55c184638..163a20eb2b6cbd3c49e1a2f105de6b593cc67239 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 948a92dd4047b6ca40323c38026fa0899c54ed7c..972a9866d172255b7bd0ba51e1bca5e59ad85bbe 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 b41f02162f4575f09b0e82f69a8eae6603b4d59e..9666fcd1a7d3657aea095d941676db35ac7420f8 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 5a66a381227957e0e955ea367acabb3425d78853..8b7e5684c04154eddec480f8ad2da9e98ff9718c 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();