Noiasca Tool Kit
Several helper functions and classes to make life with Arduino easier
Public Member Functions | List of all members
Rhythm< T > Class Template Reference

show a specific rhythm. More...

#include <Noiasca_led.h>

Inherits LedBase< T >.

Public Member Functions

 Rhythm (T &obj)
 blink a specific rhythm More...
 
void setInterval (uint16_t _interval0, uint16_t _interval1)
 set on/off times More...
 
void setInterval (uint16_t _interval0, uint16_t _interval1, uint16_t _interval2, uint16_t _interval3)
 set on/off times More...
 
void setInterval (uint16_t _interval0, uint16_t _interval1, uint16_t _interval2, uint16_t _interval3, uint16_t _interval4, uint16_t _interval5)
 set on/off times More...
 
void setInterval (uint16_t _interval0, uint16_t _interval1, uint16_t _interval2, uint16_t _interval3, uint16_t _interval4, uint16_t _interval5, uint16_t _interval6, uint16_t _interval7)
 set on/off times More...
 
void off () override
 switch output off More...
 
void toggle ()
 switch between on or off state
 
void update (uint32_t currentMillis=millis())
 check if update is necessary More...
 

Detailed Description

template<class T>
class Rhythm< T >

show a specific rhythm.

blinks a LED in a specific rhythm. Supports 1, 2 and 4 pairs of on/off times. This can be used for police cars, ambulances and similar vehicles. default sequence is ECE2 (150, 60, 20, 270). But you can set any other sequence also (ECE1, HELLA 3, HELLA 4,...)

Constructor & Destructor Documentation

◆ Rhythm()

template<class T >
Rhythm< T >::Rhythm ( T &  obj)
inline

blink a specific rhythm

Parameters
objthe object to connect

Member Function Documentation

◆ setInterval() [1/4]

template<class T >
void Rhythm< T >::setInterval ( uint16_t  _interval0,
uint16_t  _interval1 
)
inline

set on/off times

Set the on and off interval.

Parameters
_interval0the on interval
_interval1the off interval

◆ setInterval() [2/4]

template<class T >
void Rhythm< T >::setInterval ( uint16_t  _interval0,
uint16_t  _interval1,
uint16_t  _interval2,
uint16_t  _interval3 
)
inline

set on/off times

Set the on and off interval.

Parameters
_interval0the on interval
_interval1the off interval
_interval2the on interval
_interval3the off interval

◆ setInterval() [3/4]

template<class T >
void Rhythm< T >::setInterval ( uint16_t  _interval0,
uint16_t  _interval1,
uint16_t  _interval2,
uint16_t  _interval3,
uint16_t  _interval4,
uint16_t  _interval5 
)
inline

set on/off times

Set the on and off interval.

Parameters
_interval0the on interval
_interval1the off interval
_interval2the on interval
_interval3the off interval
_interval4the on interval
_interval5the off interval

◆ setInterval() [4/4]

template<class T >
void Rhythm< T >::setInterval ( uint16_t  _interval0,
uint16_t  _interval1,
uint16_t  _interval2,
uint16_t  _interval3,
uint16_t  _interval4,
uint16_t  _interval5,
uint16_t  _interval6,
uint16_t  _interval7 
)
inline

set on/off times

Set the on and off interval.

Parameters
_interval0the on interval
_interval1the off interval
_interval2the on interval
_interval3the off interval
_interval4the on interval
_interval5the off interval
_interval6the on interval
_interval7the off interval

◆ off()

template<class T >
void Rhythm< T >::off ( )
inlineoverride

switch output off

Switch the output to off state.

◆ update()

template<class T >
void Rhythm< T >::update ( uint32_t  currentMillis = millis())
inline

check if update is necessary

This is the "run" function. Call this function in loop() to make the effect visible.

Parameters
currentMillisyou can handover a millis timestamp