pylabrobot.thermo_fisher.kingfisher.presto.KingFisherPresto#

class pylabrobot.thermo_fisher.kingfisher.presto.KingFisherPresto(serial_number: str | None = None, timeout: float = 30.0)#

Bases: object

Control a Presto directly through its XML command/event protocol.

The driver has not been verified on hardware. setup() connects without moving the turntable. Nests are numbered 1 and 2; their position is unknown until a rotation completes. Protocol timing remains instrument-controlled.

Parameters:
  • serial_number (str | None) – Select a particular instrument when several are connected.

  • timeout (float) – Command and rotation deadline in seconds.

Methods

__init__([serial_number, timeout])

Configure a USB HID connection without opening hardware.

abort()

Abort execution; call stop() then setup() to start a fresh connection.

acknowledge()

Continue after completing a LoadPlate/RemovePlate/ChangePlate/Pause action.

download_protocol(name)

Download unchanged BDZ bytes; read_bdz() can decode supported Mix protocols.

error_acknowledge()

Explicitly acknowledge an instrument fault after inspecting it.

events()

Yield typed events, leaving physical actions and acknowledgement to the caller.

get_protocol_duration(protocol)

Read named tips/steps and their durations without downloading the file.

get_protocol_time_left([protocol])

Read remaining protocol/step time in seconds.

get_status()

Read Idle, Busy, or In error, preserving any error code and text.

get_turntable_state()

Return inferred nest locations; None means the physical position is unknown.

list_protocols()

Return stored protocol names and memory utilization as a percentage.

load_plate(position)

Move a specific nest to processing; the caller places the plate beforehand.

next_event(*[, attach])

Return every event, including progress; attach checks an existing run first.

remove_protocol(name)

Remove a stored protocol by name.

rotate(position, location)

Move a specific nest to loading or processing and wait for completion.

setup()

Connect and read identity/status without moving or acknowledging faults.

start_protocol(protocol, *[, tip, step])

Start a stored protocol or one named tip/step; consume events for completion.

stop()

Close the connection; use stop_protocol() to stop instrument execution.

stop_protocol()

Request execution to stop; consume the subsequent terminal event.

upload_protocol(name, protocol)

Upload a Presto BDZ, overwriting the named stored protocol.