Skip to content

Populate Transitions in Transition Events (continuation)#1269

Merged
fujitatomoya merged 7 commits intoros2:rollingfrom
SuperJappie08:rolling-lifecycle-transition-event
Feb 4, 2026
Merged

Populate Transitions in Transition Events (continuation)#1269
fujitatomoya merged 7 commits intoros2:rollingfrom
SuperJappie08:rolling-lifecycle-transition-event

Conversation

@SuperJappie08
Copy link
Copy Markdown
Contributor

Description

Original author: @CursedRock17
Original reviewers: @fujitatomoya @audrow @ivanpauno @wjwwood

Continuation of #1140.
Implemented most feedback.

Fixes #1019

Is this user-facing behavior change?

Yes, Lifecycle transition events are now filled.
This comes with a small change in function signatures to support timestamping.

Did you use Generative AI?

No.

Additional Information

I would also recommend merging ros2/rcl_interfaces#185 to limit the amount of breaking changes.

I noticed that the node_handle field of rcl_lifecycle_com_interface_t is never filled or used as far as I can see.

@SuperJappie08 SuperJappie08 changed the title Rolling lifecycle transition event Populate Transitions in Transition Events (continuation) Oct 15, 2025
SuperJappie08 added a commit to SuperJappie08/rclcpp that referenced this pull request Oct 15, 2025
Signed-off-by: SuperJappie08 <36795178+SuperJappie08@users.noreply.github.com>
SuperJappie08 added a commit to SuperJappie08/rclpy that referenced this pull request Oct 15, 2025
Signed-off-by: SuperJappie08 <36795178+SuperJappie08@users.noreply.github.com>
SuperJappie08 added a commit to SuperJappie08/rclc that referenced this pull request Oct 15, 2025
Signed-off-by: SuperJappie08 <36795178+SuperJappie08@users.noreply.github.com>
@fujitatomoya
Copy link
Copy Markdown
Collaborator

Pulls: ros2/rcl_interfaces#185, #1269, ros2/rclcpp#2967, ros2/rclpy#1528
Gist: https://gist.githubusercontent.com/fujitatomoya/43f97e6f8303a55ef1fdd1c645c51dd1/raw/feab0bba51e7c64b9f07536c61c03781c6dcd1e2/ros2.repos
BUILD args: --packages-above-and-dependencies lifecycle_msgs rcl_lifecycle rclcpp_lifecycle rclpy
TEST args: --packages-above lifecycle_msgs rcl_lifecycle rclcpp_lifecycle rclpy
ROS Distro: rolling
Job: ci_launcher
ci_launcher ran: https://ci.ros2.org/job/ci_launcher/17335

  • Linux Build Status
  • Linux-aarch64 Build Status
  • Linux-rhel Build Status
  • Windows Build Status

@SuperJappie08
Copy link
Copy Markdown
Contributor Author

@fujitatomoya, this patch did not yet include compatibility with ros2/rcl_interfaces#185, but I have it (just not part of the PR yet)

I will fix it now

@SuperJappie08
Copy link
Copy Markdown
Contributor Author

SuperJappie08 commented Nov 4, 2025

@fujitatomoya friendly ping, could you rerun the tests?

@fujitatomoya
Copy link
Copy Markdown
Collaborator

Pulls: ros2/rcl_interfaces#185, #1269, ros2/rclcpp#2967, ros2/rclpy#1528
Gist: https://gist.githubusercontent.com/fujitatomoya/7419b9893cf173e26ca59097d1d673aa/raw/feab0bba51e7c64b9f07536c61c03781c6dcd1e2/ros2.repos
BUILD args: --packages-above-and-dependencies lifecycle_msgs rcl_lifecycle rclcpp_lifecycle rclpy
TEST args: --packages-above lifecycle_msgs rcl_lifecycle rclcpp_lifecycle rclpy
ROS Distro: rolling
Job: ci_launcher
ci_launcher ran: https://ci.ros2.org/job/ci_launcher/17401

  • Linux Build Status
  • Linux-aarch64 Build Status
  • Linux-rhel Build Status
  • Windows Build Status

SuperJappie08 added a commit to SuperJappie08/launch_ros that referenced this pull request Nov 5, 2025
Signed-off-by: SuperJappie08 <36795178+SuperJappie08@users.noreply.github.com>
SuperJappie08 added a commit to SuperJappie08/launch_ros that referenced this pull request Nov 5, 2025
Signed-off-by: SuperJappie08 <36795178+SuperJappie08@users.noreply.github.com>
@SuperJappie08
Copy link
Copy Markdown
Contributor Author

SuperJappie08 commented Nov 6, 2025

@fujitatomoya, I added the explicit conversions, as required by CMake.

Two things to note:
rcl_lifecycle has stricter compile flags than rcl, is that intended?

-Wformat=2 -Wconversion -Wshadow -Wsign-conversion

Instead of adding the second conversion, it might make sense to update the id field of rcl_lifecycle_transition_s match the type of id field in the message, as I cannot instantly think of a reason to make those differ.

@SuperJappie08
Copy link
Copy Markdown
Contributor Author

@fujitatomoya, friendly ping!

1 similar comment
@SuperJappie08
Copy link
Copy Markdown
Contributor Author

@fujitatomoya, friendly ping!

@fujitatomoya
Copy link
Copy Markdown
Collaborator

@SuperJappie08 thanks, i will allocate some time later.

@SuperJappie08
Copy link
Copy Markdown
Contributor Author

@fujitatomoya, friendly ping.

@fujitatomoya
Copy link
Copy Markdown
Collaborator

@Mergifyio rebase

@mergify
Copy link
Copy Markdown

mergify bot commented Feb 2, 2026

rebase

❌ Pull request can't be updated with latest base branch changes

Details

This pull request seems to come from a fork, and Mergify needs the author's permission to update its branch.
The author needs to enable "Allow edits from maintainers" on this pull request, or update the branch manually.

CursedRock17 and others added 5 commits February 2, 2026 10:01
Signed-off-by: CursedRock17 <mtglucas1@gmail.com>
Signed-off-by: CursedRock17 <mtglucas1@gmail.com>
Signed-off-by: CursedRock17 <mtglucas1@gmail.com>
Signed-off-by: SuperJappie08 <36795178+SuperJappie08@users.noreply.github.com>
Signed-off-by: SuperJappie08 <36795178+SuperJappie08@users.noreply.github.com>
Adds compatibility with ros2/rcl_interfaces#185

Signed-off-by: SuperJappie08 <36795178+SuperJappie08@users.noreply.github.com>
Signed-off-by: SuperJappie08 <36795178+SuperJappie08@users.noreply.github.com>
@SuperJappie08 SuperJappie08 force-pushed the rolling-lifecycle-transition-event branch from 4b988b7 to db14479 Compare February 2, 2026 09:02
SuperJappie08 added a commit to SuperJappie08/rclcpp that referenced this pull request Feb 2, 2026
Signed-off-by: SuperJappie08 <36795178+SuperJappie08@users.noreply.github.com>
SuperJappie08 added a commit to SuperJappie08/rclpy that referenced this pull request Feb 2, 2026
Signed-off-by: SuperJappie08 <36795178+SuperJappie08@users.noreply.github.com>
SuperJappie08 added a commit to SuperJappie08/launch_ros that referenced this pull request Feb 2, 2026
Signed-off-by: SuperJappie08 <36795178+SuperJappie08@users.noreply.github.com>
@fujitatomoya
Copy link
Copy Markdown
Collaborator

Pulls: ros2/rcl_interfaces#185, #1269, ros2/rclcpp#2967, ros2/rclpy#1528, ros2/launch_ros#495
Gist: https://gist.githubusercontent.com/fujitatomoya/509dc37f463751da80d68854d37ec1d0/raw/5f7a4fa0c2b57380aa59f72196e8279872b6a096/ros2.repos
BUILD args: --packages-above-and-dependencies lifecycle_msgs rcl_lifecycle rclcpp_lifecycle rclpy launch_ros
TEST args: --packages-above lifecycle_msgs rcl_lifecycle rclcpp_lifecycle rclpy launch_ros
ROS Distro: rolling
Job: ci_launcher
ci_launcher ran: https://ci.ros2.org/job/ci_launcher/18088

  • Linux Build Status
  • Linux-aarch64 Build Status
  • Linux-rhel Build Status
  • Windows Build Status

@SuperJappie08
Copy link
Copy Markdown
Contributor Author

SuperJappie08 commented Feb 3, 2026

@fujitatomoya, they all passed (eventually with retries)

For completeness:

  • Linux Build Status
  • Linux-aarch64 Build Status
  • Linux-rhel Build Status
  • Windows Build Status

@fujitatomoya fujitatomoya merged commit 834ebb8 into ros2:rolling Feb 4, 2026
2 of 3 checks passed
fujitatomoya pushed a commit to ros2/rclcpp that referenced this pull request Feb 4, 2026
Signed-off-by: SuperJappie08 <36795178+SuperJappie08@users.noreply.github.com>
fujitatomoya pushed a commit to ros2/rclpy that referenced this pull request Feb 4, 2026
Signed-off-by: SuperJappie08 <36795178+SuperJappie08@users.noreply.github.com>
fujitatomoya pushed a commit to ros2/launch_ros that referenced this pull request Feb 4, 2026
Signed-off-by: SuperJappie08 <36795178+SuperJappie08@users.noreply.github.com>
nvcyc added a commit to nvcyc/rclpy that referenced this pull request Feb 6, 2026
Add clock parameter to rcl_lifecycle_state_machine_init() call to match
the updated API signature. The function now requires a rcl_clock_t pointer
as the third parameter for timestamping lifecycle transition events.

Changes:
- Add rclpy::Clock member to LifecycleStateMachine class
- Initialize clock with RCL_SYSTEM_TIME in constructor
- Pass clock pointer to rcl_lifecycle_state_machine_init()
- Properly destroy clock in cleanup method

This fixes the build error introduced by ros2/rcl#1269.
fujitatomoya added a commit to ros2/rclc that referenced this pull request Feb 14, 2026
Signed-off-by: SuperJappie08 <36795178+SuperJappie08@users.noreply.github.com>
Co-authored-by: Tomoya Fujita <Tomoya.Fujita@sony.com>
rushsahay pushed a commit to rushsahay/rcl that referenced this pull request Feb 21, 2026
* Populate Transitions

Signed-off-by: CursedRock17 <mtglucas1@gmail.com>

* Suspending timestamp until I find an ansewr

Signed-off-by: CursedRock17 <mtglucas1@gmail.com>

* Adding timestamp

Signed-off-by: CursedRock17 <mtglucas1@gmail.com>

* Simplify lifecycle event publication arguments

Signed-off-by: SuperJappie08 <36795178+SuperJappie08@users.noreply.github.com>

* Add clock to rcl_lifecycle_com_interface

Signed-off-by: SuperJappie08 <36795178+SuperJappie08@users.noreply.github.com>

* Update lifecycle transition event to use builtin_interfaces/Time

Adds compatibility with ros2/rcl_interfaces#185

Signed-off-by: SuperJappie08 <36795178+SuperJappie08@users.noreply.github.com>

* Add explicit conversions

Signed-off-by: SuperJappie08 <36795178+SuperJappie08@users.noreply.github.com>

---------

Signed-off-by: CursedRock17 <mtglucas1@gmail.com>
Signed-off-by: SuperJappie08 <36795178+SuperJappie08@users.noreply.github.com>
Co-authored-by: CursedRock17 <mtglucas1@gmail.com>
Signed-off-by: Rushsahay <rushhaank.sahay@gmail.com>
Amronos added a commit to Amronos/micro_ros_espidf_component that referenced this pull request Feb 25, 2026
A new package was added to `rcl_logging` called
`rcl_logging_implementation`. It depends on `rcpputils`, which I wasn't
able to get building. Therefore, we are skipping building that package
using `COLCON_IGNORE`.https://github.com/ros2/rclc needs to be pinned to
an older version until ros2/rcl#1269 is added in
https://github.com/micro-ROS/rcl.This PR also fixes
micro-ROS#251.
Amronos added a commit to Amronos/micro_ros_espidf_component that referenced this pull request Feb 25, 2026
A new package was added to `rcl_logging` called
`rcl_logging_implementation`. It depends on `rcpputils`, which I wasn't
able to get building. Therefore, we are skipping building that package
using `COLCON_IGNORE`.

https://github.com/ros2/rclc needs to be pinned to
an older version until ros2/rcl#1269 is added in
https://github.com/micro-ROS/rcl.

This PR also fixes
micro-ROS#251.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

transition events don't populate transition id, label, or timestamp

4 participants