Timer
Timer is a special API component in ElenixOS used to create and manage timers. This document describes the functionality, usage methods, and notes for the timer component.
Feature Introduction
The timer component allows developers to create timers that execute callbacks at specified intervals. Timers are typically used for periodic tasks, animations, and time-based operations.
Usage Methods
Creating Timer
Use the new lv.timer() constructor to create a timer object:
// Create timer object
const timer = new lv.timer(callback, period, userData);
Parameters
callback: Function to execute when timer triggersperiod: Timer period in millisecondsuserData: Optional user data to pass to callback
Configuring Timer
Use the following methods to configure the timer:
// Set timer period
timer.setPeriod(1000);
// Pause timer
timer.pause();
// Resume timer
timer.resume();
// Stop timer
timer.stop();
// Check if timer is running
const isRunning = timer.isRunning();
Example: Creating a Simple Timer
// Create timer that triggers every second
const timer = new lv.timer(function() {
eos.console.log("Timer triggered");
}, 1000, null);
// Pause timer after 5 seconds
setTimeout(function() {
timer.pause();
}, 5000);
// Resume timer after 10 seconds
setTimeout(function() {
timer.resume();
}, 10000);
Example: Creating a Countdown Timer
let count = 10;
// Create countdown timer
const timer = new lv.timer(function() {
count--;
eos.console.log("Countdown:", count);
if (count <= 0) {
timer.stop();
eos.console.log("Countdown finished");
}
}, 1000, null);
Notes
- Timers should be stopped when no longer needed to avoid memory leaks
- Timer callbacks should be lightweight to avoid blocking the main thread