diff --git a/.lycheeignore b/.lycheeignore index 53dcddd963..38edc1bc94 100644 --- a/.lycheeignore +++ b/.lycheeignore @@ -2,5 +2,6 @@ https://github.com/eclipse-iceoryx/iceoryx/compare/vx.x.x...vx.x.x https://github.com/eclipse-iceoryx/iceoryx/tree/vx.x.x https://www.misra.org.uk/ https://www.gnu.org/software/screen/ +https://www.etas.com/ iceoryx-dev@eclipse.org diff --git a/doc/aspice_swe3_4/CMakeLists.txt b/doc/aspice_swe3_4/CMakeLists.txt index 095d7effe3..096ec9a601 100644 --- a/doc/aspice_swe3_4/CMakeLists.txt +++ b/doc/aspice_swe3_4/CMakeLists.txt @@ -53,33 +53,12 @@ swcomponent="@par Software Component:" \ error="@par Error Handling:" \ generatedcode="@par Generated by:"]]) +# Do not add new sub-components in this list but use 'INCLUDE_DIR_AND_ADDITIONAL_FILES' set(COMPONENTS iceoryx_platform iceoryx_hoofs iceoryx_posh iceoryx_binding_c iceoryx_introspection iceoryx_component) set(COMPONENT_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/../../iceoryx_platform/generic - ${CMAKE_CURRENT_SOURCE_DIR}/../../iceoryx_hoofs/buffer - ${CMAKE_CURRENT_SOURCE_DIR}/../../iceoryx_hoofs/cli - ${CMAKE_CURRENT_SOURCE_DIR}/../../iceoryx_hoofs/concurrent/buffer - ${CMAKE_CURRENT_SOURCE_DIR}/../../iceoryx_hoofs/concurrent/sync - ${CMAKE_CURRENT_SOURCE_DIR}/../../iceoryx_hoofs/container - ${CMAKE_CURRENT_SOURCE_DIR}/../../iceoryx_hoofs/design - ${CMAKE_CURRENT_SOURCE_DIR}/../../iceoryx_hoofs/filesystem - ${CMAKE_CURRENT_SOURCE_DIR}/../../iceoryx_hoofs/functional - ${CMAKE_CURRENT_SOURCE_DIR}/../../iceoryx_hoofs/legacy/include - ${CMAKE_CURRENT_SOURCE_DIR}/../../iceoryx_hoofs/memory - ${CMAKE_CURRENT_SOURCE_DIR}/../../iceoryx_hoofs/posix/auth - ${CMAKE_CURRENT_SOURCE_DIR}/../../iceoryx_hoofs/posix/desig - ${CMAKE_CURRENT_SOURCE_DIR}/../../iceoryx_hoofs/posix/filesystem - ${CMAKE_CURRENT_SOURCE_DIR}/../../iceoryx_hoofs/posix/ipc - ${CMAKE_CURRENT_SOURCE_DIR}/../../iceoryx_hoofs/posix/sync - ${CMAKE_CURRENT_SOURCE_DIR}/../../iceoryx_hoofs/posix/time - ${CMAKE_CURRENT_SOURCE_DIR}/../../iceoryx_hoofs/posix/utility - ${CMAKE_CURRENT_SOURCE_DIR}/../../iceoryx_hoofs/posix/vocabulary - ${CMAKE_CURRENT_SOURCE_DIR}/../../iceoryx_hoofs/primitives - ${CMAKE_CURRENT_SOURCE_DIR}/../../iceoryx_hoofs/reporting - ${CMAKE_CURRENT_SOURCE_DIR}/../../iceoryx_hoofs/time - ${CMAKE_CURRENT_SOURCE_DIR}/../../iceoryx_hoofs/utility - ${CMAKE_CURRENT_SOURCE_DIR}/../../iceoryx_hoofs/vocabulary + ${CMAKE_CURRENT_SOURCE_DIR}/../../iceoryx_hoofs/legacy ${CMAKE_CURRENT_SOURCE_DIR}/../../iceoryx_posh ${CMAKE_CURRENT_SOURCE_DIR}/../../iceoryx_binding_c ${CMAKE_CURRENT_SOURCE_DIR}/../../tools/introspection @@ -117,6 +96,33 @@ foreach(val RANGE ${cmp_len}) ) endif() + if(${cmp} STREQUAL iceoryx_hoofs) + list(APPEND INCLUDE_DIR_AND_ADDITIONAL_FILES + ${CMAKE_CURRENT_SOURCE_DIR}/../../iceoryx_hoofs/buffer + ${CMAKE_CURRENT_SOURCE_DIR}/../../iceoryx_hoofs/cli + ${CMAKE_CURRENT_SOURCE_DIR}/../../iceoryx_hoofs/concurrent/buffer + ${CMAKE_CURRENT_SOURCE_DIR}/../../iceoryx_hoofs/concurrent/sync + ${CMAKE_CURRENT_SOURCE_DIR}/../../iceoryx_hoofs/container + ${CMAKE_CURRENT_SOURCE_DIR}/../../iceoryx_hoofs/design + ${CMAKE_CURRENT_SOURCE_DIR}/../../iceoryx_hoofs/filesystem + ${CMAKE_CURRENT_SOURCE_DIR}/../../iceoryx_hoofs/functional + ${CMAKE_CURRENT_SOURCE_DIR}/../../iceoryx_hoofs/memory + ${CMAKE_CURRENT_SOURCE_DIR}/../../iceoryx_hoofs/posix/auth + ${CMAKE_CURRENT_SOURCE_DIR}/../../iceoryx_hoofs/posix/design + ${CMAKE_CURRENT_SOURCE_DIR}/../../iceoryx_hoofs/posix/filesystem + ${CMAKE_CURRENT_SOURCE_DIR}/../../iceoryx_hoofs/posix/ipc + ${CMAKE_CURRENT_SOURCE_DIR}/../../iceoryx_hoofs/posix/sync + ${CMAKE_CURRENT_SOURCE_DIR}/../../iceoryx_hoofs/posix/time + ${CMAKE_CURRENT_SOURCE_DIR}/../../iceoryx_hoofs/posix/utility + ${CMAKE_CURRENT_SOURCE_DIR}/../../iceoryx_hoofs/posix/vocabulary + ${CMAKE_CURRENT_SOURCE_DIR}/../../iceoryx_hoofs/primitives + ${CMAKE_CURRENT_SOURCE_DIR}/../../iceoryx_hoofs/reporting + ${CMAKE_CURRENT_SOURCE_DIR}/../../iceoryx_hoofs/time + ${CMAKE_CURRENT_SOURCE_DIR}/../../iceoryx_hoofs/utility + ${CMAKE_CURRENT_SOURCE_DIR}/../../iceoryx_hoofs/vocabulary + ) + endif() + doxygen_add_docs(doxygen_${cmp} ${INCLUDE_DIR_AND_ADDITIONAL_FILES} WORKING_DIRECTORY ${cmp_dir}/include diff --git a/doc/website/advanced/available-bindings-extensions.md b/doc/website/advanced/available-bindings-extensions.md new file mode 100644 index 0000000000..4beb525e64 --- /dev/null +++ b/doc/website/advanced/available-bindings-extensions.md @@ -0,0 +1,9 @@ +# Available bindings and extensions + +The following bindings and extensions are available for iceoryx: + +| Name | Description | Link | +|------------------------|-----------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------| +| DDS gateway | Gateway to the DDS protocol using [Cyclone DDS](https://cyclonedds.io/) or [FastDDS](https://github.com/eProsima/Fast-DDS) | [https://github.com/eclipse-iceoryx/iceoryx-gateway-dds](https://github.com/eclipse-iceoryx/iceoryx-gateway-dds) | +| Rust binding | Binding to use the C++ version of iceoryx in Rust projects | [https://github.com/eclipse-iceoryx/iceoryx-rs](https://github.com/eclipse-iceoryx/iceoryx-rs) | +| Automotive SOA binding | Binding to use iceoryx for SOA APIs like [AUTOSAR Adaptive](https://www.autosar.org/standards/adaptive-platform/) projects | [https://github.com/eclipse-iceoryx/iceoryx-automotive-soa](https://github.com/eclipse-iceoryx/iceoryx-automotive-soa) | diff --git a/doc/website/advanced/iceoryx-on-32-bit.md b/doc/website/advanced/iceoryx-on-32-bit.md index ce6f64d1a5..5f6fe35d63 100644 --- a/doc/website/advanced/iceoryx-on-32-bit.md +++ b/doc/website/advanced/iceoryx-on-32-bit.md @@ -1,10 +1,10 @@ -# Status +# iceoryx on 32 bit architectures iceoryx works on 32-bit hardware, but only as technology preview and is not meant for production. -See also https://github.com/eclipse-iceoryx/iceoryx/issues/2301 for more details and the limitations sections in this document. +See also [here](https://github.com/eclipse-iceoryx/iceoryx/issues/2301) for more details and the limitations sections in this document. -# Dependencies +## Dependencies For 32-bit support, the following packages need to be installed on ubuntu @@ -13,7 +13,7 @@ sudo dpkg --add-architecture i386 sudo apt install libacl1-dev:i386 libc6-dev-i386 libc6-dev-i386-cross libstdc++6-i386-cross gcc-multilib g++-multilib ``` -# iceoryx as 32-bit library +## iceoryx as 32-bit library ## Build steps @@ -42,7 +42,7 @@ Furthermore, it is required for the 32-64 bit mix-mode to enforce the same data An internal data structure, the `UsedChunkList`, might be left in a corrupt state when an application terminates abnormally when writing to this data structure. In order to detect torn-writes on 32-bit, the data structure needs to be refactored. -# iceoryx for communication between 32-bit and 64-bit applications aka 32-64 bit mix-mode +## iceoryx for communication between 32-bit and 64-bit applications aka 32-64 bit mix-mode ## Attention @@ -65,7 +65,7 @@ If the layout differs, it can lead to unpredictable behavior and errors in the a The simplest way to fix this specific alignment issue, is to use the `-malign-double` flag, which enforces an 8 byte alignment boundary for 64-bit data types on 32-bit architectures. -## Build steps +### Build steps Similar to the 32-bit build, the simplest way to build for the 32-64 bit mix-mode is the `iceoryx_build_test.sh` script @@ -102,7 +102,7 @@ build-64/iceoryx_examples/request_response/iox-cpp-request-response-listener-ser build-32/iceoryx_examples/request_response/iox-cpp-request-response-waitset-client ``` -## Limitations +### Limitations In addition to the limitations of the 32-bit iceoryx, the mix-mode needs to ensure that all the data structures in shared memory have the same layout. While the `-malign-double` flag can be used for the iceoryx data types, it does not work for POSIX data structures like `sem_t`. diff --git a/doc/website/advanced/roudi-command-line-arguments.md b/doc/website/advanced/roudi-command-line-arguments.md new file mode 100644 index 0000000000..396b07e731 --- /dev/null +++ b/doc/website/advanced/roudi-command-line-arguments.md @@ -0,0 +1,16 @@ +# Command line arguments of RouDi + +To view the available command line options for RouDi call `iox-roudi --help`. + +| Short | Long | Parameter | Explanation | +|-------|---------------------|---------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| -h | --help | None | Prints the available options | +| -v | --version | None | Prints the version string | +| -d | --domain-id | Unsigned integer | Sets the domain id. No communication can happen between different domains. Experimental feature! | +| -u | --unique-roudi-id | Unsigned integer | Sets the unique RouDi identifier | +| -m | --monitoring-mode | String (on, off) | Enables or disables the process alive monitoring feature. If enabled RouDi terminates and kills unresponsive process. | +| -l | --log-level | String (off, fatal, error, warning, info, debug, trace) | Set the log level. Default log level is 'info'. | +| -x | --compatibility | String (off, major, minor, patch, commitId, buildDate) | Sets the compatibility check level between application and RouDi. Default is 'patch'. This can be useful if old apps are build against and old iceoryx version. Use with care! | +| -t | --termination-delay | Unsigned integer | Sets the delay in seconds before RouDi sends SIGTERM to running applications at shutdown. Default is '0'. | +| -k | --kill-delay | Unsigned integer | Sets the delay in seconds before RouDi sends SIGKILL to application which did not respond to the initial SIGTERM signal. Default is '45'. | +| -c | --config-file | String (Absolute filesystem path to a config in TOML format) | Sets the config file. If option is not given, fallbacks in descending order: 1. /etc/iceoryx/roudi_config.toml 2. hard-coded config. See [configuration guide](configuration-guide.md#dynamic-configuration) for information on the format. | diff --git a/doc/website/concepts/architecture.md b/doc/website/concepts/architecture.md index 547226390a..641e4fb45f 100644 --- a/doc/website/concepts/architecture.md +++ b/doc/website/concepts/architecture.md @@ -6,7 +6,7 @@ This article provides an overview of the Eclipse iceoryx architecture and explai The main packages which Eclipse iceoryx is composed of are depicted below. -![Software layers](../images/iceoryx_software_layers_v2_0_0.svg) +![Software layers](../images/iceoryx_software_layers_v3_0_0.svg) The next sections briefly describe the components and their libraries one by one. @@ -14,7 +14,7 @@ The next sections briefly describe the components and their libraries one by one The different libraries and their namespaces are depicted below. -![Component diagram](../images/iceoryx_components_diagram_v2_0_0.svg) +![Component diagram](../images/iceoryx_components_diagram_v3_0_0.svg) ### iceoryx hoofs diff --git a/doc/website/images/bosch-logo.png b/doc/website/images/bosch-logo.png index c664d6e947..8cbc546968 100644 Binary files a/doc/website/images/bosch-logo.png and b/doc/website/images/bosch-logo.png differ diff --git a/doc/website/images/eclipse-logo.svg b/doc/website/images/eclipse-logo.svg index 78226c71f8..7248e12785 100644 --- a/doc/website/images/eclipse-logo.svg +++ b/doc/website/images/eclipse-logo.svg @@ -1,15 +1,72 @@ - - - - eclipse_foundation_logo - Created with Sketch. - - - - \ No newline at end of file + + + + + + + EF_all_colours_ai + + + + + + + + + + EF_all_colours_ai + + + + diff --git a/doc/website/images/ekxide-logo.svg b/doc/website/images/ekxide-logo.svg new file mode 100644 index 0000000000..fdc0b21a69 --- /dev/null +++ b/doc/website/images/ekxide-logo.svg @@ -0,0 +1,157 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/website/images/iceoryx_components_diagram_nextgen_release.svg b/doc/website/images/iceoryx_components_diagram_nextgen_release.svg deleted file mode 100644 index a60413ad96..0000000000 --- a/doc/website/images/iceoryx_components_diagram_nextgen_release.svg +++ /dev/null @@ -1,52 +0,0 @@ -Eclipse iceoryx component overviewEclipse iceoryx Component Overviewiceoryx_hoofshoofs library«namespace»cxx«namespace»log«namespace»unitsiceoryx_poshcore libraryruntime librarygateway libraryconfig libraryRouDi libraryiceoryx_ddsiceoryx_binding_ciceoryx_introspection«namespace»client«namespace»concurrent«namespace»DesignPattern«namespace»errors«namespace»posix«namespace»newtype«namespace»set«namespace»algorithm«namespace»ffbb«namespace»duration_literals«namespace»popo«namespace»capro«namespace»mepoo«namespace»version«namespace»build«namespace»runtime«namespace»gw«namespace»config«namespace»roudi«namespace»dds«namespace»gw«namespace»cpp2c«namespace»c2cpp«namespace»introspectionuseuseuseuse \ No newline at end of file diff --git a/doc/website/overrides/partials/footer.html b/doc/website/overrides/partials/footer.html index beefab6366..1c33740374 100644 --- a/doc/website/overrides/partials/footer.html +++ b/doc/website/overrides/partials/footer.html @@ -9,10 +9,10 @@ {% include ".icons/material/arrow-left.svg" %} @@ -21,10 +21,10 @@ {% if page.next_page %}