PymateIO-Delaying
Jump to navigation
Jump to search
Abstract
The "Cycle Timing" tutorial state the following:
NEVER USE BLOCKING INSTRUCTION in the mainloop
Blocking instruction locks the script execution in a waiting state... whereas critical operation may requires quick reaction from the script.
The sleep(), sleep_ms() are BLOCKING INSTRUCTIONS.
They should never be used in your script, neither in the mainloop
The solution for this is:
- use the DelayTimer class
- set the delay on the DelayTimer when the source event occurs.
- check the DelayTimer.done at every mainloop cycle.
- Once done, it is time to executed the delayed code.
Remark: the done will be True only once for every set()!
PymateIO all right reserved © 2026 - Written by MCHobby for PymateIO