Skip to content

Commit 87d1018

Browse files
Merge branch 'rolling' into contributing-to-ros2-documentation
2 parents 46d2a50 + 25ca290 commit 87d1018

22 files changed

Lines changed: 326 additions & 31 deletions

Makefile

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ ifeq ($(OS),Windows_NT)
99
endif
1010
BUILD = $(PYTHON) -m sphinx
1111
OPTS =-c . -W # Treat warnings as errors
12+
LIVE_HOST ?= 0.0.0.0
13+
LIVE_PORT ?= 2022
1214

1315
DICTIONARIES := codespell_dictionary.txt codespell_whitelist.txt
1416

@@ -18,7 +20,7 @@ help:
1820

1921
multiversion: Makefile
2022
sphinx-multiversion $(OPTS) "$(SOURCE)" build/html
21-
@echo "<html><head><meta http-equiv=\"refresh\" content=\"0; url=kilted/index.html\" /></head></html>" > build/html/index.html
23+
@echo "<html><head><meta http-equiv=\"refresh\" content=\"0; url=lyrical/index.html\" /></head></html>" > build/html/index.html
2224
$(PYTHON) make_sitemapindex.py
2325

2426
%: Makefile
@@ -61,4 +63,7 @@ linkcheck:
6163
@echo
6264
@echo "Check finished. Report is in $(LINKCHECKDIR)."
6365

64-
.PHONY: help Makefile multiversion test test-tools linkcheck lint spellcheck check-dictionaries sort-dictionaries
66+
serve:
67+
sphinx-autobuild --host $(LIVE_HOST) --port $(LIVE_PORT) -c . $(SOURCE) $(OUT)/html
68+
69+
.PHONY: help Makefile multiversion test test-tools linkcheck serve lint spellcheck check-dictionaries sort-dictionaries

README.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,27 @@ For local testing of the current tree use:
5151

5252
`sensible-browser build/html/index.html`
5353

54+
### Live-reload local development
55+
56+
To iterate on documentation without manually rebuilding and refreshing the browser, use [`sphinx-autobuild`](https://github.com/sphinx-doc/sphinx-autobuild).
57+
It watches the source files, rebuilds incrementally on save, and serves the result with automatic browser reload.
58+
59+
`sphinx-autobuild` is installed as part of `requirements.txt`.
60+
Start the live server with:
61+
62+
```
63+
make serve
64+
```
65+
66+
Then open `http://localhost:2022` in a browser.
67+
68+
The `serve` target binds to `0.0.0.0:2022` by default (a little ROS 2 vibe) so the server is reachable through devcontainer / port forwarding.
69+
Override the bind address or port if needed:
70+
71+
```
72+
make serve LIVE_HOST=127.0.0.1 LIVE_PORT=8080
73+
```
74+
5475
### Spelling Check
5576

5677
To check the spelling, use:

conf.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,9 +143,9 @@
143143
smv_branch_whitelist = r'^(rolling|lyrical|kilted|jazzy|iron|humble|galactic|foxy|eloquent|dashing|crystal)$'
144144

145145

146-
smv_released_pattern = r'^refs/(heads|remotes/[^/]+)/(kilted|jazzy|iron|humble|galactic|foxy|eloquent|dashing|crystal).*$'
146+
smv_released_pattern = r'^refs/(heads|remotes/[^/]+)/(lyrical|kilted|jazzy|iron|humble|galactic|foxy|eloquent|dashing|crystal).*$'
147147
smv_remote_whitelist = r'^(origin)$'
148-
smv_latest_version = 'kilted'
148+
smv_latest_version = 'lyrical'
149149
smv_eol_versions = ['crystal', 'dashing', 'eloquent', 'foxy', 'galactic', 'iron']
150150

151151
distro_full_names = {

requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ docutils
44
pip
55
pytest
66
sphinx
7+
sphinx-autobuild
78
sphinx-copybutton
89
sphinx-lint
910
sphinx-multiversion

source/Concepts/Basic/About-Command-Line-Tools.rst

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,23 @@ Different :doc:`ROS_DOMAIN_ID <../Intermediate/About-Domain-ID>` values will res
8585

8686
You can run ``ros2 daemon --help`` for more options for interacting with the daemon, including commands to start, stop, or check the status of the daemon process.
8787

88+
Running the Daemon in the Foreground
89+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
90+
91+
For debugging purposes, it can be useful to run the ROS 2 daemon in the foreground so that its output is printed directly to stdout and stderr.
92+
This can be done using the ``_ros2_daemon`` command, which is the entry point for the daemon process itself:
93+
94+
.. code-block:: console
95+
96+
$ _ros2_daemon --ros-domain-id 0 --rmw-implementation rmw_fastrtps_cpp
97+
98+
This will start the daemon without daemonizing, allowing you to observe all discovery activity and XML-RPC requests in real time.
99+
Replace ``--ros-domain-id`` and ``--rmw-implementation`` values with those appropriate for your setup.
100+
101+
.. note::
102+
103+
Make sure to stop any existing daemon instance (``ros2 daemon stop``) before starting one in the foreground to avoid port conflicts.
104+
88105
Implementation
89106
--------------
90107

source/How-To-Guides/Migrating-from-ROS1/Migrating-Launch-Files.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -428,6 +428,9 @@ There are, however, some changes w.r.t. ROS 1:
428428
It looks at configurations defined either with ``arg`` or ``let`` tag.
429429
* ``eval`` and ``dirname`` substitutions require escape characters for string values, e.g. ``if="$(eval '\'$(var variable)\' == \'val1\'')"``.
430430
You can also use HTML escapes like ``&quot;`` .
431+
* Boolean predicates can also be expressed directly with the ``equals``, ``not-equals``, ``and``, ``or``, ``any``, and ``all`` substitutions.
432+
For example, ``if="$(equals $(var variable) val1)"`` is equivalent to ``if="$(eval '\'$(var variable)\' == \'val1\'')"``.
433+
See :ref:`Boolean substitutions <BooleanSubstitutions>` for details.
431434
* ``eval`` does not pass configurations ( ``arg`` ) as local Python variables.
432435
They have to be accessed via ``$(var name)``.
433436
* The argument of ``eval`` has to be a quoted string in ROS 2.

source/Installation/Alternatives/Ubuntu-Development-Setup.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ Install colcon mixins
9191

9292
.. code-block:: console
9393
94-
$ colcon mixin add default https://github.com/colcon/colcon-defaults/raw/master/index.yaml
94+
$ colcon mixin add default https://github.com/colcon/colcon-mixin-repository/raw/master/index.yaml
9595
$ colcon mixin update default
9696
9797
Build the code in the workspace

source/Installation/RMW-Implementations/DDS-Implementations/Working-with-GurumNetworks-GurumDDS.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ Version Requirements (`see the README for details <https://github.com/ros2/rmw_g
1818
ROS 2 Distro GurumDDS Version
1919
================ ================
2020
rolling ``>= 3.2.0``
21+
lyrical ``>= 3.2.0``
22+
kilted ``>= 3.2.0``
2123
jazzy ``>= 3.2.0``
2224
humble ``3.1.x``
2325
================ ================

source/Installation/RMW-Implementations/DDS-Implementations/Working-with-RTI-Connext-DDS.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ Install RTI Connext DDS
1919
ROS 2 Distribution Installed using apt To Build from Source
2020
================== =================== ====================
2121
rolling n/a ``7.7.0``
22+
lyrical ``7.7.0`` ``7.7.0``
2223
kilted ``7.3.0`` ``7.3.0``
2324
jazzy ``6.0.1`` ``6.0.1``
2425
humble ``6.0.1`` ``6.0.1``

source/Installation/Windows-Install-Binary.rst

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -89,28 +89,35 @@ Install additional RMW implementations (optional)
8989
The default middleware that ROS 2 uses is ``Fast DDS``, but the middleware (RMW) can be replaced at runtime.
9090
See the :doc:`guide <../How-To-Guides/Working-with-multiple-RMW-implementations>` on how to work with multiple RMWs.
9191

92+
Install Visual Studio Build Tools 2022 (optional)
93+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
94+
95+
To compile packages written in C++, install Visual Studio Build Tools 2022.
96+
During installation, select the "Desktop development with C++" workload to
97+
ensure the MSVC compiler and Windows SDK are available.
98+
Download from `here <https://visualstudio.microsoft.com/vs/older-downloads/#visual-studio-2022-and-other-products>`_.
99+
100+
Run all commands in the "x64 Native Tools Command Prompt for VS 2022"
101+
(available from the Start Menu), which configures the required build environment.
102+
103+
.. note::
104+
105+
The full Visual Studio IDE is not required.
92106

93107
Setup environment
94108
-----------------
95109

96110
In either the same Command Prompt terminal or a new one, you can source the ROS 2 environment
97111

98-
Source the pixi environment
112+
Source the environment
99113
^^^^^^^^^^^^^^^^^^^^^^^^^^^
100114

101-
Source the pixi environment to set up dependencies:
115+
In every Command Prompt you open to setup the ROS 2 workspace, source the pixi environment and the ROS2 environment:
102116

103117
.. code-block:: console
104118
105119
$ cd C:\dev\{DISTRO}
106-
107-
Source the ROS 2 environment
108-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
109-
110-
This is required in every Command Prompt you open to setup the ROS 2 workspace:
111-
112-
.. code-block:: console
113-
120+
$ pixi shell
114121
$ call C:\dev\{DISTRO}\local_setup.bat
115122
116123
If you do not have RTI Connext DDS installed on your computer, it is normal to receive a warning that it is missing.

0 commit comments

Comments
 (0)