pylabrobot.machines.backends.usb.USBBackend#

class pylabrobot.machines.backends.usb.USBBackend(id_vendor: int, id_product: int, device_address: int | None = None, serial_number: str | None = None, packet_read_timeout: int = 3, read_timeout: int = 30, write_timeout: int = 30)#

Bases: MachineBackend

An abstract class for liquid handler backends that talk over a USB cable. Provides read/write functionality, including timeout handling.

Methods

__init__(id_vendor, id_product[, ...])

Initialize a USBBackend.

deserialize(data)

get_available_devices()

Get a list of available devices that match the specified vendor and product IDs, and serial number and device_address if specified.

list_available_devices()

Utility to list all devices that match the specified vendor and product IDs, and serial number and address if specified.

read([timeout])

Read a response from the device.

serialize()

Serialize the backend to a dictionary.

setup()

Initialize the USB connection to the machine.

stop()

Close the USB connection to the machine.

write(data[, timeout])

Write data to the device.

Parameters:
  • id_vendor (int)

  • id_product (int)

  • device_address (int | None)

  • serial_number (str | None)

  • packet_read_timeout (int)

  • read_timeout (int)

  • write_timeout (int)