Skip to content

Commit 74180d9

Browse files
Add documentation with the installation from sources (Windows & Linux) (#16)
* Add documentation with the installation from sources (Windows & Linux) Signed-off-by: Eugenio Collado <eugeniocollado@eprosima.com> * Refactor the library overview description to be the same as the README Signed-off-by: Eugenio Collado <eugeniocollado@eprosima.com> * Note for CMake installation Signed-off-by: Eugenio Collado <eugeniocollado@eprosima.com> * Refactor installation dependencies Signed-off-by: Eugenio Collado <eugeniocollado@eprosima.com> * Review comments Signed-off-by: Eugenio Collado <eugeniocollado@eprosima.com> --------- Signed-off-by: Eugenio Collado <eugeniocollado@eprosima.com>
1 parent 9b9f481 commit 74180d9

7 files changed

Lines changed: 792 additions & 49 deletions

File tree

ddsenabler_docs/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ sudo apt install -y \
2222
python3-venv \
2323
python3-sphinxcontrib.spelling \
2424
imagemagick
25-
pip3 install -U -r src/ddsenabler/docs/requirements.txt
25+
pip3 install -U -r src/ddsenabler_docs/docs/requirements.txt
2626
```
2727

2828
### Build documentation

ddsenabler_docs/docs/02-formalia/titlepage.rst

Lines changed: 20 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,8 @@ What is DDS Enabler?
99
:alt: eProsima
1010
:target: http://www.eprosima.com/
1111

12-
13-
**eProsima DDS Enabler** serves as a single point of entry for DDS communication, managing all necessary participants
14-
and seamlessly routing data between a DDS network and FIWARE Context Brokers. It enables both publishing DDS samples
15-
into NGSI-LD entities and injecting context-broker updates back into DDS topics, providing real-time, bidirectional
16-
interoperability.
17-
18-
Built on top of **eProsima Fast DDS**, DDS Enabler leverages the OMG DDS-XTypes standard for dynamic type discovery and
19-
serialization. Its modular architecture and YAML-based configuration make it ideal for industrial scenarios requiring
20-
low-latency, high-throughput data exchange, including human-robot interaction and OT/IT convergence under the ARISE
21-
project.
12+
**eProsima DDS Enabler** is a modular middleware framework that connects DDS networks with an external system or data platform, delivering real-time, bidirectional interoperability.
13+
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.
2214

2315
.. raw:: html
2416

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

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

34-
Overview
35-
^^^^^^^^
36-
37-
*DDS Enabler* is one of the technical cornerstones in the ARISE project's vision for an all-in-one middleware
38-
enabling **real-time industrial human-robot interaction**. Designed to unify **Operational Technologies (OT)** and
39-
**Information Technologies (IT)**, it is a modular and open solution that integrates natively with **Fast DDS** and
40-
**NGSI-LD**.
41-
42-
Key characteristics include:
43-
44-
- **Real-time publish-subscribe middleware**: Built on the DDS standard, enabling low-latency and reliable communication.
45-
- **Seamless OT/IT integration**: Acts as a translator between DDS-based systems and NGSI-LD context brokers.
46-
- **ROS 2 and FIWARE compatibility**: Enables industrial robots and context-aware applications to operate through the same infrastructure.
47-
- **Scalable and extensible architecture**: Fully compatible with modern Industry 5.0 deployments, providing flexibility for growth and adaptation.
48-
49-
Under the hood, DDS Enabler also provides:
50-
51-
- **Transparent DDS Management.**
52-
Auto-create and discover DomainParticipants, Publishers, Subscribers, topics and types without manual code.
53-
- **Flexible YAML Configuration.**
54-
Fine-tune QoS, network filters and discovery through a human-readable YAML file.
55-
- **Dynamic Types via XTypes.**
56-
Leverage `OMG DDS-XTypes 1.3 <https://www.omg.org/spec/DDS-XTypes/1.3>`_ and Fast DDS serialization utilities for
57-
on-the-fly type registration.
58-
- **Core Engine Powered by DDS-Pipe.**
59-
Built on `eProsima DDS Pipe <https://github.com/eProsima/DDS-Pipe>`_, ensuring high throughput and reliable
60-
participant discovery.
61-
- **Serialization Utilities.**
26+
Key features
27+
^^^^^^^^^^^^
28+
29+
- **Unified DDS Participant Management**
30+
Auto-create and discover DomainParticipants, Publishers, Subscribers, Topics and Types without manual code.
31+
- **Flexible YAML Configuration**
32+
Fine-tune QoS, network filters, topic allow-listing/deny-listing and discovery via a human-readable YAML file.
33+
- **Dynamic Types via XTypes**
34+
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.
35+
- **Core Engine Powered by DDS-Pipe**
36+
Built on [eProsima DDS Pipe](https://github.com/eProsima/DDS-Pipe), ensuring low-latency, high-throughput payload forwarding and reliable discovery across distributed systems.
37+
- **Serialization Utilities**
6238
Convert DDS data to JSON and vice versa for REST integration and to human-readable IDL.
6339

64-
DDS Enabler is a flagship component of the ARISE project:
65-
`ARISE Middleware <https://arise-middleware.eu/>`_.
40+
Platforms using DDS Enabler
41+
^^^^^^^^^^^^^^^^^^^^^^^^^^^
42+
- **FIWARE NGSI-LD Context Broker**
43+
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.
44+
DDS Enabler is a flagship component of the ARISE project: `ARISE Middleware <https://arise-middleware.eu/>`_.
6645

6746
Structure of the documentation
6847
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
6948

7049
This documentation is organized into the following main sections:
7150

7251
* :ref:`Introduction <index_introduction>`
52+
* :ref:`Installation <installation_sources_linux>`
7353
* :ref:`API Reference <api_reference>`

ddsenabler_docs/docs/ddsenabler/api_reference/api_reference.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,4 @@ The following pages document the classes, functions, and types exposed by *DDS E
1919
/ddsenabler/api_reference/dds_enabler/dds_enabler
2020
/ddsenabler/api_reference/callback_set/callback_set
2121
/ddsenabler/api_reference/dds_callbacks/dds_callbacks
22-
/ddsenabler/api_reference/dds_callbacks/cb_callbacks
22+
/ddsenabler/api_reference/dds_callbacks/callbacks
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
.. include:: ../../03-exports/alias.include
2+
.. include:: ../../03-exports/roles.include
3+
4+
5+
.. _cmake_options:
6+
7+
#############
8+
CMake options
9+
#############
10+
11+
*eProsima DDS Enabler* provides numerous CMake options for changing the behavior and configuration of *eProsima DDS Enabler*.
12+
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.
13+
14+
.. warning::
15+
These options are only for developers who installed *eProsima DDS Enabler* following the compilation steps described in :ref:`installation_sources_linux`.
16+
17+
.. list-table::
18+
:header-rows: 1
19+
20+
* - Option
21+
- Description
22+
- Possible values
23+
- Default
24+
* - :class:`CMAKE_BUILD_TYPE`
25+
- CMake optimization build type.
26+
- ``Release`` |br|
27+
``Debug``
28+
- ``Release``
29+
* - :class:`BUILD_DOCS`
30+
- Build the *eProsima DDS Enabler* |br| documentation. |br|
31+
- ``OFF`` |br|
32+
``ON``
33+
- ``OFF``
34+
* - :class:`BUILD_TESTS`
35+
- Build the *eProsima DDS Enabler* tools and |br| documentation tests.
36+
- ``OFF`` |br|
37+
``ON``
38+
- ``OFF``
39+
* - :class:`COMPILE_EXAMPLES`
40+
- Build the *eProsima DDS Enabler* examples.
41+
- ``OFF`` |br|
42+
``ON``
43+
- ``OFF``
44+
* - :class:`LOG_INFO`
45+
- Activate *eProsima DDS Enabler* logs. It is |br|
46+
set to ``ON`` if :class:`CMAKE_BUILD_TYPE` is set |br|
47+
to ``Debug``.
48+
- ``OFF`` |br|
49+
``ON``
50+
- ``ON`` if ``Debug`` |br|
51+
``OFF`` otherwise
52+
* - :class:`ASAN_BUILD`
53+
- Activate address sanitizer build.
54+
- ``OFF`` |br|
55+
``ON``
56+
- ``OFF``
57+
* - :class:`TSAN_BUILD`
58+
- Activate thread sanitizer build.
59+
- ``OFF`` |br|
60+
``ON``
61+
- ``OFF``

0 commit comments

Comments
 (0)