Skip to content

Dial fresh socket per command; add reactivate DoCommand#10

Draft
Joseph Borodach (JosephBorodach) wants to merge 1 commit into
viam-modules:mainfrom
JosephBorodach:socket-resilience
Draft

Dial fresh socket per command; add reactivate DoCommand#10
Joseph Borodach (JosephBorodach) wants to merge 1 commit into
viam-modules:mainfrom
JosephBorodach:socket-resilience

Conversation

@JosephBorodach

@JosephBorodach Joseph Borodach (JosephBorodach) commented Jun 26, 2026

Copy link
Copy Markdown

Summary

  • The persistent TCP socket to the URCap stalls reads indefinitely on PolyScope X (UR12e), most reliably after the Robotiq is physically disconnected and reconnected — e.g. a tool changer swapping the attached gripper. The only recovery was restarting the entire module.
  • Replace the persistent socket with dial-per-send: every command opens a fresh connection, writes, reads with a 5s deadline, and closes. Add a mutex so concurrent calls don't interleave.
  • Add a {"reactivate": true} DoCommand for explicit ACT/GTO/FOR/SPE re-init after the URCap state itself was reset (still required on PolyScope X after physical disconnects, with or without this fix).

@JosephBorodach
Joseph Borodach (JosephBorodach) marked this pull request as draft June 26, 2026 18:25
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.

1 participant