Pipettor driver adapter
Forward high-level pipettor commands to the pipettor_operation action; this layer does not build MTC motion tasks.
beambot.stages.pipettor_stages · Source
Tools and end effectors · Guide · Symbol index
How it is used
PipettorActionServer calls run() to forward a high-level request to the driver’s pipettor_operation action. The adapter waits for acceptance and completion and checks both the ROS action status and driver result.
This class follows the action server’s run(goal) error-string contract, but does not inherit BaseStages or construct arm-motion plans.
Start here
Callable |
Purpose |
|---|---|
Log the requested operation, formatting SET_LED color channels as 0–255 integers, then forward the command to the driver. |
PipettorStages
Adapter between the EROBS pipettor action and the device driver. It owns a driver action client and returns None on success or an error string on failure.
PipettorStages.run()
Log the requested operation, formatting SET_LED color channels as 0–255 integers, then forward the command to the driver.
Entry point · Source
run(self, goal) -> str | None
Parameter |
Meaning |
|---|---|
|
Pipettor goal with operation, volume_pct and normalized ColorRGBA channels. |
Returns: None on driver success or an error string.
Errors: Color formatting/conversion and action transport exceptions can propagate; operation validation is delegated to the driver.
Side effects: Logs and sends a hardware pipettor command.
PipettorStages.__init__()
Bind the ROS logger and create the pipettor_operation driver action client.
Lifecycle · Source
__init__(self, rclpy_node: Node)
Parameter |
Meaning |
|---|---|
|
Owning ROS node. |
Errors: ROS client construction errors propagate.
Side effects: Creates an action client and logs initialization.
Referenced in source (1)
PipettorActionServer.create_stages— beambot.action_servers.pipettor_server
Internal callbacks and helpers
PipettorStages._execute_pipettor_action()
Wait for the driver, send a goal and require both SUCCEEDED action status and a successful driver result.
Internal helper · Source
_execute_pipettor_action(
self,
operation: str,
volume_pct: float,
led_color: ColorRGBA,
) -> str | None
Parameter |
Meaning |
|---|---|
|
Driver operation string. |
|
Volume fraction forwarded unchanged; the current driver ignores it. |
|
ColorRGBA forwarded unchanged for SET_LED. |
Returns: None on success; descriptive string for absence, rejection, timeout, action-status or driver-result failure.
Errors: No broad exception handler. Waits 5 s for server, 5 s for acceptance and 60 s for result; result timeout requests cancellation without waiting for confirmation.
Side effects: Commands the pipettor/LED and may request cancellation; logs status.
Referenced in source (1)
PipettorStages.run— beambot.stages.pipettor_stages