-
Notifications
You must be signed in to change notification settings - Fork 106
Exposing autoload carrier load, unload & barcode reading (v1) #64
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
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.
You're on fire!
…achine and moves to the save, last x position)
I have rewritten the original version to
However, one of the unit tests suddenly fails and I am not yet sure why: =================================== FAILURES ===================================
___________________ LiquidHandlingApiGeneralTests.test_stop ____________________
self = <liquid_handling_api_tests.LiquidHandlingApiGeneralTests testMethod=test_stop>
def test_stop(self):
with self.app.test_client() as client:
response = client.post(self.base_url + "/stop")
self.assertEqual(response.status_code, 200)
> self.assertIn(response.json.get("status"), {"running", "succeeded"})
E AssertionError: 'error' not found in {'running', 'succeeded'}
pylabrobot/server/liquid_handling_api_tests.py:64: AssertionError |
Awesome. I'll look at the code very soon. Regarding the test: this is some kind of race condition that sometimes occurs. I have to debug that, but haven't found the time yet. It's fine to ignore for now. |
Exposing autoload carrier load, unload & barcode reading (v1)
I have written code to use the autoload on Hamilton STAR liquid handlers.
I used the iSWAP implementation as inspiration to make this function comprehensive and (in my hands) safe (an autoload or carrier left in the middle of the machine has the potential to damage the machine, users operate on their own responsibility):
I0RO
fw command ("Request download date") to check when the autoload software has been downloaded. If the download has happened after 2015 the machine is considered to have an autoload installed. I will have to receive feedback from other users who do not have an autoload whether this truly recognises the absence of the autoload - similar to how the absence of an iSWAP had to be figured out by a user without an iSWAP :)C0CS
("Check for presence of carriers on loading tray") acts as an intermediate solution because it ends with the autoload parked in a save position.This enables loading of carriers:
This enables unloading of carriers:
Furthermore, the fw command for loading is the main way of quickly identifying the barcodes of your labware.
This is activated using...
This function can currently specify further:
I have verified the ability to read barcodes from Hamilton tip carriers and Hamilton tips.
Plate barcodes cannot be read yet.
After closing this PR I will write a forum post detailing the functionalities for easy adaptation by other users.