Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion ddsenabler_docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ sudo apt install -y \
python3-venv \
python3-sphinxcontrib.spelling \
imagemagick
pip3 install -U -r src/ddsenabler/docs/requirements.txt
pip3 install -U -r src/ddsenabler_docs/docs/requirements.txt
```

### Build documentation
Expand Down
60 changes: 20 additions & 40 deletions ddsenabler_docs/docs/02-formalia/titlepage.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,8 @@ What is DDS Enabler?
:alt: eProsima
:target: http://www.eprosima.com/


**eProsima DDS Enabler** serves as a single point of entry for DDS communication, managing all necessary participants
and seamlessly routing data between a DDS network and FIWARE Context Brokers. It enables both publishing DDS samples
into NGSI-LD entities and injecting context-broker updates back into DDS topics, providing real-time, bidirectional
interoperability.

Built on top of **eProsima Fast DDS**, DDS Enabler leverages the OMG DDS-XTypes standard for dynamic type discovery and
serialization. Its modular architecture and YAML-based configuration make it ideal for industrial scenarios requiring
low-latency, high-throughput data exchange, including human-robot interaction and OT/IT convergence under the ARISE
project.
**eProsima DDS Enabler** is a modular middleware framework that connects DDS networks with an external system or data platform, delivering real-time, bidirectional interoperability.
It orchestrates all necessary DDS participants, auto-discovers topics and types, and flexibly translates DDS samples into your target data model — and routes incoming context updates or events back into DDS topics.

.. raw:: html

Expand All @@ -31,43 +23,31 @@ Looking for commercial support? Write us at info@eprosima.com.

Find more about us at `eProsima's webpage <https://eprosima.com/>`_.

Overview
^^^^^^^^

*DDS Enabler* is one of the technical cornerstones in the ARISE project's vision for an all-in-one middleware
enabling **real-time industrial human-robot interaction**. Designed to unify **Operational Technologies (OT)** and
**Information Technologies (IT)**, it is a modular and open solution that integrates natively with **Fast DDS** and
**NGSI-LD**.

Key characteristics include:

- **Real-time publish-subscribe middleware**: Built on the DDS standard, enabling low-latency and reliable communication.
- **Seamless OT/IT integration**: Acts as a translator between DDS-based systems and NGSI-LD context brokers.
- **ROS 2 and FIWARE compatibility**: Enables industrial robots and context-aware applications to operate through the same infrastructure.
- **Scalable and extensible architecture**: Fully compatible with modern Industry 5.0 deployments, providing flexibility for growth and adaptation.

Under the hood, DDS Enabler also provides:

- **Transparent DDS Management.**
Auto-create and discover DomainParticipants, Publishers, Subscribers, topics and types without manual code.
- **Flexible YAML Configuration.**
Fine-tune QoS, network filters and discovery through a human-readable YAML file.
- **Dynamic Types via XTypes.**
Leverage `OMG DDS-XTypes 1.3 <https://www.omg.org/spec/DDS-XTypes/1.3>`_ and Fast DDS serialization utilities for
on-the-fly type registration.
- **Core Engine Powered by DDS-Pipe.**
Built on `eProsima DDS Pipe <https://github.com/eProsima/DDS-Pipe>`_, ensuring high throughput and reliable
participant discovery.
- **Serialization Utilities.**
Key features
^^^^^^^^^^^^

- **Unified DDS Participant Management**
Auto-create and discover DomainParticipants, Publishers, Subscribers, Topics and Types without manual code.
- **Flexible YAML Configuration**
Fine-tune QoS, network filters, topic allow-listing/deny-listing and discovery via a human-readable YAML file.
- **Dynamic Types via XTypes**
Leverage [OMG DDS-XTypes 1.3](https://www.omg.org/spec/DDS-XTypes/1.3) and Fast DDS serialization utilities for runtime type registration and discovery.
- **Core Engine Powered by DDS-Pipe**
Built on [eProsima DDS Pipe](https://github.com/eProsima/DDS-Pipe), ensuring low-latency, high-throughput payload forwarding and reliable discovery across distributed systems.
- **Serialization Utilities**
Convert DDS data to JSON and vice versa for REST integration and to human-readable IDL.

DDS Enabler is a flagship component of the ARISE project:
`ARISE Middleware <https://arise-middleware.eu/>`_.
Platforms using DDS Enabler
^^^^^^^^^^^^^^^^^^^^^^^^^^^
- **FIWARE NGSI-LD Context Broker**
Developed in collaboration with the FIWARE Context Broker team, *eProsima DDS Enabler* routes DDS samples into the broker (via broker-side implementation) and propagates Context Broker's context updates back into DDS topics.
DDS Enabler is a flagship component of the ARISE project: `ARISE Middleware <https://arise-middleware.eu/>`_.

Structure of the documentation
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

This documentation is organized into the following main sections:

* :ref:`Introduction <index_introduction>`
* :ref:`Installation <installation_sources_linux>`
* :ref:`API Reference <api_reference>`
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,4 @@ The following pages document the classes, functions, and types exposed by *DDS E
/ddsenabler/api_reference/dds_enabler/dds_enabler
/ddsenabler/api_reference/callback_set/callback_set
/ddsenabler/api_reference/dds_callbacks/dds_callbacks
/ddsenabler/api_reference/dds_callbacks/cb_callbacks
/ddsenabler/api_reference/dds_callbacks/callbacks
61 changes: 61 additions & 0 deletions ddsenabler_docs/docs/ddsenabler/installation/cmake_options.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
.. include:: ../../03-exports/alias.include
.. include:: ../../03-exports/roles.include


.. _cmake_options:

#############
CMake options
#############

*eProsima DDS Enabler* provides numerous CMake options for changing the behavior and configuration of *eProsima DDS Enabler*.
These options allow the developer to enable/disable certain *eProsima DDS Enabler* settings by defining these options to ``ON``/``OFF`` at the CMake execution, or set the required path to certain dependencies.

.. warning::
These options are only for developers who installed *eProsima DDS Enabler* following the compilation steps described in :ref:`installation_sources_linux`.

.. list-table::
:header-rows: 1

* - Option
Comment thread
rsanchez15 marked this conversation as resolved.
- Description
- Possible values
- Default
* - :class:`CMAKE_BUILD_TYPE`
- CMake optimization build type.
- ``Release`` |br|
``Debug``
- ``Release``
* - :class:`BUILD_DOCS`
- Build the *eProsima DDS Enabler* |br| documentation. |br|
- ``OFF`` |br|
``ON``
- ``OFF``
* - :class:`BUILD_TESTS`
- Build the *eProsima DDS Enabler* tools and |br| documentation tests.
- ``OFF`` |br|
``ON``
- ``OFF``
* - :class:`COMPILE_EXAMPLES`
- Build the *eProsima DDS Enabler* examples.
- ``OFF`` |br|
``ON``
- ``OFF``
* - :class:`LOG_INFO`
- Activate *eProsima DDS Enabler* logs. It is |br|
set to ``ON`` if :class:`CMAKE_BUILD_TYPE` is set |br|
to ``Debug``.
- ``OFF`` |br|
``ON``
- ``ON`` if ``Debug`` |br|
``OFF`` otherwise
* - :class:`ASAN_BUILD`
- Activate address sanitizer build.
- ``OFF`` |br|
``ON``
- ``OFF``
* - :class:`TSAN_BUILD`
- Activate thread sanitizer build.
- ``OFF`` |br|
``ON``
- ``OFF``
Loading