Skip to content

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

Merged
urfeex merged 2 commits into
lyricalfrom
mergify/bp/lyrical/pr-2047
Nov 5, 2026
Merged

urfeex merged 2 commits into
lyricalfrom
mergify/bp/lyrical/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.

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/include/ur_robot_driver/hardware_interface.hpp
@mergify

mergify Bot commented Nov 4, 2026

Copy link
Copy Markdown
Author

Cherry-pick of 1fb9f96 has failed:

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

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/doc/usage/utility_controllers.rst
	modified:   ur_robot_driver/src/hardware_interface.cpp

Unmerged paths:
  (use "git add <file>..." to mark resolution)
	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
Changes how digital output commands are sent to the robot based on control box type; incorrect type detection or mapping could drive the wrong physical outputs on CB7 hardware.

Overview
CB7 control boxes no longer expose classic standard digital outputs; this PR keeps the existing 18-index GPIO model but routes commands on indices 0–7 differently when the connected box is CB7.

On connect, the hardware interface stores control_box_type_ from the primary client. In the async digital-output path, indices 0–7 still use sendStandardDigitalOutput on CB3/CB5, but on CB7 they are sent as configurable outputs CO8–CO15 (sendConfigurableDigitalOutput(i + 8, …)). Indices 8–15 and tool outputs are unchanged (still CO0–CO7 and tool pins).

Documentation adds a CB7 vs CB3/CB5 index mapping table for ~/set_io and ~/io_states, explaining that the concatenated list semantics are preserved while CO8–CO15 appear at indices 0–7 on CB7.

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

The target branch uses default true
@urfeex urfeex added enhancement New feature or request and removed conflicts labels Nov 5, 2026
@urfeex
urfeex merged commit 5249f7d into lyrical Nov 5, 2026
9 of 10 checks passed
@urfeex
urfeex deleted the mergify/bp/lyrical/pr-2047 branch November 5, 2026 11:28
@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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request lyrical

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant