pylabrobot.agilent.vspin.VSpin#
- class pylabrobot.agilent.vspin.VSpin(name: str, device_id: str | None = None)#
Bases:
objectFTDI driver for the Agilent VSpin Centrifuge.
Owns the USB connection, low-level command protocol, and hardware status queries.
Attributes
The bucket parked at the load position, or None if the rotor is elsewhere.
Return the current VSpin semantic-state snapshot.
Methods
__init__(name[, device_id])Close the centrifuge door and wait for its physical sensor.
g_to_rpm(g)Present bucket 1 at the load opening.
Present bucket 2 at the load opening.
go_to_position(position)Move to an absolute encoder position without claiming a presented bucket.
Lock the presented bucket and wait for its physical sensor.
Lock the centrifuge door and wait for its physical sensor.
Open the centrifuge door and wait for its physical sensor.
Get the bucket 1 position based on calibration.
Get the bucket 2 position based on calibration.
Changes during a run, but the bucket 1 position relative to it does not.
Current speed in rpm.
reserve_transfer(bucket)Reserve the load opening while a paired loader may enter the rotor.
send_command(cmd, expected_response_length)Send a VSpin command and read its fixed-length response.
Set the current position as bucket 1 position and save calibration.
setup()Connect, initialize, home, and place the VSpin in its safe setup position.
spin([g, duration, acceleration, deceleration])Start a spin cycle.
stop()Close the VSpin transport and invalidate session-scoped state.
stop_spin([deceleration])Ask the active spin owner to decelerate, then wait for its completion.
Unlock the presented bucket and wait for its physical sensor.
Unlock the centrifuge door and wait for its physical sensor.