Skip to content

Commit 6efd777

Browse files
micro-ROS galactic Library auto-update 18-07-2021 06:17 (#381)
Co-authored-by: pablogs9 <pablogs9@users.noreply.github.com>
1 parent 3dade74 commit 6efd777

File tree

2 files changed

+16
-1
lines changed

2 files changed

+16
-1
lines changed

built_packages

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ https://github.com/micro-ROS/rosidl_typesupport.git 0e03d18809cb08215877ff856a91
1313
https://github.com/micro-ROS/rcutils 500ee3fcb16bf6260453c75b50c3d7785d724443
1414
https://github.com/micro-ROS/micro_ros_utilities c829971bd33ac1f14a94aa722476110b4b59eaf9
1515
https://gitlab.com/micro-ROS/ros_tracing/ros2_tracing.git/ 07ae5aa5c456f887f2aa82896e207a3209309a50
16-
https://github.com/ros2/rclc 86399a7eed78a583043c5b620a55655976240d05
16+
https://github.com/ros2/rclc 701a32ded6ca4c2c60468d9d9b704a1d088bb6a3
1717
https://github.com/micro-ROS/micro_ros_msgs.git c8af6d4f246d1b324e6578ec967c8ddc1f4093d5
1818
https://github.com/ros-controls/control_msgs 11fdcdf76434d8ca9047787d17add4e18f56e9d6
1919
https://github.com/ros2/rcl_interfaces.git c5d0a20150533a6cb93d5dcbd6e27cea9300aa6e

src/rclc/executor.h

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,21 @@ rclc_executor_get_zero_initialized_executor(void);
9494
* Initializes an executor.
9595
* It creates a dynamic array with size \p number_of_handles using the
9696
* \p allocator.
97+
* As the Executor is intended for embedded controllers, dynamic memory management is crucial.
98+
* Therefore at initialization of the RCLC-Executor, the user defines the total \p number_of_handles.
99+
* A handle is a term for subscriptions, timers, services, clients and guard conditions. The
100+
* heap will be allocated only in this phase and no more memory will be allocated in the
101+
* running phase in the executor. However, the heap memory of corresponding wait-set is
102+
* allocated in the first iteration of a spin-method, which calls internally rclc_executor_prepare.
103+
* Optionally, you can also call rclc_executor_prepare before calling any of the spin-methods.
104+
* Then all wait-set related memory allocation will be done in rclc_executor_prepare and not
105+
* in the first iteration of the spin-method.
106+
*
107+
* This makes this Executor static in
108+
* terms of memory allocation, in the sense, that during runtime no heap allocations occur.
109+
* You can add, however, at runtime as many handles, e.g. subscriptions, to the executor
110+
* until the maximum number of handles is reached. In this case, the wait-set needs to be
111+
* updated and rclc_executor_prepare is called again (with dynamic memory allocation in RCL).
97112
*
98113
*
99114
* * <hr>

0 commit comments

Comments
 (0)