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 EventTimer class
- set the delay on the EventTimer when the source event occurs.
- check the EventTimer.done at every mainloop cycle.
- Once done, it is time to executed the delayed code.
Remark: the done will assert True only once for every set()!
Practical example
xx
PymateIO all right reserved © 2026 - Written by MCHobby for PymateIO