-
Notifications
You must be signed in to change notification settings - Fork 126
Tecan spark #798
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
base: main
Are you sure you want to change the base?
Tecan spark #798
Conversation
|
CRAZY COOOOL! this is VERY complete |
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 adds support for the Tecan Spark plate reader by implementing a comprehensive async backend with USB communication, packet parsing, and data processing capabilities. The implementation includes controls for various instrument subsystems and processors for absorbance and fluorescence measurements.
Key Changes
- New async USB reader with packet parsing for Tecan Spark devices
- Absorbance and fluorescence data processors with real-world test coverage
- Comprehensive control modules for plate transport, optics, sensors, measurements, and system configuration
- Utility function for calculating non-overlapping well rectangles
Reviewed changes
Copilot reviewed 23 out of 24 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| pylabrobot/plate_reading/utils.py | Adds helper to find non-overlapping rectangles covering plate wells |
| pylabrobot/plate_reading/tecan/spark20m/spark_reader_async.py | Implements async USB communication layer for Spark devices |
| pylabrobot/plate_reading/tecan/spark20m/spark_packet_parser.py | Parses binary measurement data packets from the device |
| pylabrobot/plate_reading/tecan/spark20m/spark_processor.py | Processes raw measurement data into absorbance/fluorescence values |
| pylabrobot/plate_reading/tecan/spark20m/spark_backend.py | Main backend integrating all components for plate reading operations |
| pylabrobot/plate_reading/tecan/spark20m/controls/*.py | Control modules for device subsystems (optics, sensors, movement, etc.) |
| pylabrobot/plate_reading/tecan/spark20m/*_tests.py | Unit tests for reader, processor, and backend components |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
pylabrobot/plate_reading/tecan/spark20m/controls/system_control.py
Outdated
Show resolved
Hide resolved
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
tecan spark WIP. luminescence coming up soon. i had a hard time to get io.usb to work with this, so i'm directly using libusb for now