Skip to content

Commit

Permalink
eCAL v5.3.4.4:
Browse files Browse the repository at this point in the history
new: support for Visual Studio 2019
fix: system time backward jump lead to application freeze (reimplemented named ipc mutex and event for linux based on pthread)
change: client/sever tcp communication framed by header with length info
change: Readme.md file new "Initial Test" section

author: Rex Schilasky <[email protected]>
  • Loading branch information
rex-schilasky committed Jul 18, 2019
1 parent 04a1093 commit e07627e
Show file tree
Hide file tree
Showing 29 changed files with 1,152 additions and 171 deletions.
26 changes: 11 additions & 15 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -33,27 +33,23 @@ cmake_policy(SET CMP0054 NEW)
# command line build options
# use it that way cmake .. -DBUILD_APPS=ON -DBUILD_SAMPLES=ON
# --------------------------------------------------------
option(HAS_QT5 "Platform supports Qt 5 library" ON)
option(HAS_QT5 "Platform supports Qt 5 library" ON)

option(BUILD_DOCS "Build the eCAL documentation" ON)
option(BUILD_APPS "Build the eCAL applications" ON)
option(BUILD_SAMPLES "Build the eCAL samples" ON)
option(BUILD_TIME "Build the eCAL time interfaces" ON)
option(ECAL_LAYER_FASTRTPS "Provide fast rtps as communication layer" OFF)
option(BUILD_DOCS "Build the eCAL documentation" ON)
option(BUILD_APPS "Build the eCAL applications" ON)
option(BUILD_SAMPLES "Build the eCAL samples" ON)
option(BUILD_TIME "Build the eCAL time interfaces" ON)
option(ECAL_LAYER_FASTRTPS "Provide fast rtps as communication layer" OFF)

option(ECAL_INSTALL_RUNTIME "Install the eCAL runtime components" ON)
option(ECAL_INSTALL_SAMPLE_SOURCES "Install the sources of eCAL samples" ON)
option(ECAL_INSTALL_SDK "Install the eCAL SDK" ON)
option(ECAL_INSTALL_SAMPLE_SOURCES "Install the sources of eCAL samples" ON)

option(INSTALL_KEEP_CONFIG "Replace the config, even if it already exists" ON)

option(ECAL_JOIN_MULTICAST_TWICE "Specific Multicast Network Bug Workaround" OFF)
option(ECAL_NPCAP_SUPPORT "Enable the eCAL Npcap Receiver (i.e. the Win10 performance fix)" OFF)
option(ECAL_JOIN_MULTICAST_TWICE "Specific Multicast Network Bug Workaround" OFF)
option(ECAL_NPCAP_SUPPORT "Enable the eCAL Npcap Receiver (i.e. the Win10 performance fix)" OFF)


# Set option regarding third party library builds
option(ECAL_THIRDPARTY_BUILD_CMAKE_FUNCTIONS "Build CMakeFunctions with eCAL" ON)
option(ECAL_THIRDPARTY_BUILD_PROTOBUF "Build Protobuf with eCAL" ON)
option(ECAL_THIRDPARTY_BUILD_CMAKE_FUNCTIONS "Build CMakeFunctions with eCAL" ON)
option(ECAL_THIRDPARTY_BUILD_PROTOBUF "Build Protobuf with eCAL" ON)


# there is a CMake issue with testing threading availibility via TEST_RUN
Expand Down
124 changes: 40 additions & 84 deletions CMakeSettings.json
Original file line number Diff line number Diff line change
@@ -1,102 +1,58 @@
{
{
"configurations": [
{
"name": "x64-Debug",
"generator": "Visual Studio 15 2017 Win64",
"generator": "Ninja",
"configurationType": "Debug",
"inheritEnvironments": [ "msvc_x64_x64" ],
"buildRoot": "${projectDir}\\_vs_cmake\\build\\${name}",
"installRoot": "${projectDir}\\_vs_cmake\\install\\${name}",
"variables": [
{
"name": "HAS_QT5",
"value": "ON"
},
{
"name": "BUILD_DOCS",
"value": "ON"
},
{
"name": "BUILD_APPS",
"value": "ON"
},
{
"name": "BUILD_SAMPLES",
"value": "ON"
},
{
"name": "BUILD_TIME",
"value": "ON"
},
{
"name": "ECAL_LAYER_FASTRTPS",
"value": "OFF"
},
{
"name": "ECAL_INSTALL_RUNTIME",
"value": "ON"
},
{
"name": "ECAL_INSTALL_SAMPLE_SOURCES",
"value": "ON"
},
{
"name": "ECAL_INSTALL_SDK",
"value": "ON"
},
],
"buildRoot": "${projectDir}\\_vs_out\\build\\${name}",
"installRoot": "${projectDir}\\_vs_out\\install\\${name}",
"cmakeCommandArgs": "",
"buildCommandArgs": "",
"ctestCommandArgs": ""
"ctestCommandArgs": "",
"variables": [
{
"name": "CMAKE_CXX_FLAGS",
"value": "/DWIN32 /D_WINDOWS /W4 /GR /EHsc",
"type": "STRING"
}
]
},
{
"name": "x64-Release",
"generator": "Visual Studio 15 2017 Win64",
"generator": "Ninja",
"configurationType": "Release",
"buildRoot": "${projectDir}\\_vs_out\\build\\${name}",
"installRoot": "${projectDir}\\_vs_out\\install\\${name}",
"cmakeCommandArgs": "",
"buildCommandArgs": "",
"ctestCommandArgs": "",
"inheritEnvironments": [ "msvc_x64_x64" ],
"buildRoot": "${projectDir}\\_vs_cmake\\build\\${name}",
"installRoot": "${projectDir}\\_vs_cmake\\install\\${name}",
"variables": [
{
"name": "HAS_QT5",
"value": "ON"
},
{
"name": "BUILD_DOCS",
"value": "ON"
},
{
"name": "BUILD_APPS",
"value": "ON"
},
{
"name": "BUILD_SAMPLES",
"value": "ON"
},
{
"name": "BUILD_TIME",
"value": "ON"
},
{
"name": "ECAL_LAYER_FASTRTPS",
"value": "OFF"
},
{
"name": "ECAL_INSTALL_RUNTIME",
"value": "ON"
},
{
"name": "ECAL_INSTALL_SAMPLE_SOURCES",
"value": "ON"
},
{
"name": "ECAL_INSTALL_SDK",
"value": "ON"
},
],
"name": "CMAKE_CXX_FLAGS",
"value": "/DWIN32 /D_WINDOWS /W4 /GR /EHsc",
"type": "STRING"
}
]
},
{
"name": "x64-RelWithDebInfo",
"generator": "Ninja",
"configurationType": "RelWithDebInfo",
"buildRoot": "${projectDir}\\_vs_out\\build\\${name}",
"installRoot": "${projectDir}\\_vs_out\\install\\${name}",
"cmakeCommandArgs": "",
"buildCommandArgs": "",
"ctestCommandArgs": ""
"ctestCommandArgs": "",
"inheritEnvironments": [ "msvc_x64_x64" ],
"variables": [
{
"name": "CMAKE_CXX_FLAGS",
"value": "/DWIN32 /D_WINDOWS /W4 /GR /EHsc",
"type": "STRING"
}
]
}
]
}
}
12 changes: 12 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ additional informations like a unique name, a type and a description. A topic ca

eCAL is simplifying the data transport as much as possible, It uses different mechanism to transport a topic from a publisher to a connected subscriber. On the same computer node the data are exchanged by using memory mapped files. Between different computing nodes UDP multicast can be used for high performance data throughput, rtps can be used for reliable data transport.


## Checkout the repository

Because eCAL is using some thirdparty libraries as git submodules you need to clone the repository recursively
Expand Down Expand Up @@ -185,6 +186,17 @@ You can find the ecal.ini configuration file under %APPDATA%\eCAL.

Don't forget to disable any windows firewall.

## Initial Test

To initially check the functionality of a fresh installed eCAL system, just follow these steps.

* start the two installed sample applications "ecal_sample_person_snd" and "ecal_sample_person_rec"
* start the eCAL monitor application (for windows via Start Menu / eCAL / Start eCAL Monitor", for linux via command line "ecal_mon")

Now you should see the two running application "person publisher" and "person subscriber". Expand their content and double click on the topic "person". A new reflection windows should open and you can check the content of the person topic on the fly.

![eCAL monitor showing topic 'person'](gfx/app/monitor_person.png?raw=true "eCAL monitor showing topic 'person'")

## Usage

### The Publish-Subscribe Pattern
Expand Down
Binary file added app/iconset/FlorianReimold/Exit.docx
Binary file not shown.
73 changes: 73 additions & 0 deletions app/iconset/FlorianReimold/Exit.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/iconset/FlorianReimold/TaskbarIcons.docx
Binary file not shown.
98 changes: 98 additions & 0 deletions app/iconset/FlorianReimold/circle_forward_to.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit e07627e

Please sign in to comment.