You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The work made it, was based on the scheme of the following image.
The script conf_button.py has the implementation of the states. Also, there is a couple of method to incorporate external functions that runs at startup and pause states.
The example test_button.py, shows how to use the callbacks and set states from GUI.
The implementation with while True is not a strong solution. Is better try to implement callbacks and interrupts. But to do that, the opentrons.drivers.rpi_drivers needs to be implemented with low-level APIs, because the implementation with Linux Kernel is not the fastest and the interrupts are not completely supported.
The text was updated successfully, but these errors were encountered:
Any reason why this hasn't been implemented in recent firmware versions? Anything I can do to help? Users are asking me for an emergency stop button (pause is fine) and I was thinking on implementing a similar solution.
A killswitch would be nice. It'd be great if we could cancel a protocol using the button. We've lost usb connection mid-run and haven't been able to stop the robot which resulted in frantically removing items from the deck to avoid samples getting messed up.
Overview
Relevant issues:
#5
Opentrons/opentrons#531
The work made it, was based on the scheme of the following image.
The script
conf_button.py
has the implementation of the states. Also, there is a couple of method to incorporate external functions that runs at startup and pause states.The example
test_button.py
, shows how to use the callbacks and set states from GUI.Note: The double tap, was not implemented.
Relevant Links
https://github.com/cristhoper/hack-a-tron.git
Next iteration possibilities
The implementation with
while True
is not a strong solution. Is better try to implement callbacks and interrupts. But to do that, theopentrons.drivers.rpi_drivers
needs to be implemented with low-level APIs, because the implementation with Linux Kernel is not the fastest and the interrupts are not completely supported.The text was updated successfully, but these errors were encountered: