You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I would like to have control over the threading of the diagnostics update, instead of using a node timer (which could block other callbacks).
For diagnostics updater, I'd want option to create a low-level thread that will handle the call to update().
I can do a pull request to implement this, but I would like to know if there was a reason for this change from ROS1->ROS2.
ROS1 gave the responsibility of calling update() to the application instead of creating a timer internal to the updater.
The text was updated successfully, but these errors were encountered:
I guess that's a fair use-case. The timer seemed to me the most ROSifed way to handle a constant update rate, but I totally see your need for taking care of threading yourself.
If you have already an idea in mind, please go ahead and draft a PR. I will say though that the timer approach should still be supported, in a way to have a "fire and forget" solution for it, where users don't have to deal with threading themselves.
As a side note, there is a new callback group executor solution in ROS right now, which lets you add callbacks to different callback groups so that these groups don't block each other. Maybe that's a solution for you as well? For more details about it see ros2/rclcpp#1218
I would like to have control over the threading of the diagnostics update, instead of using a node timer (which could block other callbacks).
For diagnostics updater, I'd want option to create a low-level thread that will handle the call to update().
I can do a pull request to implement this, but I would like to know if there was a reason for this change from ROS1->ROS2.
ROS1 gave the responsibility of calling update() to the application instead of creating a timer internal to the updater.
The text was updated successfully, but these errors were encountered: