start CDUtils

git-svn-id: svn://db.shs.com.ru/libs@96 a8b55f48-bf90-11e4-a774-851b48703e85
This commit is contained in:
2016-07-11 17:45:49 +00:00
parent 491712bd77
commit 91718711c9
4 changed files with 141 additions and 0 deletions

67
cd_utils/CMakeLists.txt Normal file
View File

@@ -0,0 +1,67 @@
project(cd_utils)
cmake_minimum_required(VERSION 2.6)
if (NOT LIBPROJECT)
find_package(PIP REQUIRED)
endif ()
if (MINGW)
find_package(MinGW REQUIRED)
endif()
include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR} ${PIP_INCLUDES})
set(PULT_NAME "cd_pult")
option(PULT "Build ${PULT_NAME}" 1)
option(LIB "System install" 1)
option(DEBUG "Build with -g3" 0)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2 -Wall")
if (DEBUG)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g3")
endif ()
set(CPPS_UTILS "cdutils.cpp")
set(HDRS_UTILS "cdutils.h")
if (DEFINED ENV{QNX_HOST})
add_library(${PROJECT_NAME} STATIC ${CPPS_UTILS} ${HDRS_UTILS})
else ()
add_library(${PROJECT_NAME} SHARED ${CPPS_UTILS} ${HDRS_UTILS})
endif ()
target_link_libraries(${PROJECT_NAME} ${PIP_LIBRARY})
add_executable(cdutilsngtest WIN32 "cdutilstest.cpp")
target_link_libraries(cdutilsngtest ${PIP_LIBRARY} ${PROJECT_NAME})
# if (NOT DEFINED ENV{QNX_HOST})
# if (PULT)
# find_package(Qt4 REQUIRED)
# find_package(OpenGL REQUIRED)
# include_directories(${QT_INCLUDES})
# set(CPPS "kx_pult.cpp" "kx_pult.h" "kx_pult.ui" "main_kx_pult.cpp")
# set(MOCS "kx_pult.h")
# file(GLOB UIS "*.ui")
# file(GLOB RES "*.qrc")
# qt4_wrap_cpp(CMOCS ${MOCS} OPTIONS -nw)
# qt4_wrap_ui(CUIS ${UIS})
# qt4_add_resources(RESS ${RES})
# add_executable(${KX_PULT_NAME} WIN32 ${CPPS} ${CMOCS} ${CUIS} ${RESS} ${MOCS})
# set(LIBS ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} ${QT_QTOPENGL_LIBRARY} ${OPENGL_LIBRARIES} ${PIP_LIBRARY} qad_graphic qad_utils qad_widgets)
# target_link_libraries(${KX_PULT_NAME} ${LIBS} ${PROJECT_NAME})
# endif ()
# endif ()
# if (LIB)
# if (WIN32)
# set(CMAKE_INSTALL_PREFIX ${MINGW_DIR})
# install(FILES ${HDRS_UTILS} DESTINATION ${MINGW_INCLUDE})
# install(TARGETS ${PROJECT_NAME} DESTINATION ${MINGW_LIB})
# install(TARGETS ${PROJECT_NAME} DESTINATION ${MINGW_BIN})
# else ()
# set(CMAKE_INSTALL_PREFIX /usr)
# install(FILES ${HDRS_UTILS} DESTINATION ${CMAKE_INSTALL_PREFIX}/include)
# install(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
# endif ()
# message(STATUS "Install to system \"${CMAKE_INSTALL_PREFIX}\"")
# else ()
# install(TARGETS ${PROJECT_NAME} DESTINATION bin)
# message(STATUS "Install to local \"bin\"")
# endif ()
# if (NOT DEFINED ENV{QNX_HOST})
# if (KX_PULT)
# install(TARGETS ${KX_PULT_NAME} DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
# endif ()
# endif ()

40
cd_utils/cdutils.cpp Normal file
View File

@@ -0,0 +1,40 @@
#include "cdutils.h"
volatile double X[KX_COUNT];
volatile PIMap<int, double> K;
static const char connection_config[] =
"include = ip.conf\n\
[connection]\n\
device.c = eth://UDP:127.0.0.1:36102:127.0.0.1:36101 #s\n\
device.c.disconnectTimeout = 3.00000000 #f\n\
device.k = eth://UDP:127.0.0.1:26102:127.0.0.1:26101 #s\n\
device.k.disconnectTimeout = 3.00000000 #f\n\
device.x = eth://UDP:127.0.0.1:16102:127.0.0.1:16101 #s\n\
device.x.disconnectTimeout = 3.00000000 #f\n\
device.c_eth = eth://UDP:${ip_kx}:36102:${ip_kxpult}:36101 #s\n\
device.c_eth.disconnectTimeout = 3.00000000 #f\n\
device.k_eth = eth://UDP:${ip_kx}:26102:${ip_kxpult}:26101 #s\n\
device.k_eth.disconnectTimeout = 3.00000000 #f\n\
device.x_eth = eth://UDP:${ip_kx}:16102:${ip_kxpult}:16101 #s\n\
device.x_eth.disconnectTimeout = 3.00000000 #f\n\
channel.0.from = eth://UDP:127.0.0.1:16102:127.0.0.1:16101 #s\n\
channel.0.to = eth://UDP:${ip_kx}:16102:${ip_kxpult}:16101 #s\n\
channel.1.from = eth://UDP:127.0.0.1:26102:127.0.0.1:26101 #s\n\
channel.1.to = eth://UDP:${ip_kx}:26102:${ip_kxpult}:26101 #s\n\
channel.2.from = eth://UDP:127.0.0.1:36102:127.0.0.1:36101 #s\n\
channel.2.to = eth://UDP:${ip_kx}:36102:${ip_kxpult}:36101 #s\n\
[]\n\
connectionmodel = AAAWNHja7ZbfShtBFMa/Xf9UrYLSXnqhErxrdSNYKBRXEMQbEVGhBBRJgob4J6SxSZBC38ELb32UBR/AV/ARfAP9MjmzyQ7TGGkaGzeznMycmTNnZn/zLRkAH5HGOc74ZNkqIac8YBhwLlk7tEHUi1trP7KwHqCN+AhLLeYHpqC7HEeFqbLygJal3XHfPjxE2/kX69UxYK32en62vnqwIXvJwOr7m1JLvPZZ3tGmBR0ErSNYXY20gbuPvxl/eSaKuxxY/RC/xPfxdwb/3u8o7u+w+iF+ie/j7wj+IBXFH+zD6mvcOr7L+PXW3xz+nIH7KLD6If4c+urvIP6qgb96Y/VD/NW/xa/W5rj7SeImg2Jg5nRlji7M4dwJk1U9jzaOAz4lVFHgHUuOsjEHo9IXnrceXJe+cbXQGQ5xak3wgTYG9ZPnSlmudWykuo7sJ8OYn7zppa3pDnS6PUn1FQt8dnkYW2wncMmpBYblUcEv9iSxDA+LrM3RAi5wwhzNUZ6xtW+Rtzzl9TPTGtOAkSAlCeZpc5yc48cQvdPusK+G7pzbKVlST6gT90ciX9Rgk8TnZdIYyigyWUntEGrHRbYPkWkIq0k0CfSCaCqvIRqvLdF48RONX7jvBdGkX0M0S22JZik2opk1RaP/Ev8gmttOimalTdG816fsElE0xdULxJLSabatYvEoii/4zGOvm2fIpdV4jISi7zH/uVDy3RVK8hmhJGMolAR6QSiV7grFe0YoMbivPAGq7YwD"
;
CDUtils::CDUtils() {
PIString s(connection_config);
connection.configureFromString(&s);
// connection.start();
}
void CDUtils::test() {
//piCoutObj << connection.makeConfig();
piCoutObj << connection.boundedDevices().size();
}

25
cd_utils/cdutils.h Normal file
View File

@@ -0,0 +1,25 @@
#ifndef CDUTILS_H
#define CDUTILS_H
#include "piconnection.h"
#include "pidatatransfer.h"
#define KX_COUNT 16384
extern volatile double X[KX_COUNT];
extern volatile PIMap<int, double> K;
class CDUtils : public PIObject
{
PIOBJECT(CDUtils)
public:
CDUtils();
void test();
private:
PIConnection connection;
};
#endif // CDUTILS_H

9
cd_utils/cdutilstest.cpp Normal file
View File

@@ -0,0 +1,9 @@
#include "cdutils.h"
int main(int argc, char *argv[]) {
CDUtils cd;
piMSleep(1000);
cd.test();
return 0;
}