Skip to main content

Metronome

Control
input + output
Small RAM
0.4.4

#Description

This one allows you to fire events in an interval. You could use this for example to let an LED blink continuously.

#Functions



#JavaScript / Node.js

ClassMetronomeextends EventEmitter

Metronome that emits a tick event at a configurable frequency (in milliseconds).

#Events

EventParametersDescription
startstate: { timestamp: number; frequency: number }
tickstate: { timestamp: number; frequency: number }
stop

#Methods

start()

Start the metronome. Emits a `tick` event immediately and then at every interval.

stop()

Stop the metronome.

setFrequency(frequency: number)

Update the tick interval in milliseconds. Takes effect immediately if already running.

#Example

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

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

const metronome = new Metronome({ frequency: 1000 });


#C++ (Arduino)

ClassMetronomeextends ComponentBase

Virtual component that emits periodic tick events Emits "tick", "start", and "stop" events

#Setup

C++
#include "blokdots.h"

Metronome myComponent(eventBus, MY_EVENT, MY_EVENT, MY_EVENT);

#Constructor

Metronome(bus, evtTick, evtStart, evtStop, initialFrequency)
ParameterTypeDefault
busEventBusrequired
evtTickuint8_trequired
evtStartuint8_trequired
evtStopuint8_trequired
initialFrequencyuint32_t1000

#Methods

getFrequency()uint32_t

Get current frequency in milliseconds

playing()bool

Check if metronome is running

start()

Start the metronome

stop()

Stop the metronome

setFrequency(newFrequency)

Set frequency (in milliseconds)

ParameterTypeDefault
newFrequencyuint32_trequired