-
Notifications
You must be signed in to change notification settings - Fork 121
Integrate Inheco Incubator Shaker #765
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Integrate Inheco Incubator Shaker #765
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR integrates support for the Inheco Incubator Shaker Stack, a modular temperature control and shaking device for laboratory automation. The implementation provides a comprehensive async backend for serial communication via FTDI USB, supporting stacks of up to 5 units with different configurations (MP/DWP, with/without shaker).
Key Changes
- Complete backend implementation with CRC-validated serial protocol
- Frontend classes for stack-level and unit-level control
- Enhanced Serial.py with VID:PID-based auto-discovery
- Comprehensive documentation with tutorial notebook
Reviewed changes
Copilot reviewed 8 out of 12 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
pylabrobot/storage/inheco/incubator_shaker_backend.py |
Implements async serial backend with firmware protocol, error handling, and complete API for temperature/shaking control |
pylabrobot/storage/inheco/incubator_shaker.py |
Frontend resource class managing stack geometry and master control commands |
pylabrobot/io/serial.py |
Enhanced with VID:PID auto-discovery for USB devices |
pylabrobot/storage/inheco/__init__.py |
Module exports for new integration |
docs/user_guide/01_material-handling/storage/inheco/incubator_shaker.ipynb |
Tutorial notebook with usage examples |
_typos.toml |
Added firmware command abbreviations to dictionary |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
|
Thank you @rickwierenga for the thorough review and working with me on this PLR integration 😊 |
Hi everyone,
New PyLabRobot integration: the Inheco Incubator Shaker
I've added a thorough docs tutorial to showcase how powerful this small machine is and how to use it programmatically.
Simple overview of the implementation:
in code (see docs notebook for more details):
TODO: test the resource definition I created for it (hence not yet in the docs tutorial, might require a recipe since it is getting a bit beyond basic control).