diff --git a/controller_manager/doc/userdoc.rst b/controller_manager/doc/userdoc.rst index 02e532866d..676d877319 100644 --- a/controller_manager/doc/userdoc.rst +++ b/controller_manager/doc/userdoc.rst @@ -190,14 +190,14 @@ A GUI tool to interact with the controller manager services to be able to switch .. image:: images/rqt_controller_manager.png -It can be launched independently using the following command or as rqt plugin. +It can be launched independently using the following command or as rqt plugin: .. code-block:: console ros2 run rqt_controller_manager rqt_controller_manager - * Double-click on a controller or hardware component to show the additional info. - * Right-click on a controller or hardware component to show a context menu with options for lifecycle management. +* Double-click on a controller or hardware component to show the additional info. +* Right-click on a controller or hardware component to show a context menu with options for lifecycle management. Using the Controller Manager in a Process ----------------------------------------- diff --git a/doc/debugging.rst b/doc/debugging.rst index 5349c98a52..76f288e49d 100644 --- a/doc/debugging.rst +++ b/doc/debugging.rst @@ -65,10 +65,11 @@ Additional notes * Realtime -.. warning:: - The ``update/on_activate/on_deactivate`` method of a controller and the ``read/write/on_activate/perform_command_mode_switch`` methods of a hardware component all run in the context of the realtime update loop. Setting breakpoints there can and will cause issues that might even break your hardware in the worst case. + .. warning:: -From experience, it might be better to use meaningful logs for the real-time context (with caution) or to add additional debug state interfaces (or publishers in the case of a controller). + The ``update/on_activate/on_deactivate`` method of a controller and the ``read/write/on_activate/perform_command_mode_switch`` methods of a hardware component all run in the context of the realtime update loop. Setting breakpoints there can and will cause issues that might even break your hardware in the worst case. + + From experience, it might be better to use meaningful logs for the real-time context (with caution) or to add additional debug state interfaces (or publishers in the case of a controller). However, running the controller_manager and your plugin with gdb can still be very useful for debugging errors such as segfaults, as you can gather a full backtrace.