Skip to content

Write DOUT 0-7 to CO8-CO15 on a CB7 (backport #2047) - #2056

Merged
urfeex merged 2 commits into
humblefrom
mergify/bp/humble/pr-2047
Nov 6, 2026
Merged

urfeex merged 2 commits into
humblefrom
mergify/bp/humble/pr-2047

Conversation

@mergify

@mergify mergify Bot commented Nov 4, 2026

Copy link
Copy Markdown

CB7 doesn't have standard digital inputs anymore. Instead, indices 0-7 go to CO8-CO15, while indices 8-15 keep going to CO0-CO7.

This requires URCL master at the moment, since it uses the accessors added in UniversalRobots/Universal_Robots_Client_Library@1c78952

Also, this has only been manually tested. Ideally, we would test things in CI against a CB7 robot, which could be added after #1910 has been merged. Hence, this is currently a draft, though the functionality is there and will probably stay like that.


This is an automatic backport of pull request #2047 done by Mergify.

@mergify mergify Bot added conflicts humble Relevant for humble and higher ROS versions labels Nov 4, 2026
@mergify

mergify Bot commented Nov 4, 2026

Copy link
Copy Markdown
Author

Cherry-pick of 1fb9f96 has failed:

On branch mergify/bp/humble/pr-2047
Your branch is up to date with 'origin/humble'.

You are currently cherry-picking commit 1fb9f96.
  (fix conflicts and run "git cherry-pick --continue")
  (use "git cherry-pick --skip" to skip this patch)
  (use "git cherry-pick --abort" to cancel the cherry-pick operation)

Changes to be committed:
	modified:   ur_robot_driver/src/hardware_interface.cpp

Unmerged paths:
  (use "git add/rm <file>..." as appropriate to mark resolution)
	deleted by us:   ur_robot_driver/doc/usage/utility_controllers.rst
	both modified:   ur_robot_driver/include/ur_robot_driver/hardware_interface.hpp

To fix up this pull request, you can check it out locally. See documentation: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally

@cursor

cursor Bot commented Nov 4, 2026 •

Copy link
Copy Markdown

PR Summary

Medium Risk
Incorrect control-box detection or index mapping could drive the wrong physical outputs on CB7; change is limited to async digital output writes and depends on URCL’s getControlBoxType().

Overview
Fixes CB7 control box digital output commands so GPIO indices 0–7 (previously sent as standard DOUT) are written via sendConfigurableDigitalOutput(i + 8, …), mapping to CO8–CO15, while older boxes still use sendStandardDigitalOutput. The hardware interface stores control_box_type_ from URCL at configure time to choose the path.

Adds utility_controllers.rst documentation for utility controllers, including a CB7 vs CB3/CB5 table for how ~/set_io and ~/io_states indices relate to physical outputs.

Reviewed by Cursor Bugbot for commit d2fbcea. Bugbot is set up for automated code reviews on this repo. Configure here.

@urfeex urfeex added enhancement New feature or request and removed conflicts labels Nov 5, 2026
@mergify

mergify Bot commented Nov 5, 2026 •

Copy link
Copy Markdown
Author

This pull request does not currently match the merge queue conditions, so it cannot be queued from here. The box comes back if it matches again.

CB7 doesn't have standard digital inputs anymore. Instead, indices 0-7
go to CO8-CO15, while indices 8-15 keep going to CO0-CO7.

(cherry picked from commit 1fb9f96)

# Conflicts:
#	ur_robot_driver/doc/usage/utility_controllers.rst
#	ur_robot_driver/include/ur_robot_driver/hardware_interface.hpp
The target branch uses default true
@urfeex
urfeex force-pushed the mergify/bp/humble/pr-2047 branch from 74ea47e to d2fbcea Compare November 6, 2026 07:21
@urfeex
urfeex merged commit ba8c62b into humble Nov 6, 2026
6 of 9 checks passed
@urfeex
urfeex deleted the mergify/bp/humble/pr-2047 branch November 6, 2026 08:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request humble Relevant for humble and higher ROS versions

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant