Skip to content

feat(continental_ars548_ros_wrapper): migrate ContinentalARS548RosWrapper to agnocast_wrapper::Node - #2

Merged
Koichi98 merged 3 commits into
feat/agnocast-core-node-compatfrom
apply_agnocast_continental_ars548
Jul 29, 2026
Merged

Koichi98 merged 3 commits into
feat/agnocast-core-node-compatfrom
apply_agnocast_continental_ars548

Conversation

@Koichi98

@Koichi98 Koichi98 commented Jul 27, 2026 •

Copy link
Copy Markdown
Owner

PR Type

  • New Feature

Related Links

Description

Migrate ContinentalARS548RosWrapper (and its decoder / hw-interface helpers) to nebula::agnocast_wrapper::Node, so the same code runs on both the rclcpp and Agnocast backends selected at runtime by ENABLE_AGNOCAST.

Review Procedure

Build with ENABLE_AGNOCAST=0 and =1; confirm the ARS548 topics publish as before.

Remarks

None.

Pre-Review Checklist for the PR Author

  • Assign PR to reviewer

CI Checks

  • Build and test for PR: Required to pass before the merge.

…pper to agnocast_wrapper::Node (Method 2)

Signed-off-by: Koichi Imai <koichi.imai.2@tier4.jp>
…a publish(const &)

The ALLOCATE_OUTPUT + *out = std::move(*msg) pattern stole msg's buffer, which
was allocated on the normal heap (outside the borrow window), so the payload
never entered shared memory and agnocast zero-copy delivered an invalid pointer
to cross-process subscribers. publish(const &) borrows inside the window and
copies into shared memory, which is correct on both the rclcpp and agnocast
backends.

Signed-off-by: Koichi Imai <koichi.imai.2@tier4.jp>
@Koichi98 Koichi98 self-assigned this Jul 27, 2026
@Koichi98
Koichi98 marked this pull request as ready for review July 27, 2026 05:40
@Koichi98 Koichi98 changed the title feat(continental_ars548_ros_wrapper): migrate ContinentalARS548RosWrapper to agnocast_wrapper::Node (Method 2) feat(continental_ars548_ros_wrapper): migrate ContinentalARS548RosWrapper to agnocast_wrapper::Node Jul 27, 2026
Comment thread src/nebula_continental/nebula_continental/src/continental_ars548_ros_wrapper.cpp Outdated
…gain

The migration replaced `packets_sub_->get_topic_name()` with the relative
topic literal, which hides the actual (namespaced/remapped) topic and makes
troubleshooting harder. The wrapper's Subscription has no get_topic_name(),
so resolve the name through the node's topics interface instead; this yields
the same fully-qualified name as before on both backends.

Signed-off-by: Koichi Imai <koichi.imai.2@tier4.jp>
@Koichi98
Koichi98 merged commit 2251e4e into feat/agnocast-core-node-compat Jul 29, 2026
10 of 13 checks passed
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.

2 participants