Timer¶
A repetitive or single-shot timer. To use a timer, assign a function to its timeout_handler and call start() - the handler will be called at constant intervals. The interval can be adjusted with the interval property.
A timer with an interval of 0 will call its timeout_handler on every controller refresh.
Set the single_shot property to true if you only want the timer to call its timeout_handler once.
Properties¶
Timer.interval¶
Read/write. The timeout interval in milliseconds.
Changing the interval while the timer is active will restart the timer with the new interval.
Setting this property to 0 will result in the timeout_handler being called on every controller refresh. The timer will become inactive if this property is set to a negative value and will remain so until a non-negative value is set.
Timer.remaining_time¶
Read only. The remaining time in milliseconds.
Timer.active¶
Read only. True if the timer is running; otherwise false.
Timer.single_shot¶
Read/write. This property determines whether the timer is single-shot. A single-shot timer call its timeout_handler only once; non-single-shot timers call their timeout_handler every interval milliseconds.
Methods¶
Timer.new() -> Timer¶
Create a new timer.
Timer:start()¶
Starts the timer. If the timer is already active it will be restarted.
Timer:stop()¶
Stops the timer.
Event handlers¶
Timer.timeout_handler¶
The handler has the following signature:
function(timer)
The handler is called each time the timer interval has elapsed.