pylabrobot.high_res.lid_valet.HighResLidValet#

class pylabrobot.high_res.lid_valet.HighResLidValet(host: str = '192.168.127.60', port: int = 1000, ack_timeout: float = 10.0, command_timeout: float = 30.0, reset_timeout: float = 60.0, status_timeout: float = 3.0, busy_timeout: float = 30.0, status_poll_interval: float = 0.2, lid_retries: int = 4, lid_retry_delay: float = 1.5)#

Bases: object

HighRes LidValet delidder.

A benchtop delidder that removes and replaces plate lids with vacuum suction cups. It has one or more nests, each addressed by a 1-based number; a mover presents a lidded plate to a nest, the LidValet lifts the lid into its suction cup (“delid”), and later lowers it back onto the plate (“lid”).

The controller is a TCP device server (default 192.168.127.60:1000, printed on the back of the device) speaking an ASCII command/ACK protocol. A command is sent as a newline-terminated ASCII line; the server replies with ACK! <command> <id> and then streams text until it reports OK! (success), ERROR! (failure, with a preceding error line), or ABORTED!.

Commands (<n> is the 1-based nest number, which the server calls a hotel; reset and status address every nest at once when <n> is omitted):

reset <n>    home/reset a nest, or every nest
unlid <n>    lift the lid off the plate into the suction cup (delid)
lid <n>      lower the held lid back onto the plate
status <n>   report nest state (BUSY / OPEN / HAS_LID / ERROR)
home         home the whole system
wave <c>     synchronously drop and raise the lifts <c> times
vacon/vacoff <n>      turn the vacuum cycle on a nest on/off
purgeon/purgeoff <n>  turn the purge cycle on a nest on/off
clearabort            clear the abort state
errors/history/settings/version/firmwareversion/detailedversion
change/save/revert    edit, persist or discard in-memory settings
savecvm               save the CVM program to the Copley controllers
list/info/help        what the server accepts; "all" includes maintenance
reboot                reboot the device

The nest count is read from the device’s ACTIVE_HOTELS setting at setup.

Attributes

num_nests

How many nests the device has, read from it at setup.

Methods

__init__([host, port, ack_timeout, ...])

change_setting(setting, value)

Change a setting in memory.

clear_abort()

Clear the abort state.

delid(nest)

Lift the lid off the plate at nest into the suction cup.

home()

Home the whole system.

lid(nest)

Lower the held lid back onto the plate at nest.

list_commands([include_maintenance])

List the commands the server recognizes.

reboot()

Reboot the device.

request_all_states()

Query every nest in one round trip, keyed by 1-based nest number.

request_command_help(command)

Return the parameter information for a single command.

request_command_info([include_maintenance])

List the server's commands with their parameter information.

request_command_status(command_id)

Return the status of a previously issued command.

request_detailed_version()

Return version details about all hardware.

request_errors([count])

Return the top errors on the device's error stack.

request_firmware_version()

Return the firmware version.

request_has_lid(nest)

Whether the suction cup at nest is holding a lid.

request_history([count])

Return the last commands sent to the server.

request_home_offset(address)

Return the home offset for the motor at address (a Copley address).

request_is_busy(nest)

Whether nest is currently busy.

request_raw_settings()

Return the settings file as the device reports it.

request_settings()

Return the device's settings as a typed, frozen object.

request_state(nest)

Query a nest: "busy", "open", "has_lid", "error", or "unknown".

request_version()

Return the software version report.

reset([nest])

Home/reset a nest, or every nest when nest is omitted.

revert_settings()

Discard in-memory settings changes, restoring the stored values.

save_cvm()

Save the CVM program to every Copley motor controller.

save_settings()

Persist the in-memory settings to permanent memory.

send_command(command, timeout)

Send a command and wait for the controller to complete it.

set_purge(nest, on)

Turn the purge cycle on nest on or off.

set_vacuum(nest, on)

Turn the vacuum cycle on nest on or off.

setup()

stop()

Ask the server to close this client's connection, then drop the socket.

wait_until_ready(nest[, timeout])

Poll nest until it is no longer busy.

wave([cycles])

Drop and raise the lifts cycles times, synchronously.

Parameters: