Pause and resume on the OT-2 are currently controlled by a threading.Event located in the smoothie driver and checked by that system before sending any move command. That means that pauses have no effect until the next smoothie driver move.
Cancel is implemented by setting the smoothie hard halt pin and waiting for an error to come back. That means cancelling has no effect until the next smoothie driver move.
Both those problems need to be fixed before we can cleanly, correctly, and consistently implement asynchronous semantics for module commands - being able to do other commands while waiting for your temperature module to heat.
Pause and resume on the OT-2 are currently controlled by a threading.Event located in the smoothie driver and checked by that system before sending any move command. That means that pauses have no effect until the next smoothie driver move.
Cancel is implemented by setting the smoothie hard halt pin and waiting for an error to come back. That means cancelling has no effect until the next smoothie driver move.
Both those problems need to be fixed before we can cleanly, correctly, and consistently implement asynchronous semantics for module commands - being able to do other commands while waiting for your temperature module to heat.
This epic collects that work.
┆Issue is synchronized with this Wrike Task by Unito