Skip to content

Commit 19a64ed

Browse files
linnhoffClemensLinnhoff
authored andcommitted
moved flatbuffers examples to separate folders
Signed-off-by: linnhoff <linnhoff@fzd.tu-darmstadt.de>
1 parent c4cd0d2 commit 19a64ed

17 files changed

+2652
-319
lines changed

examples/CMakeLists.txt

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,11 @@ get_directory_property(OSI_VERSION_PATCH DIRECTORY open-simulation-interface DEF
2727
set(OSIVERSION "${OSI_VERSION_MAJOR}.${OSI_VERSION_MINOR}.${OSI_VERSION_PATCH}")
2828

2929
include_directories( includes )
30-
add_subdirectory( OSMPDummySensor )
31-
add_subdirectory( OSMPDummySource )
32-
#add_subdirectory( OSMPCNetworkProxy )
33-
#add_subdirectory( object-based-generic-perception-object-model )
34-
#add_subdirectory( reflection-based-lidar-object-model )
30+
if(BUILD_FLATBUFFER)
31+
add_subdirectory( OSMPDummySensor_flat )
32+
add_subdirectory( OSMPDummySource_flat )
33+
else()
34+
add_subdirectory( OSMPDummySensor )
35+
add_subdirectory( OSMPDummySource )
36+
add_subdirectory( OSMPCNetworkProxy )
37+
endif()

examples/OSMPDummySensor/CMakeLists.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ project(OSMPDummySensor)
33

44
set(CMAKE_CXX_STANDARD 11)
55
set(CMAKE_CXX_STANDARD_REQUIRED ON)
6-
set(LINK_WITH_SHARED_OSI ON CACHE BOOL "Link FMU with shared OSI library instead of statically linking")
6+
set(LINK_WITH_SHARED_OSI OFF CACHE BOOL "Link FMU with shared OSI library instead of statically linking")
77
set(PUBLIC_LOGGING OFF CACHE BOOL "Enable logging via FMI logger")
88
set(PRIVATE_LOGGING OFF CACHE BOOL "Enable private logging to file")
99
if(WIN32)
@@ -23,16 +23,16 @@ string(MD5 FMUGUID modelDescription.in.xml)
2323
configure_file(modelDescription.in.xml modelDescription.xml @ONLY)
2424
configure_file(OSMPDummySensorConfig.in.h OSMPDummySensorConfig.h)
2525

26-
find_package(Protobuf 3.0.0 REQUIRED)
26+
find_package(Protobuf 2.6.1 REQUIRED)
2727
add_library(OSMPDummySensor SHARED OSMPDummySensor.cpp)
2828
set_target_properties(OSMPDummySensor PROPERTIES PREFIX "")
2929
target_compile_definitions(OSMPDummySensor PRIVATE "FMU_SHARED_OBJECT")
3030
if(LINK_WITH_SHARED_OSI)
31-
target_link_libraries(OSMPDummySensor open_simulation_interface_fbs)
31+
target_link_libraries(OSMPDummySensor open_simulation_interface)
3232
else()
3333
target_link_libraries(OSMPDummySensor open_simulation_interface_pic)
3434
endif()
35-
include_directories("${CMAKE_CURRENT_BINARY_DIR}" "${CMAKE_CURRENT_BINARY_DIR}/include")
35+
include_directories(${CMAKE_CURRENT_BINARY_DIR})
3636

3737
if(WIN32)
3838
if(CMAKE_SIZEOF_VOID_P EQUAL 8)

examples/OSMPDummySensor/OSMPDummySensor.cpp

Lines changed: 99 additions & 166 deletions
Large diffs are not rendered by default.

examples/OSMPDummySensor/OSMPDummySensor.h

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -82,10 +82,8 @@ using namespace std;
8282

8383
#undef min
8484
#undef max
85-
#include "osi_sensorview_generated.h"
86-
#include "osi_sensordata_generated.h"
87-
#include "flatbuffers/reflection.h"
88-
#include "flatbuffers/util.h"
85+
#include "osi_sensorview.pb.h"
86+
#include "osi_sensordata.pb.h"
8987

9088
/* FMU Class */
9189
class COSMPDummySensor {
@@ -206,10 +204,10 @@ class COSMPDummySensor {
206204
fmi2Real real_vars[FMI_REAL_VARS];
207205
string string_vars[FMI_STRING_VARS];
208206
bool simulation_started;
209-
string currentOutputBuffer;
210-
string lastOutputBuffer;
211-
string currentConfigRequestBuffer;
212-
string lastConfigRequestBuffer;
207+
string* currentOutputBuffer;
208+
string* lastOutputBuffer;
209+
string* currentConfigRequestBuffer;
210+
string* lastConfigRequestBuffer;
213211

214212
/* Simple Accessors */
215213
fmi2Boolean fmi_valid() { return boolean_vars[FMI_BOOLEAN_VALID_IDX]; }
@@ -224,9 +222,8 @@ class COSMPDummySensor {
224222
bool get_fmi_sensor_view_config(osi3::SensorViewConfiguration& data);
225223
void set_fmi_sensor_view_config_request(const osi3::SensorViewConfiguration& data);
226224
void reset_fmi_sensor_view_config_request();
227-
//bool get_fmi_sensor_view_in(osi3::SensorView& data);
228-
const osi3::SensorView* get_fmi_sensor_view_in();
229-
void set_fmi_sensor_data_out();
225+
bool get_fmi_sensor_view_in(osi3::SensorView& data);
226+
void set_fmi_sensor_data_out(const osi3::SensorData& data);
230227
void reset_fmi_sensor_data_out();
231228

232229
/* Refreshing of Calculated Parameters */
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
cmake_minimum_required(VERSION 3.5)
2+
project(OSMPDummySensor)
3+
4+
set(CMAKE_CXX_STANDARD 11)
5+
set(CMAKE_CXX_STANDARD_REQUIRED ON)
6+
set(LINK_WITH_SHARED_OSI ON CACHE BOOL "Link FMU with shared OSI library instead of statically linking")
7+
set(PUBLIC_LOGGING OFF CACHE BOOL "Enable logging via FMI logger")
8+
set(PRIVATE_LOGGING OFF CACHE BOOL "Enable private logging to file")
9+
if(WIN32)
10+
set(PRIVATE_LOG_PATH "C:/TEMP/OSMPDummySensorLog.log" CACHE FILEPATH "Path to write private log file to")
11+
else()
12+
set(PRIVATE_LOG_PATH "/tmp/OSMPDummySensorLog.log" CACHE FILEPATH "Path to write private log file to")
13+
endif()
14+
if(PRIVATE_LOGGING)
15+
file(TO_NATIVE_PATH ${PRIVATE_LOG_PATH} PRIVATE_LOG_PATH_NATIVE)
16+
string(REPLACE "\\" "\\\\" PRIVATE_LOG_PATH ${PRIVATE_LOG_PATH_NATIVE})
17+
endif()
18+
set(VERBOSE_FMI_LOGGING OFF CACHE BOOL "Enable detailed FMI function logging")
19+
set(DEBUG_BREAKS OFF CACHE BOOL "Enable debugger traps for debug builds of FMU")
20+
21+
string(TIMESTAMP FMUTIMESTAMP UTC)
22+
string(MD5 FMUGUID modelDescription.in.xml)
23+
configure_file(modelDescription.in.xml modelDescription.xml @ONLY)
24+
configure_file(OSMPDummySensorConfig.in.h OSMPDummySensorConfig.h)
25+
26+
find_package(Protobuf 3.0.0 REQUIRED)
27+
add_library(OSMPDummySensor SHARED OSMPDummySensor.cpp)
28+
set_target_properties(OSMPDummySensor PROPERTIES PREFIX "")
29+
target_compile_definitions(OSMPDummySensor PRIVATE "FMU_SHARED_OBJECT")
30+
if(LINK_WITH_SHARED_OSI)
31+
target_link_libraries(OSMPDummySensor open_simulation_interface_fbs)
32+
else()
33+
target_link_libraries(OSMPDummySensor open_simulation_interface_pic)
34+
endif()
35+
include_directories("${CMAKE_CURRENT_BINARY_DIR}" "${CMAKE_CURRENT_BINARY_DIR}/include")
36+
37+
if(WIN32)
38+
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
39+
set(FMI_BINARIES_PLATFORM "win64")
40+
else()
41+
set(FMI_BINARIES_PLATFORM "win32")
42+
endif()
43+
elseif(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
44+
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
45+
set(FMI_BINARIES_PLATFORM "linux64")
46+
else()
47+
set(FMI_BINARIES_PLATFORM "linux32")
48+
endif()
49+
elseif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
50+
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
51+
set(FMI_BINARIES_PLATFORM "darwin64")
52+
else()
53+
set(FMI_BINARIES_PLATFORM "darwin32")
54+
endif()
55+
endif()
56+
57+
add_custom_command(TARGET OSMPDummySensor
58+
POST_BUILD
59+
COMMAND ${CMAKE_COMMAND} -E remove_directory "${CMAKE_CURRENT_BINARY_DIR}/buildfmu"
60+
COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_CURRENT_BINARY_DIR}/buildfmu/sources"
61+
COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_CURRENT_BINARY_DIR}/buildfmu/binaries/${FMI_BINARIES_PLATFORM}"
62+
COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_BINARY_DIR}/modelDescription.xml" "${CMAKE_CURRENT_BINARY_DIR}/buildfmu"
63+
COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/OSMPDummySensor.cpp" "${CMAKE_CURRENT_BINARY_DIR}/buildfmu/sources/"
64+
COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_SOURCE_DIR}/OSMPDummySensor.h" "${CMAKE_CURRENT_BINARY_DIR}/buildfmu/sources/"
65+
COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_CURRENT_BINARY_DIR}/OSMPDummySensorConfig.h" "${CMAKE_CURRENT_BINARY_DIR}/buildfmu/sources/OSMPDummySensorConfig.h"
66+
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:OSMPDummySensor> $<$<PLATFORM_ID:Windows>:$<$<CONFIG:Debug>:$<TARGET_PDB_FILE:OSMPDummySensor>>> "${CMAKE_CURRENT_BINARY_DIR}/buildfmu/binaries/${FMI_BINARIES_PLATFORM}"
67+
COMMAND ${CMAKE_COMMAND} -E chdir "${CMAKE_CURRENT_BINARY_DIR}/buildfmu" ${CMAKE_COMMAND} -E tar "cfv" "../OSMPDummySensor.fmu" --format=zip "modelDescription.xml" "${CMAKE_CURRENT_BINARY_DIR}/buildfmu/sources" "${CMAKE_CURRENT_BINARY_DIR}/buildfmu/binaries/${FMI_BINARIES_PLATFORM}")

0 commit comments

Comments
 (0)