Skip to content

Adding support for Biotek Multiflo, MultiFloFX and 405TS; Improving support of EL406 - #1266

Open
stefanmaak wants to merge 20 commits into
PyLabRobot:mainfrom
stefanmaak:biotek-lhc
Open

stefanmaak wants to merge 20 commits into
PyLabRobot:mainfrom
stefanmaak:biotek-lhc

Conversation

@stefanmaak

Copy link
Copy Markdown

This adds support of the biotek washer/dispenser family members MultiFlo, MultiFloFX, 405TS and EL406.
The support features:

  • Query of device capabilities (Soft and hardware configuration)
  • Creation of commands using dataclasses
  • Execution, observation, control (pause, abort) of commands
  • Reading and parsing and creation of .LHC protocol files
  • User guide notebooks for all four models

Breaking: pylabrobot.agilent.biotek.el406 is removed. EL406 now lives at
pylabrobot.agilent.biotek.lhc.EL406, and its operations take step objects instead of long
flat keyword lists (wash(): 39 keyword arguments to nine). The unrelated legacy backend in
pylabrobot/legacy/plate_washing/biotek/el406/ is untouched.

The implementation comes from decompiling and translating the agilents LHC2 software and has been tested against it afterwards leading to high confidence in being correct. The Software has been also tested with real MultiFloFX and Washer 405TS. All "reference captures from real EL406 hardware"-tests from the removed el406 implementation are reproduced.
A few bugs (with carrier homing, some validation ranges and serialization of positioning in final_aspirate) of the original el406 implementation are fixed.
Updated CHANGELOG and CODEOWNERS.

The code was almost fully written by claude with me only making the package structure and some design choices.
This PR text is written by me ;-)

@stefanmaak
stefanmaak requested a review from a team as a code owner September 13, 2026 18:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant