feat(highres): add TundraStore/SteriStore plate store driver - #1090
Merged
Conversation
|
Is this compatible with the AmbiStore? The AmbiStore is the same commands as the TundraStore without the refrigeration. |
Member
Author
|
should be! do you have one to test it with? |
|
Yes! I will test when I find time! Thanks! |
Member
Author
|
sweet, I dont have one for testing, so would appreciate the feedback there! the docs I have are actually for tundra store but work just the same on steri. look forward to hearing how it goes, please dont hesitate to reach out |
rickwierenga
force-pushed
the
v1b1
branch
2 times, most recently
from
August 1, 2026 20:32
6af085c to
1ae9dc6
Compare
rickwierenga
force-pushed
the
highres-tundrastore-driver
branch
from
August 21, 2026 17:49
40c8fd7 to
3c7698e
Compare
rickwierenga
force-pushed
the
highres-tundrastore-driver
branch
from
August 25, 2026 03:42
292e06c to
6556314
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a PyLabRobot driver for the HighRes Biosolutions TundraStore (branded "SteriStore") refrigerated automated plate store. The device exposes a line-based text protocol over TCP port 1000 (
ACK!echo → optional data →OK!/ABORTED!/ERROR!completion).New package
pylabrobot/highres/tundrastore/, modeled on the v1b1 Cytomat driver:TundraStoreBackend— transport overpylabrobot.io.socket.Socket, with command framing + error-stack parsing. Mixes in theAutomatedRetrieval,TemperatureController, and (read-only)HumidityControllercapability backends +Driver. Exposes low-levelhome/pick(stacker, slot, nest)/place/ door / barcode commands and status queries (version, doors, nests, spatula, environment, stacker dimensions).TundraStoreChatterboxBackend— device-free backend for offline testing.TundraStore—Resource + Devicefrontend (racks → stackers, capability registration), mirroring the Cytomat frontend.backend_tests.py— 13 tests driven by real responses captured from hardware (firmware 3.0.0.119, serial HRB-2209-35148), including the realERROR! home … Unable to close all doorsstack.Validation
ruff format/ruff checkandmypyclean.Open question / follow-up
The TundraStore has two transfer nests, but the
AutomatedRetrievalcapability is single-loading-tray. For now the capability uses a configurableloading_tray_nest(default 1);pick/placecan address either nest directly. A proper two-nest mapping is left as a follow-up.The temperature/humidity setter paths (
environmentset TEMP …,environment TEMP off) are constructed from the manual's command grammar but not yet hardware-verified (couldn't safely run state changes during testing). Read paths are verified.🤖 Generated with Claude Code