diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..af4cdf04f383c4ab7f2d98621937092d883cd058
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,52 @@
+cmake_minimum_required(VERSION 3.13)
+
+
+
+################################################################################
+## PROJECT
+## name and version
+################################################################################
+project(rf60Xsdk)
+
+
+################################################################################
+## SETTINGS
+## basic project settings before use
+################################################################################
+# If this project is used as a submodule, the variable should be overridden
+# to "OFF" in the top-level application (to disable forced cache rewriting)
+option(${PARENT}_SUBMODULE_CACHE_OVERWRITE "Enable forced cache rewriting" ON)
+if (${PARENT}_SUBMODULE_CACHE_OVERWRITE)
+ SET(REWRITE_FORCE "FORCE")
+else()
+ SET(REWRITE_FORCE "")
+endif()
+
+
+
+################################################################################
+## CONFIGURATION
+## project configuration
+################################################################################
+# Select a wrapper programming language (C, C++)
+SET(${PARENT}_WRAPPER_LANGUAGE "C++" CACHE STRING "" ${REWRITE_FORCE})
+
+
+
+
+################################################################################
+## INCLUDING SUBDIRECTORIES
+## Adding subdirectories according to the configuration
+################################################################################
+# Add sdk-library
+if(${${PARENT}_WRAPPER_LANGUAGE} STREQUAL "C")
+ add_subdirectory(wrappers/C/rf60Xsdk)
+endif()
+if(${${PARENT}_WRAPPER_LANGUAGE} STREQUAL "C++")
+ add_subdirectory(wrappers/Cpp/rf60Xsdk)
+
+endif()
+
+
+
+
diff --git a/example/LabVIEW/RF60X_UDP_measure.vi b/example/LabVIEW/RF60X_UDP_measure.vi
index 4b64aa2b3ab11b91f6f1e81618ea08dc796b2f87..919f07257e454e6b2c6252ed75abbb3d87c0b208 100644
Binary files a/example/LabVIEW/RF60X_UDP_measure.vi and b/example/LabVIEW/RF60X_UDP_measure.vi differ
diff --git a/wrappers/DotNet/rf60Xsdk/rf60Xsdk/rf60Xsdk.cpp b/wrappers/DotNet/rf60Xsdk/rf60Xsdk/rf60Xsdk.cpp
index 50dd852382406fa1bce1058e81f0048d6d41a410..bef23c86e94ce4e1ef2ac882d72ec9d326057e6a 100644
--- a/wrappers/DotNet/rf60Xsdk/rf60Xsdk/rf60Xsdk.cpp
+++ b/wrappers/DotNet/rf60Xsdk/rf60Xsdk/rf60Xsdk.cpp
@@ -90,11 +90,16 @@ rf60Xsdk::rf60XsdkNet::rf60XsdkNet(const config_base_information_rf60x_net_t^ co
}
-bool rf60Xsdk::rf60XsdkNet::connect()
+bool rf60Xsdk::rf60XsdkNet::connect_1()
{
return _rf60x->connect();
}
+bool rf60Xsdk::rf60XsdkNet::test_connect(const std::string %hostAddress, uint32_t port)
+{
+ return _rf60x->test_connect_udp(hostAddress, port);
+}
+
bool rf60Xsdk::rf60XsdkNet::get_measure_udp(udp_measure_net_t% clone)
{
@@ -126,11 +131,71 @@ bool rf60Xsdk::rf60XsdkNet::get_measure_udp(udp_measure_net_t% clone)
}
+bool rf60Xsdk::rf60XsdkNet::test_get_measure_udp(udp_measure_net_t% clone)
+{
+ udp_measure_t measure;
+
+ bool result = 0;
+
+ result = _rf60x->test_get_measure_udp(measure);
+
+ if (!result)
+ return false;
+
+ clone.deviceBaseDistance = measure.deviceBaseDistance;
+ clone.deviceMeasureRange = measure.deviceMeasureRange;
+ clone.deviceSerial = measure.deviceSerial;
+ clone.packCount = measure.packCount;
+ clone.packetControlSumm = measure.packetControlSumm;
+
+ for (Byte i = 0; i < 168; ++i) {
+ clone.Array[i].status = measure.rf60xValArray[i].status;
+ clone.Array[i].value = measure.rf60xValArray[i].value;
+
+ }
+
+ return result;
+}
+
+bool rf60Xsdk::rf60XsdkNet::test_get_measure_udp(binocular_udp_measure_net_t% clone)
+{
+ binocular_udp_measure_t measure;
+
+ bool result = 0;
+
+ result = _rf60x->test_get_measure_udp(measure);
+
+ if (!result)
+ return false;
+
+
+ clone.deviceBaseDistance = measure.deviceBaseDistance;
+ clone.deviceMeasureRange = measure.deviceMeasureRange;
+ clone.deviceSerial = measure.deviceSerial;
+ clone.packCount = measure.packCount;
+ clone.packetControlSumm = measure.packetControlSumm;
+
+ for (Byte i = 0; i < 1000; ++i) {
+ clone.rf60xBValArray[i].status = measure.rf60xBValArray[i].status;
+ clone.rf60xBValArray[i].measure = measure.rf60xBValArray[i].measure;
+ clone.rf60xBValArray[i].exposition = measure.rf60xBValArray[i].exposition;
+
+ }
+
+
+ return result;
+}
+
bool rf60Xsdk::rf60XsdkNet::disconnect()
{
return _rf60x->disconnect();
}
+void rf60Xsdk::rf60XsdkNet::test_disconnect()
+{
+ return _rf60x->test_disconnect_udp();
+}
+
bool rf60Xsdk::rf60XsdkNet::open_port_uart()
{
return _rf60x->open_port_uart();
diff --git a/wrappers/DotNet/rf60Xsdk/rf60Xsdk/rf60Xsdk.vcxproj b/wrappers/DotNet/rf60Xsdk/rf60Xsdk/rf60Xsdk.vcxproj
index d77b9ea8bcfbbdbda2f5b5e15675ea35a7865fc1..6ed635320be4d5c282b1facfcdc8cd6385882261 100644
--- a/wrappers/DotNet/rf60Xsdk/rf60Xsdk/rf60Xsdk.vcxproj
+++ b/wrappers/DotNet/rf60Xsdk/rf60Xsdk/rf60Xsdk.vcxproj
@@ -21,37 +21,37 @@
15.0
{8EADAEA9-C0AF-49A2-A70B-359A9138904E}
- v4.8
ManagedCProj
rf60Xsdk
- 10.0
+ 10.0.22621.0
+ v4.6.2
DynamicLibrary
true
- v142
+ v143
true
Unicode
DynamicLibrary
false
- v142
+ v143
true
Unicode
DynamicLibrary
true
- v142
+ v143
true
Unicode
DynamicLibrary
false
- v142
+ v143
true
Unicode
@@ -124,10 +124,19 @@
pch.h
Level3
WIN32;NDEBUG;%(PreprocessorDefinitions)
+ D:\Gitlab\RF60X-SDK\RF60X-SDK\wrappers\Cpp\rf60Xsdk;%(AdditionalIncludeDirectories)
+ MultiThreadedDLL
-
+ rf60Xsdk.lib;%(AdditionalDependencies)
+ D:\Gitlab\RF60X-SDK\RF60X-SDK\wrappers\Cpp\rf60Xsdk\out\build\x86-release\lib;D:\Gitlab\RF60X-SDK\RF60X-SDK\wrappers\Cpp\rf60Xsdk\out\build\x86-release\bin;%(AdditionalLibraryDirectories)
+ rf60Xsdk.lib
+ /FORCE:MULTIPLE %(AdditionalOptions)
+ $(OutDir)$(TargetName)Net$(TargetExt)
+
+ true
+
diff --git a/wrappers/DotNet/rf60Xsdk/rf60Xsdk/rf60XsdkNet.h b/wrappers/DotNet/rf60Xsdk/rf60Xsdk/rf60XsdkNet.h
index 2feadaae5191491e6495df0584f5ee008cafd6d0..7a47b7fe8ed0b49f299eea5052d03e484a811930 100644
--- a/wrappers/DotNet/rf60Xsdk/rf60Xsdk/rf60XsdkNet.h
+++ b/wrappers/DotNet/rf60Xsdk/rf60Xsdk/rf60XsdkNet.h
@@ -190,6 +190,42 @@ namespace rf60Xsdk {
};
+
+ [StructLayout(LayoutKind::Sequential, Pack = 1)]
+ public value struct binocular_udp_value_t
+ {
+ unsigned short measure;
+ unsigned short exposition;
+ unsigned char status;
+ };
+
+
+ [StructLayout(LayoutKind::Sequential, Pack = 1)]
+ public value struct binocular_udp_measure_net_t {
+
+ private:
+ static bool intiliaze;
+
+ public:
+ [MarshalAs(UnmanagedType::ByValArray, SizeConst = 100)]
+ array^ rf60xBValArray;
+ unsigned short reserved;
+ unsigned short reserved2;
+ unsigned short deviceSerial;
+ unsigned short deviceBaseDistance;
+ unsigned short deviceMeasureRange;
+ unsigned char packCount;
+ unsigned char packetControlSumm;
+
+ void intiliazeArrays(UInt16 sizePoints, UInt16 sizePixels) {
+
+ if (intiliaze) return;
+ rf60xBValArray = gcnew array(100);
+ intiliaze = true;
+ }
+
+ };
+
public ref class rf60XsdkNet
{
@@ -205,13 +241,18 @@ namespace rf60Xsdk {
static int sdk_version();
//Ethernet
- bool connect();
+ bool connect_1();
+ bool test_connect(const std::string% hostAddress, uint32_t port);
bool get_measure_udp(udp_measure_net_t% clone); //TODO сделать ближе к истине.
+ bool test_get_measure_udp(udp_measure_net_t% clone);
+ bool test_get_measure_udp(binocular_udp_measure_net_t% clone);
+
+
bool disconnect();
-
+ void test_disconnect();
//UART
diff --git a/wrappers/LabVIEW/rf60Xsdk/CMakeLists.txt b/wrappers/LabVIEW/rf60Xsdk/CMakeLists.txt
index 947b5ce980442aee46cc8c697b26eb96cefb7c64..6c76f0c6fdf8b345b47f8e704aa66e3efb5303fa 100644
--- a/wrappers/LabVIEW/rf60Xsdk/CMakeLists.txt
+++ b/wrappers/LabVIEW/rf60Xsdk/CMakeLists.txt
@@ -16,6 +16,7 @@ set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
set(BINARY_DIR "${CMAKE_BINARY_DIR}")
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${BINARY_DIR}/bin")
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${BINARY_DIR}/lib")
+set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${BINARY_DIR}/lib")
# set rf60Xcore path variable
@@ -35,14 +36,15 @@ set (SOURCES ${CPP_FILES} ${H_FILES})
## TARGET
## create target and add include path
##
-add_library(${PROJECT_NAME} SHARED ${SOURCES})
+add_library(${PROJECT_NAME} ${SOURCES})
set_target_properties(${PROJECT_NAME} PROPERTIES PREFIX "")
+target_compile_definitions(${PROJECT_NAME} PRIVATE NEW_API)
target_include_directories(${PROJECT_NAME} PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/
)
-target_link_libraries(${PROJECT_NAME} rf60Xsdk)
+target_link_libraries(${PROJECT_NAME} PRIVATE rf60Xsdk)
#if(MINGW)
# target_link_libraries(${PROJECT_NAME} ws2_32)
# target_link_libraries(${PROJECT_NAME} iphlpapi)
diff --git a/wrappers/LabVIEW/rf60Xsdk/rf60x.cpp b/wrappers/LabVIEW/rf60Xsdk/rf60x.cpp
index 7b19e85e498e749a6e7224f66814ff8dfcc3abe0..994b2e2fe207e04dad875765a15f478db83c9fed 100644
--- a/wrappers/LabVIEW/rf60Xsdk/rf60x.cpp
+++ b/wrappers/LabVIEW/rf60Xsdk/rf60x.cpp
@@ -12,78 +12,105 @@ struct rf60x_c {
void *obj;
};
-rf60x_t *rf60x_create(
- const namespace_struct_wrapper::config_base_information_rf60x_t
- config_params_device) {
+void *rf60x_create(
+ void
+ *config_params_device) {
if (!sdk_init()) return NULL;
+
config_base_information_rf60x_t inner_config_params_device;
rf60x_t *m;
rf60x *obj;
- switch (config_params_device.baud_rate) {
- case namespace_struct_wrapper::BAUR_RATE_UART::Baud9600: {
+ switch (static_cast(config_params_device)->baud_rate) {
+ case BAUR_RATE_UART::Baud9600: {
inner_config_params_device.baud_rate = BAUR_RATE_UART::Baud9600;
break;
}
- case namespace_struct_wrapper::BAUR_RATE_UART::Baud230400: {
+ case BAUR_RATE_UART::Baud230400: {
inner_config_params_device.baud_rate = BAUR_RATE_UART::Baud230400;
break;
}
- case namespace_struct_wrapper::BAUR_RATE_UART::Baud460800: {
+ case BAUR_RATE_UART::Baud460800: {
inner_config_params_device.baud_rate = BAUR_RATE_UART::Baud460800;
break;
}
- case namespace_struct_wrapper::BAUR_RATE_UART::Baud115200: {
+ case BAUR_RATE_UART::Baud115200: {
inner_config_params_device.baud_rate = BAUR_RATE_UART::Baud115200;
break;
}
- case namespace_struct_wrapper::BAUR_RATE_UART::Baud921600: {
+ case BAUR_RATE_UART::Baud921600: {
inner_config_params_device.baud_rate = BAUR_RATE_UART::Baud921600;
break;
}
}
inner_config_params_device.network_address =
- config_params_device.network_address;
- inner_config_params_device.number_serial_port =
- config_params_device.number_serial_port;
+ static_cast(config_params_device)->network_address;
+ // inner_config_params_device.number_serial_port =
+ // static_cast(config_params_device)->number_serial_port;
m = (decltype(m))malloc(sizeof(*m));
obj = new rf60x(inner_config_params_device);
m->obj = obj;
- return m;
+ return static_cast(m);
}
-void rf60x_destroy(rf60x_t *m) {
+void rf60x_destroy(void *m) {
if (m == NULL) return;
- delete static_cast(m->obj);
+ delete static_cast(reinterpret_cast(m)->obj);
free(m);
sdk_cleanup();
}
+#ifdef NEW_API
+unsigned int rf60x_connect(void *dev, char* hostAddress, unsigned int port)
+#else
+unsigned int rf60x_connect(rf60x_t *dev)
+#endif
+{
+#ifdef NEW_API
+ return static_cast(reinterpret_cast(dev)->obj)->test_connect_udp(hostAddress,port);
+#else
+ return static_cast(dev->obj)->connect();
+#endif
+
+}
-bool rf60x_connect(rf60x_t *dev) {
- return static_cast(dev->obj)->connect();
+unsigned int rf60x_disconnect(void *dev) {
+#ifdef NEW_API
+ static_cast(reinterpret_cast(dev)->obj)->test_disconnect_udp();
+ return true;
+#else
+ return static_cast(dev->obj)->disconnect();
+#endif
}
-bool rf60x_disconnect(rf60x_t *dev) {
- return static_cast(dev->obj)->disconnect();
+unsigned int rf60x_get_measure_udp(void *dev, void *measure) {
+#ifdef NEW_API
+ return static_cast(reinterpret_cast(dev)->obj)->test_get_measure_udp(*static_cast(measure));
+#else
+ return static_cast(reinterpret_cast(dev)->obj)->get_measure_udp(measure);
+#endif
}
-bool rf60x_get_measure_udp(rf60x_t *dev, void *measure) {
- return static_cast(dev->obj)->get_measure_udp(measure);
+unsigned int rf60x_bino_get_measure_udp(void *dev, void *measure) {
+#ifdef NEW_API
+ return static_cast(reinterpret_cast(dev)->obj)->test_get_measure_udp(*static_cast(measure));
+#else
+ return static_cast(reinterpret_cast(dev)->obj)->get_measure_udp(measure);
+#endif
}
-bool rf60x_open_port_uart(rf60x_t *dev) {
- return static_cast(dev->obj)->open_port_uart();
+unsigned int rf60x_open_port_uart(void *dev) {
+ return static_cast(reinterpret_cast(dev)->obj)->open_port_uart();
}
-namespace_struct_wrapper::uart_hello_t rf60x_hello_msg_uart(rf60x_t *dev) {
- auto uartHello = static_cast(dev->obj)->hello_msg_uart();
+uart_hello_t_c rf60x_hello_msg_uart(void *dev) {
+ auto uartHello = static_cast(reinterpret_cast(dev)->obj)->hello_msg_uart();
- namespace_struct_wrapper::uart_hello_t wrapperUartHello;
+ uart_hello_t_c wrapperUartHello;
wrapperUartHello.deviceMaxDistance = uartHello.deviceMaxDistance;
wrapperUartHello.deviceModificaton = uartHello.deviceModificaton;
@@ -94,109 +121,101 @@ namespace_struct_wrapper::uart_hello_t rf60x_hello_msg_uart(rf60x_t *dev) {
return wrapperUartHello;
}
-void rf60x_change_config_port_uart(rf60x_t *dev) {
- static_cast(dev->obj)->open_port_uart();
+void rf60x_change_config_port_uart(void *dev) {
+ static_cast(reinterpret_cast(dev)->obj)->open_port_uart();
}
-void rf60x_close_port_uart(rf60x_t *dev) {
- static_cast(dev->obj)->close_port_uart();
+void rf60x_close_port_uart(void *dev) {
+ static_cast(reinterpret_cast(dev)->obj)->close_port_uart();
}
-bool rf60x_get_measure_uart(
- rf60x_t *dev, void *measure,
- namespace_struct_wrapper::PROTOCOL_MEASURE_UART type) {
+unsigned int rf60x_get_measure_uart(
+ unsigned int *dev, void *measure,
+ unsigned int type) {
switch (type) {
- case namespace_struct_wrapper::PROTOCOL_MEASURE_UART::UART_STREAM_MEASURE_T:
- return static_cast(dev->obj)->get_measure_uart(
+ case 4:
+ return static_cast(reinterpret_cast(dev)->obj)->get_measure_uart(
measure, PROTOCOL_MEASURE_UART::UART_STREAM_MEASURE_T);
- break;
- case namespace_struct_wrapper::PROTOCOL_MEASURE_UART::
- UART_STREAM_ADVANCED_MEASURE_T:
- return static_cast(dev->obj)->get_measure_uart(
+ case 6:
+ return static_cast(reinterpret_cast(dev)->obj)->get_measure_uart(
measure, PROTOCOL_MEASURE_UART::UART_STREAM_ADVANCED_MEASURE_T);
- break;
- case namespace_struct_wrapper::PROTOCOL_MEASURE_UART::
- UART_STREAM_MODIFIED_MEASURE_T:
- return static_cast(dev->obj)->get_measure_uart(
+ case 10:
+ return static_cast(reinterpret_cast(dev)->obj)->get_measure_uart(
measure, PROTOCOL_MEASURE_UART::UART_STREAM_MODIFIED_MEASURE_T);
- break;
-
- case namespace_struct_wrapper::PROTOCOL_MEASURE_UART::
- UART_RESULT_WITH_ENCODER_T:
- return static_cast(dev->obj)->get_measure_uart(
+ case 12:
+ return static_cast(reinterpret_cast(dev)->obj)->get_measure_uart(
measure, PROTOCOL_MEASURE_UART::UART_RESULT_WITH_ENCODER_T);
- break;
+ default:
+ return false;
}
}
-bool rf60x_get_single_measure(rf60x_t *dev, unsigned char address,
+unsigned int rf60x_get_single_measure(void *dev, unsigned char address,
void *measure) {
- return static_cast(dev->obj)->get_single_measure(address, measure);
+ return static_cast(reinterpret_cast(dev)->obj)->get_single_measure(address, measure);
}
-bool rf60x_send_command_modbus(
- rf60x_t *dev, const namespace_struct_wrapper::modbus_rtu_command &command) {
+unsigned int rf60x_send_command_modbus(
+ void *dev, modbus_rtu_command *command) {
modbus_rtu_command innerCommand;
- innerCommand.id = command.id;
+ innerCommand.id = command->id;
- innerCommand.command = command.command;
+ innerCommand.command = command->command;
- innerCommand.address = command.address;
+ innerCommand.address = command->address;
- innerCommand.count_or_value = command.count_or_value;
+ innerCommand.count_or_value = command->count_or_value;
- innerCommand.crc = command.crc;
+ innerCommand.crc = command->crc;
- return static_cast(dev->obj)->send_command_modbus(innerCommand);
+ return static_cast(reinterpret_cast(dev)->obj)->send_command_modbus(innerCommand);
}
-bool rf60x_receive_data_modbus(rf60x_t *dev, unsigned short *buffer) {
- return static_cast(dev->obj)->receive_data_modbus(buffer);
+unsigned int rf60x_receive_data_modbus(void *dev, unsigned short *buffer) {
+ return static_cast(reinterpret_cast(dev)->obj)->receive_data_modbus(buffer);
}
-bool rf60x_read_params_uart(rf60x_t *dev) {
- return static_cast(dev->obj)->read_params_uart();
+unsigned int rf60x_read_params_uart(void *dev) {
+ return static_cast(reinterpret_cast(dev)->obj)->read_params_uart();
}
-bool rf60x_write_params_uart(rf60x_t *dev) {
- return static_cast(dev->obj)->write_params_uart();
+unsigned int rf60x_write_params_uart(void *dev) {
+ return static_cast(reinterpret_cast(dev)->obj)->write_params_uart();
}
-bool rf60x_send_command(rf60x_t *dev,
- namespace_struct_wrapper::COMMAND_UART CMD) {
+unsigned int rf60x_send_command(void *dev,
+ unsigned int CMD) {
switch (CMD) {
- case namespace_struct_wrapper::COMMAND_UART::GETRESULT:
- return static_cast(dev->obj)->send_command(
+ case 0x06:
+ return static_cast(reinterpret_cast(dev)->obj)->send_command(
COMMAND_UART::GETRESULT);
- break;
- case namespace_struct_wrapper::COMMAND_UART::SAVETOFLASH:
- return static_cast(dev->obj)->send_command(
+
+ case 0x04:
+ return static_cast(reinterpret_cast(dev)->obj)->send_command(
COMMAND_UART::SAVETOFLASH);
- break;
- case namespace_struct_wrapper::COMMAND_UART::START_STREAM:
- return static_cast(dev->obj)->send_command(
+
+ case 0x07:
+ return static_cast(reinterpret_cast(dev)->obj)->send_command(
COMMAND_UART::START_STREAM);
- break;
- case namespace_struct_wrapper::COMMAND_UART::START_STREAM_ADVANCED:
- return static_cast(dev->obj)->send_command(
+
+ case 0x0C:
+ return static_cast(reinterpret_cast(dev)->obj)->send_command(
COMMAND_UART::START_STREAM_ADVANCED);
- break;
- case namespace_struct_wrapper::COMMAND_UART::START_STREAM_MODIFIED:
- return static_cast(dev->obj)->send_command(
+ case 0x0D:
+ return static_cast(reinterpret_cast(dev)->obj)->send_command(
COMMAND_UART::START_STREAM_MODIFIED);
- break;
- case namespace_struct_wrapper::COMMAND_UART::STOP_STREAM:
- return static_cast(dev->obj)->send_command(
+ case 0x08:
+ return static_cast(reinterpret_cast(dev)->obj)->send_command(
COMMAND_UART::STOP_STREAM);
- break;
- case namespace_struct_wrapper::COMMAND_UART::WRITEPARAM:
- return static_cast(dev->obj)->send_command(
+ case 0x03:
+ return static_cast(reinterpret_cast(dev)->obj)->send_command(
COMMAND_UART::WRITEPARAM);
- break;
+ default:
+ return false;
}
}
@@ -204,13 +223,13 @@ bool rf60x_send_command(rf60x_t *dev,
// param_t *rf60x_get_param(rf60x_t *dev, PARAM_NAME_KEY param_name) {}
-// bool rf60x_set_param(rf60x_t *dev, param_t *param) {}
+// unsigned int rf60x_set_param(rf60x_t *dev, param_t *param) {}
-// bool rf60x_set_param(rf60x_t *dev, const char *param_name) {}
+// unsigned int rf60x_set_param(rf60x_t *dev, const char *param_name) {}
-// bool rf60x_set_param(rf60x_t *dev, int param_id) {}
+// unsigned int rf60x_set_param(rf60x_t *dev, int param_id) {}
-bool r60x_restore_params(rf60x_t *dev) {
- return static_cast(dev->obj)->send_command(
+unsigned int r60x_restore_params(void *dev) {
+ return static_cast(reinterpret_cast(dev)->obj)->send_command(
COMMAND_UART::RESTOREFORMFLASH);
}
diff --git a/wrappers/LabVIEW/rf60Xsdk/rf60x.h b/wrappers/LabVIEW/rf60Xsdk/rf60x.h
index 346cab8b0e6594df556432ecdf3b92a688b4fcd9..bd9e831b6e28add6708772909761a57b6e4a7b8d 100644
--- a/wrappers/LabVIEW/rf60Xsdk/rf60x.h
+++ b/wrappers/LabVIEW/rf60Xsdk/rf60x.h
@@ -19,45 +19,48 @@ extern "C" {
struct rf60x_c;
typedef struct rf60x_c rf60x_t;
-rf60x_t *rf60x_create(const namespace_struct_wrapper::config_base_information_rf60x_t config_params_device);
-void rf60x_destroy(rf60x_t *m);
+void *rf60x_create(void* config_params_device);
+void rf60x_destroy(void *m);
-bool rf60x_connect(rf60x_t *dev);
+//unsigned int rf60x_connect(unsigned int *dev);
+unsigned int rf60x_connect(void *dev, char* hostAddress, unsigned int port);
-bool rf60x_disconnect(rf60x_t *dev);
+unsigned int rf60x_disconnect(void *dev);
-bool rf60x_get_measure_udp(rf60x_t *dev, void *measure);
+unsigned int rf60x_get_measure_udp(void *dev, void *measure);
-bool rf60x_open_port_uart(rf60x_t *dev);
+unsigned int rf60x_bino_get_measure_udp(void *dev, void *measure);
-namespace_struct_wrapper::uart_hello_t rf60x_hello_msg_uart(rf60x_t *dev);
+unsigned int rf60x_open_port_uart(void *dev);
-void rf60x_change_config_port_uart(rf60x_t *dev);
+uart_hello_t_c rf60x_hello_msg_uart(void *dev);
-void rf60x_close_port_uart(rf60x_t *dev);
+void rf60x_change_config_port_uart(void *dev);
-bool rf60x_get_measure_uart(rf60x_t *dev, void *measure, namespace_struct_wrapper::PROTOCOL_MEASURE_UART type);
+void rf60x_close_port_uart(void *dev);
-bool rf60x_get_single_measure(rf60x_t *dev, unsigned char address, void *measure);
+unsigned int rf60x_get_measure_uart(void *dev, void *measure, unsigned int type);
-bool rf60x_send_command_modbus(rf60x_t *dev, const namespace_struct_wrapper::modbus_rtu_command &command);
+unsigned int rf60x_get_single_measure(void *dev, unsigned char address, void *measure);
-bool rf60x_receive_data_modbus(rf60x_t *dev, unsigned short *buffer);
+unsigned int rf60x_send_command_modbus(void *dev, modbus_rtu_command_c *command);
-bool rf60x_read_params_uart(rf60x_t *dev);
+unsigned int rf60x_receive_data_modbus(void *dev, unsigned short *buffer);
-bool rf60x_write_params_uart(rf60x_t *dev);
+unsigned int rf60x_read_params_uart(void *dev);
-bool r60x_restore_params(rf60x_t *dev);
+unsigned int rf60x_write_params_uart(void *dev);
-bool rf60x_send_command(rf60x_t *dev, namespace_struct_wrapper::COMMAND_UART CMD);
+unsigned int r60x_restore_params(void *dev);
+
+unsigned int rf60x_send_command(void *dev, unsigned int CMD);
//param_t *rf60x_get_param(rf60x_t, char *param_name);
//param_t *rf60x_get_param(rf60x_t, PARAM_NAME_KEY param_name);
-//bool rf60x_set_param(rf60x_t, param_t *param);
-//bool rf60x_set_param(rf60x_t, const char *param_name, ...);
-//bool rf60x_set_param(rf60x_t, int param_id, ...);
+//unsigned int rf60x_set_param(rf60x_t, param_t *param);
+//unsigned int rf60x_set_param(rf60x_t, const char *param_name, ...);
+//unsigned int rf60x_set_param(rf60x_t, int param_id, ...);
#ifdef __cplusplus
}
diff --git a/wrappers/LabVIEW/rf60Xsdk/rf60xtypes_c.h b/wrappers/LabVIEW/rf60Xsdk/rf60xtypes_c.h
index 4fd8376df0740da9a6855e351c351a101e60577a..4940a0aa37e1d729bb01dc98de9d1a353e8db090 100644
--- a/wrappers/LabVIEW/rf60Xsdk/rf60xtypes_c.h
+++ b/wrappers/LabVIEW/rf60Xsdk/rf60xtypes_c.h
@@ -1,40 +1,41 @@
#ifndef RF60XTYPES_C_H
#define RF60XTYPES_C_H
-typedef struct {
+#pragma pack(push, 1)
+//typedef struct {
typedef struct {
unsigned short measure;
unsigned short rotationMarks;
unsigned short encoderValue;
- } uart_result_with_encoder_t;
+ } uart_result_with_encoder_t_c;
typedef struct {
unsigned short value;
unsigned char status;
- } udp_value_t;
+ } udp_value_t_c;
typedef struct {
- udp_value_t rf60xValArray[168];
+ udp_value_t_c rf60xValArray[168];
unsigned short deviceSerial;
unsigned short deviceBaseDistance;
unsigned short deviceMeasureRange;
unsigned char packCount;
unsigned char packetControlSumm;
- } udp_measure_t;
+ } udp_measure_t_c;
typedef struct {
unsigned short value;
unsigned char count;
unsigned char status;
unsigned char reserverd;
- } uart_stream_measure_t;
+ } uart_stream_measure_t_c;
typedef struct {
unsigned short value;
unsigned char status;
unsigned char dir;
unsigned char cnt;
- } uart_stream_advanced_measure_t;
+ } uart_stream_advanced_measure_t_c;
typedef struct {
unsigned short value;
@@ -42,16 +43,16 @@ typedef struct {
unsigned char dir;
unsigned char cnt;
unsigned short cnt_stream;
- } uart_stream_modified_measure_t;
+ } uart_stream_modified_measure_t_c;
typedef struct {
unsigned short measure;
unsigned short exposition;
unsigned char status;
- } binocular_udp_value_t;
+ } binocular_udp_value_t_c;
typedef struct {
- binocular_udp_value_t rf60xBValArray[100];
+ binocular_udp_value_t_c rf60xBValArray[100];
unsigned short reserved;
unsigned short reserved2;
unsigned short deviceSerial;
@@ -59,7 +60,7 @@ typedef struct {
unsigned short deviceMeasureRange;
unsigned char packCount;
unsigned char packetControlSumm;
- } binocular_udp_measure_t;
+ } binocular_udp_measure_t_c;
typedef struct {
unsigned char deviceType;
@@ -68,7 +69,7 @@ typedef struct {
unsigned short deviceMaxDistance;
unsigned short deviceRange;
- } uart_hello_t;
+ } uart_hello_t_c;
typedef struct {
unsigned char id;
@@ -76,11 +77,11 @@ typedef struct {
unsigned short address;
unsigned short count_or_value;
unsigned short crc;
- } modbus_rtu_command;
+ } modbus_rtu_command_c;
+#pragma pack(pop)
+ enum SCANNER_TYPE_C { RF60x = 1, RF60xHS = 2, RF60xB = 3 };
- enum SCANNER_TYPE { RF60x = 1, RF60xHS = 2, RF60xB = 3 };
-
- enum PROTOCOLS {
+ enum PROTOCOLS_C {
RIFTEK_BIN_PROTOCOL = 1,
ASCII = 2,
MODBUS_RTU = 3,
@@ -135,7 +136,7 @@ typedef struct {
"auto_of_the_stream",
"protocols_interface",
};*/
- enum PARAM_NAME_KEY {
+ enum PARAM_NAME_KEY_C {
USER_POWER = 0,
POWER_ANALOG_OUTPUT,
CONTROL_OF_AVERAGING,
@@ -185,7 +186,7 @@ typedef struct {
PROTOCOLS_INTERFACE
};
- enum PARAM_VALUE_TYPE {
+ enum PARAM_VALUE_TYPE_C {
UNKN_PARAM_TYPE = 0,
UINT8_PARAM_TYPE,
UINT_PARAM_TYPE,
@@ -203,7 +204,7 @@ typedef struct {
STRING_PARAM_TYPE
};
- enum BAUR_RATE_UART {
+ enum BAUR_RATE_UART_C {
Baud9600 = 0x04,
Baud115200 = 0x30,
Baud230400 = 0x60,
@@ -212,7 +213,7 @@ typedef struct {
};
- enum COMMAND_UART {
+ enum COMMAND_UART_C {
WRITEPARAM = 0x03,
SAVETOFLASH = 0x04,
RESTOREFORMFLASH = 0x04,
@@ -223,7 +224,7 @@ typedef struct {
STOP_STREAM = 0x08
};
- enum PROTOCOL_MEASURE_UART {
+ enum PROTOCOL_MEASURE_UART_C {
UART_STREAM_MEASURE_T = 4,
UART_STREAM_ADVANCED_MEASURE_T = 6,
UART_STREAM_MODIFIED_MEASURE_T = 10,
@@ -232,13 +233,13 @@ typedef struct {
};
typedef struct {
- SCANNER_TYPE type;
- BAUR_RATE_UART baud_rate;
+ SCANNER_TYPE_C type;
+ BAUR_RATE_UART_C baud_rate;
unsigned char network_address;
char* number_serial_port;
- PROTOCOLS protocol;
+ PROTOCOLS_C protocol;
char* recv_ip_addrs;
- } config_base_information_rf60x_t;
-}namespace_struct_wrapper;
+ } config_base_information_rf60x_t_c;
+//}namespace_struct_wrapper;
#endif // RF60XTYPES_C_H