SBK_BarDrive Library 2.1.2
LED bar meter control and queued animations for Arduino
Loading...
Searching...
No Matches
SBK_BarMeterAnimations.h File Reference

Built-in animation engine for SBK_BarMeter-based LED displays. More...

#include <Arduino.h>

Go to the source code of this file.

Data Structures

class  SBK_BarMeterAnimations< BarMeterT >
 Templated animation controller for SBK_BarMeter<T>. More...
struct  SBK_BarMeterAnimations< BarMeterT >::QueueEntry
struct  SBK_BarMeterAnimations< BarMeterT >::Block

Macros

#define SBK_BARDRIVE_QUEUE_CAPACITY   4
#define bpm   _param1
#define MIN_BASE_LEVEL   _param2
#define MIN_PEAK_LEVEL   _param3
#define PEAK_HOLD_TIME   _param4
#define bpmPtr   _liveBpmPtr()
#define currentLevel   _ledTracker1
#define peakLevel   _ledTracker2
#define beat   _updateIntv1
#define lastBeat   _lastUpdate1
#define lastRandomUpdate   _lastUpdate2
#define prevPeakUpdate   _lastUpdate3
#define blockLength   _param1
#define blockSpacing   _param2
#define requestedNumBlocks   _param3
#define maxBlocks   _param4
#define emitIndex   _param5
#define emittedBlocksCount   _counter1
#define emitCooldown   _counter2
#define stackLevel   _ledTracker1
#define smoothingFactor   _param1
#define currentLevel   _ledTracker1
#define peakLevel   _ledTracker3
#define baseUpdate   _updateIntv1
#define lastBaseUpdate   _lastUpdate1
#define peakHoldTime   _updateIntv3
#define lastPeakUpdate   _lastUpdate3

Detailed Description

Built-in animation engine for SBK_BarMeter-based LED displays.

This file defines the SBK_BarMeterAnimations template class, which provides a rich set of built-in animation sequences for LED bar meters. It supports dynamic animations like filling, bouncing, signal tracking, block emissions, random pixel updates, and more.

Compatible with any SBK_BarMeter<DriverT> instance, this class integrates directly with SBK_BarDrive through its .animations() accessor.

Highlights:

  • Looping and one-shot animations
  • Direction and logic inversion controls
  • Live signal tracking and pointer rendering
  • Block-based animations with emission control
  • BPM-synchronized beat pulse effect
  • Chainable animation starter functions
  • Pixel state aware when SBK_TRACK_PIXEL_STATE is defined
Template Parameters
BarMeterTA specific instantiation of SBK_BarMeter (e.g., SBK_BarMeter<SBK_MAX72xxSoft>)
Author
Samuel Barabé (Smart Builds & Kits)
Version
2.1.2
License MIT

Definition in file SBK_BarMeterAnimations.h.

Macro Definition Documentation

◆ baseUpdate

#define baseUpdate   _updateIntv1

Definition at line 3049 of file SBK_BarMeterAnimations.h.

◆ beat

◆ blockLength

◆ blockSpacing

◆ bpm

◆ bpmPtr

#define bpmPtr   _liveBpmPtr()

◆ currentLevel [1/2]

#define currentLevel   _ledTracker1

Definition at line 2356 of file SBK_BarMeterAnimations.h.

◆ currentLevel [2/2]

◆ emitCooldown

◆ emitIndex

◆ emittedBlocksCount

◆ lastBaseUpdate

#define lastBaseUpdate   _lastUpdate1

◆ lastBeat

#define lastBeat   _lastUpdate1

◆ lastPeakUpdate

#define lastPeakUpdate   _lastUpdate3

◆ lastRandomUpdate

#define lastRandomUpdate   _lastUpdate2

◆ maxBlocks

◆ MIN_BASE_LEVEL

#define MIN_BASE_LEVEL   _param2

◆ MIN_PEAK_LEVEL

#define MIN_PEAK_LEVEL   _param3

◆ PEAK_HOLD_TIME

#define PEAK_HOLD_TIME   _param4

◆ peakHoldTime

◆ peakLevel [1/2]

#define peakLevel   _ledTracker3

Definition at line 2357 of file SBK_BarMeterAnimations.h.

◆ peakLevel [2/2]

◆ prevPeakUpdate

#define prevPeakUpdate   _lastUpdate3

◆ requestedNumBlocks

◆ SBK_BARDRIVE_QUEUE_CAPACITY

#define SBK_BARDRIVE_QUEUE_CAPACITY   4

Definition at line 40 of file SBK_BarMeterAnimations.h.

◆ smoothingFactor

◆ stackLevel

#define stackLevel   _ledTracker1