Skip to content

Commit 20d47da

Browse files
micro-ROS foxy Library auto-update 18-07-2021 06:17 (#380)
Co-authored-by: pablogs9 <[email protected]>
1 parent 89a1fa0 commit 20d47da

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
@@ -12,7 +12,7 @@ https://github.com/micro-ROS/rosidl_typesupport_microxrcedds.git acb2fb6f7b5bde2
1212
https://github.com/micro-ROS/rosidl_typesupport.git 5d974dbee4cd6988ce33923246eb404db327fad8
1313
https://github.com/micro-ROS/rcutils 0fd0c442dfa343dcfd0cb3674012039bed0c9389
1414
https://gitlab.com/micro-ROS/ros_tracing/ros2_tracing d11b87737245b8456bbada44dfa7b1d670b1c4d0
15-
https://github.com/ros2/rclc f246f1accf6a3e6ea22ff4ffb8f0f229f635694b
15+
https://github.com/ros2/rclc b7f18a0e1099dd9cd5baf1d186dd1fa94a339a81
1616
https://github.com/micro-ROS/micro_ros_msgs.git c8af6d4f246d1b324e6578ec967c8ddc1f4093d5
1717
https://github.com/ros-controls/control_msgs 338ef98b4a4d763fe5df39e86a1967844ceb506e
1818
https://github.com/ros2/rcl_interfaces.git ee04e046132be9d9fdcdaeff8dd54a5d0d9aa022

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)