Skip to main content

Timer

Control
input + output
Small RAM
0.3.1

#Description

This component can be very helpful if you want to get something triggered after a certain amount of time, after something else has happened.

#Functions



#JavaScript / Node.js

ClassTimerextends EventEmitter

Timer that counts elapsed time in seconds and emits tick events at a 50 ms resolution.

#Events

EventParametersDescription
startseconds: number
tickseconds: number
changeseconds: number
stopseconds: number
resetseconds: number
setseconds: number

#Methods

start()

Start counting elapsed time. Has no effect if already running.

stop()

Stop counting elapsed time.

reset()

Reset elapsed time to zero. Restarts the interval if the timer was running.

setTo(value: number)

Set elapsed time to a specific value in seconds.

#Example

JavaScript
import { Board, Timer } from "@blokdots/components";

const board = new Board("/dev/ttyACM0");
await board.open();

const timer = new Timer();


#C++ (Arduino)

ClassTimerextends ComponentBase

Virtual component that tracks elapsed time in seconds Emits events: tick (every 50ms), start, stop, set, reset

#Setup

C++
#include "blokdots.h"

Timer myComponent(eventBus, MY_EVENT, MY_EVENT, MY_EVENT, MY_EVENT, MY_EVENT);

#Constructor

Timer(bus, evtTick, evtStart, evtStop, evtSet, evtReset, initialValue)
ParameterTypeDefault
busEventBusrequired
evtTickuint8_trequired
evtStartuint8_trequired
evtStopuint8_trequired
evtSetuint8_trequired
evtResetuint8_trequired
initialValuefloat0.0

#Methods

getValue()float

Get current timer value in seconds

emittedValue()float

Get emitted value (same as getValue for Timer)

start()

Start the timer (continues from current value)

stop()

Stop the timer (pause at current value)

reset()

Reset the timer to 0 and restart

setTo(newValue)

Set timer to a specific value in seconds

ParameterTypeDefault
newValuefloatrequired