Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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