Skip to content

Conversation

@ykyohei
Copy link
Contributor

@ykyohei ykyohei commented Jan 12, 2026

Description

Add function to power cycle gripper system

Motivation and Context

When there is power outage or when gripper's actuator controller have errors, we need to power cycle gripper electronics in specific order to properly power the gripper system. This has been done manually so far, this PR adds the 'power_cycle_gripper' task to make this process easier.
We also need to make sure if the configurations of gripper_iboot_outlets are in correct order.

How Has This Been Tested?

Tested this at satp3

2026-01-12T15:09:36+0000 spin_control:1 Status is now "running".
2026-01-12T15:09:47+0000 start called for power_cycle_gripper
2026-01-12T15:09:47+0000 power_cycle_gripper:2 Status is now "starting".
2026-01-12T15:09:47+0000 power_cycle_gripper:2 Status is now "running".
2026-01-12T15:09:47+0000 Setting state: ControlState.PowerCycleGripper(gripper_power_agent_type='synaccess', outlets=[1, 2])
2026-01-12T15:09:48+0000 Starting op: name=set_outlet, kwargs={'outlet': 1, 'on': False}
2026-01-12T15:09:48+0000 Completed op: name=set_outlet, success=True, kwargs={'outlet': 1, 'on': False}
2026-01-12T15:09:50+0000 Starting op: name=set_outlet, kwargs={'outlet': 2, 'on': False}
2026-01-12T15:09:50+0000 Completed op: name=set_outlet, success=True, kwargs={'outlet': 2, 'on': False}
2026-01-12T15:09:52+0000 Starting op: name=set_outlet, kwargs={'outlet': 1, 'on': True}
2026-01-12T15:09:52+0000 Completed op: name=set_outlet, success=True, kwargs={'outlet': 1, 'on': True}
2026-01-12T15:09:54+0000 Starting op: name=set_outlet, kwargs={'outlet': 2, 'on': True}
2026-01-12T15:09:54+0000 Completed op: name=set_outlet, success=True, kwargs={'outlet': 2, 'on': True}
2026-01-12T15:09:56+0000 Setting state: ControlState.Done(success=True, msg=None)
2026-01-12T15:09:57+0000 power_cycle_gripper:2 Completed with state: ControlState.Done(success=True, msg=None)
2026-01-12T15:09:57+0000 power_cycle_gripper:2 Status is now "done".

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.

@ykyohei ykyohei requested a review from bbixler500 January 12, 2026 15:55
@bbixler500
Copy link
Contributor

Looks good to me. Looking at the docker configs the order of outlets needs to be changed for both SATp1 and SATp2.

@ykyohei ykyohei requested a review from BrianJKoopman January 13, 2026 15:56
Copy link
Member

@BrianJKoopman BrianJKoopman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, just found a small typo.

@BrianJKoopman BrianJKoopman merged commit 189b070 into main Jan 14, 2026
5 checks passed
@BrianJKoopman BrianJKoopman deleted the power_cycle_gripper branch January 14, 2026 19:24
@BrianJKoopman BrianJKoopman changed the title HWPSupervisor: Power cycle gripper hwp-supervisor: Add power cycle gripper task Jan 14, 2026
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.

4 participants