Skip to main content
Move a Rotrics Dexarm to press a DUT’s buttons, place a fixture, or actuate anything a test needs a physical hand for. All coordinates are millimetres.

Handle

Methods

Types

ArmPosition

ArmAcceleration

Method Reference

position() -> Result<ArmPosition>

The current end-effector position, in millimetres.

move_to(x: f64, y: f64, z: f64) -> Result<ArmPosition>

Absolute move.
Returns: the position after the move.

move_by(dx: f64, dy: f64, dz: f64) -> Result<ArmPosition>

Relative move; returns the new position.

move_to_with_timeout(...) and move_by_with_timeout(...)

The same moves with an explicit box-side timeout in seconds, for a move that needs longer than the default 15. The client widens its own HTTP budget to match.

go_home() -> Result<()>

Move to the home position, X0 Y300 Z0.

enable_motor() -> Result<()> and disable_motor() -> Result<()>

Energize or release the steppers.
A released arm is back-driveable and will sag under its own weight. Do not leave the motors disabled with the arm over a workpiece or a populated board.

read_and_save_position() -> Result<ArmPosition>

Read the current position and persist it on the arm.

set_acceleration(acceleration: u32, travel_acceleration: u32, retract_acceleration: u32) -> Result<Option<ArmAcceleration>>

Set the print, travel and retract acceleration in mm/s2 (G-code M204). Returns: what the arm reports after the change, so a value that the arm did not take shows up. A box at 0.59.0 or older sends no readback, and the call returns None.

set_acceleration_keep_retract(acceleration: u32, travel_acceleration: u32) -> Result<Option<ArmAcceleration>>

Set the print and travel acceleration, and leave the retract value as it is. It requires box software 0.60.0 or later.

get_acceleration() -> Result<ArmAcceleration>

Read the arm’s print, travel and retract acceleration from its settings report. It requires box software 0.60.0 or later.

Examples

Press a button and check the DUT saw it

Supported Hardware

Notes

  • Coordinates are millimetres, and the arm enforces its own workspace bounds. An out-of-range target is refused, not clamped.
  • Moves block on the box until the arm arrives, so do not poll around a move. The box-side default move timeout is 15 seconds.
  • Non-move actions get a flat 45-second client budget, because they still touch the serial port and can queue behind a move on the device lock.
  • The arm is physical and has no collision detection. Clear its workspace before letting a test run unattended.