|
SBK_BarDrive Library 2.0.4
Modular animation and control library for bar meter LEDs
|
Templated animation controller for SBK_BarMeter<T>. More...
#include <SBK_BarMeterAnimations.h>
Classes | |
| struct | Block |
Public Member Functions | |
| SBK_BarMeterAnimations (BarMeterT &barMeter) | |
| Construct an animation controller linked to a bar meter. | |
| ~SBK_BarMeterAnimations () | |
| Destructor. Frees block memory if allocated. | |
| void | setSegsNum (uint8_t n) |
| Set the total number of segments the animation logic should handle. Typically called automatically from SBK_BarDrive. | |
| bool | update (uint32_t syncTime=millis()) |
| Advance the animation logic based on the current millis(). | |
| SBK_BarMeterAnimations & | animInit () |
| Mark animation as ready to reinitialize in next update cycle. | |
| SBK_BarMeterAnimations & | pause () |
| Pause animation progression. | |
| SBK_BarMeterAnimations & | resume () |
| Resume animation after pause. | |
| SBK_BarMeterAnimations & | stop () |
| Stop animation and reset internal pointers. | |
| SBK_BarMeterAnimations & | loop () |
| Set animation to automatically loop when complete. | |
| SBK_BarMeterAnimations & | noLoop () |
| Disable auto-looping. Animation will stop when complete. | |
| SBK_BarMeterAnimations & | setDir (bool newDirection) |
| Explicitly set the animation rendering direction. | |
| SBK_BarMeterAnimations & | toggleDir () |
| Toggle the current animation rendering direction. | |
| SBK_BarMeterAnimations & | reverseDir () |
| Reverse the rendering direction compared to the original one. | |
| SBK_BarMeterAnimations & | resetDir () |
| Reset direction to the original setting. | |
| SBK_BarMeterAnimations & | setLogic (bool newLogic) |
| Set rendering logic (true = inverted logic, false = normal logic), example fill logic become empty logic. Logic refer to behavior, example : fill/empty, exploding/colliding, etc. | |
| SBK_BarMeterAnimations & | toggleLogic () |
| Toggle rendering logic (inverted vs normal), example fill logic become empty logic. Logic refer to behavior, example : fill/empty, exploding/colliding, etc. Some functions logic have no invertion, this function will have no effect on them. | |
| SBK_BarMeterAnimations & | invertLogic () |
| Reverse logic compared to initial state Logic refer to behavior, example : fill/empty, exploding/colliding, etc. Some functions logic have no invertion, this function will have no effect on them. | |
| SBK_BarMeterAnimations & | resetLogic () |
| Reset logic to initial (default) value. Logic refer to behavior, example : fill/empty, exploding/colliding, etc. Some functions logic have no invertion, this function will have no effect on them. | |
| SBK_BarMeterAnimations & | stopBlockEmission () |
| Stop emitting new blocks during compatible block animations. | |
| SBK_BarMeterAnimations & | resumeBlockEmission () |
| Resume emitting new blocks during compatible block animations. | |
| bool | isRunning () const |
| Query if animation is currently active. | |
| bool | isPaused () const |
| Query if animation is paused. | |
| bool | isLoopEnabled () const |
| Query if animation loop is enabled. | |
| bool | animPendingLoop () |
| Detect whether animation has completed and is about to loop. | |
| bool | isLogicInverted () |
| Returns true if current logic is different from original logic. | |
| bool | isNonInvertingLogicAnim () |
| Returns true if the current animation hasen't a logic invertion aka logic can't be inverted. | |
| bool | isDirectionReversed () |
| Returns true if direction is reversed compared to the original. | |
| bool | isBlockEmissionEnabled () const |
| Query if block emission is enabled. | |
| SBK_BarMeterAnimations & | setAll (bool onff) |
| Set all pixels to the specified state. | |
| SBK_BarMeterAnimations & | setAllOn () |
| Set all pixels ON. | |
| SBK_BarMeterAnimations & | setAllOff () |
| Set all pixels OFF. | |
| SBK_BarMeterAnimations & | fillUpDur (uint16_t duration, uint8_t maxPercent=100, uint8_t minPercent=0) |
| Start animation that fills the bar upwards over a specified duration. | |
| SBK_BarMeterAnimations & | fillUpIntv (uint16_t updateIntv, const uint8_t *maxPercentPtr, const uint8_t *minPercentPtr=nullptr) |
| Start animation that fills the bar upwards at a fixed interval with live percent tracking. | |
| SBK_BarMeterAnimations & | fillUpIntv (uint16_t updateIntv, uint8_t maxPercent=100, uint8_t minPercent=0) |
| Start animation that fills the bar upwards at a fixed interval. | |
| SBK_BarMeterAnimations & | fillDownDur (uint16_t duration, uint8_t maxPercent=100, uint8_t minPercent=0) |
| Start animation that fills the bar downwards over a specified duration. | |
| SBK_BarMeterAnimations & | fillDownIntv (uint16_t updateIntv, const uint8_t *maxPercentPtr, const uint8_t *minPercentPtr=nullptr) |
| Start animation that fills the bar downwards at a fixed interval with live percent tracking. | |
| SBK_BarMeterAnimations & | fillDownIntv (uint16_t updateIntv, uint8_t maxPercent=100, uint8_t minPercent=0) |
| Start animation that fills the bar downwards at a fixed interval. | |
| SBK_BarMeterAnimations & | emptyDownDur (uint16_t duration, uint8_t maxPercent=100, uint8_t minPercent=0) |
| Start animation that empties the bar from top to bottom over a duration. | |
| SBK_BarMeterAnimations & | emptyDownIntv (uint16_t updateIntv, const uint8_t *maxPercentPtr, const uint8_t *minPercentPtr=nullptr) |
| Start animation that empties the bar from top to bottom at fixed intervals with live range. | |
| SBK_BarMeterAnimations & | emptyDownIntv (uint16_t updateIntv, uint8_t maxPercent=100, uint8_t minPercent=0) |
| Start animation that empties the bar from top to bottom at fixed intervals. | |
| SBK_BarMeterAnimations & | emptyUpDur (uint16_t duration, uint8_t maxPercent=100, uint8_t minPercent=0) |
| Start animation that empties the bar from bottom to top over a duration. | |
| SBK_BarMeterAnimations & | emptyUpIntv (uint16_t updateIntv, const uint8_t *maxPercentPtr, const uint8_t *minPercentPtr=nullptr) |
| Start animation that empties the bar from bottom to top at fixed intervals with live range. | |
| SBK_BarMeterAnimations & | emptyUpIntv (uint16_t updateIntv, uint8_t maxPercent=100, uint8_t minPercent=0) |
| Start animation that empties the bar from bottom to top at fixed intervals. | |
| SBK_BarMeterAnimations & | bounceFillUpDur (uint16_t duration, uint8_t maxPercent=100, uint8_t minPercent=0, uint16_t fillIntv=0) |
| Start animation that fills/empties (bounces) bar upward with fixed range. | |
| SBK_BarMeterAnimations & | bounceFillUpIntv (uint16_t fillIntv, uint16_t emptyIntv, const uint8_t *maxPercentPtr, const uint8_t *minPercentPtr=nullptr) |
| Start animation that fills/empties (bounces) bar upward with live range. | |
| SBK_BarMeterAnimations & | bounceFillUpIntv (uint16_t fillIntv=10, uint16_t emptyIntv=10, uint8_t maxPercent=100, uint8_t minPercent=0) |
| Start animation that fills/empties (bounces) bar upward with fixed range. | |
| SBK_BarMeterAnimations & | bounceFillDownDur (uint16_t duration, uint8_t maxPercent=100, uint8_t minPercent=0, uint16_t fillIntv=0) |
| Start animation that fills/empties (bounces) bar downward. | |
| SBK_BarMeterAnimations & | bounceFillDownIntv (uint16_t fillIntv, uint16_t emptyIntv, const uint8_t *maxPercentPtr, const uint8_t *minPercentPtr=nullptr) |
| Start downward fill/empty (bounce) with live percent range tracking. | |
| SBK_BarMeterAnimations & | bounceFillDownIntv (uint16_t fillIntv=10, uint16_t emptyIntv=10, uint8_t maxPercent=100, uint8_t minPercent=0) |
| Start downwardfill/empty (bounce) with fixed percent range. | |
| SBK_BarMeterAnimations & | bounceFillFromCenterDur (uint16_t duration, uint8_t maxPercent=100, uint8_t minPercent=0, uint16_t fillIntv=0) |
| Bounce fill from center outward with fixed range. | |
| SBK_BarMeterAnimations & | bounceFillFromCenterIntv (uint16_t fillIntv, uint16_t emptyIntv, const uint8_t *maxPercentPtr, const uint8_t *minPercentPtr=nullptr) |
| Bounce fill from center outward with live percent range tracking. | |
| SBK_BarMeterAnimations & | bounceFillFromCenterIntv (uint16_t fillIntv=25, uint16_t emptyIntv=25, uint8_t maxPercent=100, uint8_t minPercent=0) |
| Bounce fill from center outward with fixed range. | |
| SBK_BarMeterAnimations & | bounceFillFromEdgesDur (uint16_t duration, uint8_t maxPercent=100, uint8_t minPercent=0, uint16_t fillIntv=0) |
| Bounce fill from both edges inward with fixed range. | |
| SBK_BarMeterAnimations & | bounceFillFromEdgesIntv (uint16_t fillIntv, uint16_t emptyIntv, const uint8_t *maxPercentPtr, const uint8_t *minPercentPtr=nullptr) |
| Bounce fill from both edges inward with live percent range tracking.. | |
| SBK_BarMeterAnimations & | bounceFillFromEdgesIntv (uint16_t fillIntv=25, uint16_t emptyIntv=25, uint8_t maxPercent=100, uint8_t minPercent=0) |
| Bounce fill from both edges inward with fix range. | |
| SBK_BarMeterAnimations & | beatPulse (uint8_t *bpmPtr) |
| Start a beat pulse animation synchronized to a live BPM value. | |
| SBK_BarMeterAnimations & | beatPulse (uint8_t bpm=116) |
| Start a beat pulse animation synchronized to a constant BPM. | |
| SBK_BarMeterAnimations & | explodingBlocks (uint16_t intv=50, uint8_t blockLength=2, uint8_t blockSpacing=1, uint8_t numBlocks=0) |
| Emit mirrored blocks from center outward. | |
| SBK_BarMeterAnimations & | collidingBlocks (uint16_t intv=50, uint8_t blockLength=2, uint8_t blockSpacing=1, uint8_t numBlocks=0) |
| Emit mirrored blocks from edge to center. | |
| SBK_BarMeterAnimations & | scrollingUpBlocks (uint16_t intv=50, uint8_t blockLength=2, uint8_t blockSpacing=1, uint8_t numBlocks=0) |
| Scroll blocks upward. | |
| SBK_BarMeterAnimations & | scrollingDownBlocks (uint16_t intv=50, uint8_t blockLength=2, uint8_t blockSpacing=1, uint8_t numBlocks=0) |
| Scroll blocks downward. | |
| SBK_BarMeterAnimations & | downStackingBlocks (uint16_t intv=50, uint8_t blockLength=1, uint8_t blockSpacing=0) |
| Drop blocks from top and stack from bottom up. | |
| SBK_BarMeterAnimations & | upUnstackingBlocks (uint16_t intv=50, uint8_t blockLength=1, uint8_t blockSpacing=0) |
| Launch blocks upward and unstack from top. | |
| SBK_BarMeterAnimations & | upStackingBlocks (uint16_t intv=50, uint8_t blockLength=1, uint8_t blockSpacing=0) |
| Launch blocks from bottom and stack at the top. | |
| SBK_BarMeterAnimations & | downUnstackingBlocks (uint16_t intv=50, uint8_t blockLength=1, uint8_t blockSpacing=0) |
| Drop blocks from top and unstack from bottom up. | |
| SBK_BarMeterAnimations & | followSignalSmooth (const uint16_t *sigPtr, uint16_t updateIntv=100, uint16_t minMap=0, uint16_t maxMap=1023, uint8_t smoothingFactor=30, uint16_t samplingIntv=5) |
| Follow analog signal with smoothing for fill animation. | |
| SBK_BarMeterAnimations & | followSignalWithPointer (const uint16_t *sigPtr, uint16_t updateIntv=100, uint16_t minMap=0, uint16_t maxMap=1023, uint8_t smoothingFactor=30, uint16_t samplingIntv=5) |
| Follow signal with smoothing and display a pointer. | |
| SBK_BarMeterAnimations & | followDualSignalFromCenter (const uint16_t *sig1Ptr, uint16_t updateIntv=100, const uint16_t *sig2Ptr=nullptr, uint16_t minMap=0, uint16_t maxMap=1023, uint8_t smoothingFactor=30, uint16_t samplingIntv=5) |
| Smoothly fills the lower half and upper half of the bar meter independently from center, based on two signal levels. | |
| SBK_BarMeterAnimations & | followDualSignalFromEdges (const uint16_t *sig1Ptr, uint16_t updateIntv=100, const uint16_t *sig2Ptr=nullptr, uint16_t minMap=0, uint16_t maxMap=1023, uint8_t smoothingFactor=30, uint16_t samplingIntv=5) |
| Smoothly fills the lower half and upper half of the bar meter independently from center, based on two signal levels. | |
| SBK_BarMeterAnimations & | followSignalFloatingPeak (const uint16_t *sigPtr, uint8_t peakHoldTime=20, uint16_t updateIntv=100, uint16_t minMap=0, uint16_t maxMap=1023, uint8_t smoothingFactor=30, uint16_t samplingIntv=5) |
| Follow an analog signal with smoothing and floating peak indicator. | |
| SBK_BarMeterAnimations & | randomFill (uint16_t interval=30) |
| Randomly light up pixels until the bar is full. | |
| SBK_BarMeterAnimations & | randomEmpty (uint16_t interval=30) |
| Randomly turn off pixels until the bar is empty. | |
Protected Types | |
| using | AnimUpdateFn = bool (SBK_BarMeterAnimations::*)() |
Protected Attributes | |
| BarMeterT & | _barMeter |
| uint8_t | _segsNum = 0 |
| AnimUpdateFn | _currentFunc = nullptr |
| bool | _init = true |
| bool | _isRunning = false |
| bool | _isPaused = false |
| bool | _loop = false |
| bool | _isLoopingNow = false |
| bool | _AnimInitLogicIsInverted = false |
| bool | _animRenderLogicIsInverted = false |
| bool | _prevAnimRenderLogic = false |
| bool | _isNonInvertingLogicAnim = false |
| bool | _mirrorHalfRangeDir = false |
| bool | _animLogicSet = false |
| bool | _skipPending = false |
| bool | _animRenderDirIsReversed = false |
| bool | _AnimInitDirIsReversed = false |
| bool | _animDirSet = false |
| bool | _usePtr = false |
| bool | _emittingBlocksEnabled = true |
| uint32_t | _currentTime = 0 |
| uint32_t | _lastUpdate1 = 0 |
| uint32_t | _lastUpdate2 = 0 |
| uint32_t | _lastUpdate3 = 0 |
| uint16_t | _updateIntv1 = 10 |
| uint16_t | _updateIntv2 = 10 |
| uint16_t | _updateIntv3 = 10 |
| uint8_t | _sequenceState = 0 |
| int8_t | _ledTracker1 = 0 |
| int8_t | _ledTracker2 = 0 |
| int8_t | _ledTracker3 = 0 |
| int8_t | _minTracker = 0 |
| int8_t | _maxTracker = 1 |
| uint8_t | _param1 = 0 |
| uint8_t | _param2 = 0 |
| uint8_t | _param3 = 0 |
| uint8_t | _param4 = 0 |
| uint8_t | _param5 = 0 |
| uint16_t | _smoothedValue1 = 0 |
| uint16_t | _smoothedValue2 = 0 |
| uint16_t | _minMap = 0 |
| uint16_t | _maxMap = 1023 |
| uint8_t | _counter1 = 0 |
| uint8_t | _counter2 = 0 |
| const uint16_t * | _sigPtr1 = nullptr |
| const uint16_t * | _sigPtr2 = nullptr |
| Block * | _blocks = nullptr |
Templated animation controller for SBK_BarMeter<T>.
This class encapsulates timing logic, block emission, bouncing effects, signal smoothing, and beat-based animations for bar meters. Chainable API makes integration in update loops easy.
| BarMeterT | A specific SBK_BarMeter<DriverT> instance |
|
inlineexplicit |
Construct an animation controller linked to a bar meter.
| barMeter | Reference to the associated SBK_BarMeter instance. |
|
inline |
Start a beat pulse animation synchronized to a live BPM value.
| bpmPtr | Pointer to a variable holding the BPM value. |
|
inline |
Start a beat pulse animation synchronized to a constant BPM.
| bpm | Beats per minute. Default is 116. |
|
inline |
Start animation that fills/empties (bounces) bar downward.
| duration | Total time in milliseconds for full bounce cycle. |
| maxPercent | Maximum fill percentage fill range. Default is 100. |
| minPercent | Minimum fill percentage fill range. Default is 0. |
| fillIntv | Optional interval override for the fill phase. Default is 0 (auto). |
|
inline |
Start downward fill/empty (bounce) with live percent range tracking.
| fillIntv | Fill interval in ms. |
| emptyIntv | Empty interval in ms. |
| maxPercentPtr | Pointer to max percent fill range. |
| minPercentPtr | Pointer to min percent fill range. Default is nullptr. |
|
inline |
Start downwardfill/empty (bounce) with fixed percent range.
| fillIntv | Fill interval in ms. Default is 10. |
| emptyIntv | Empty interval in ms. Default is 10. |
| maxPercent | Maximum fill percent. Default is 100. |
| minPercent | Minimum fill percent. Default is 0. |
|
inline |
Bounce fill from center outward with fixed range.
| duration | Total time in milliseconds for full bounce cycle. |
| maxPercent | Maximum fill percentage fill range. Default is 100. |
| minPercent | Minimum fill percentage fill range. Default is 0. |
| fillIntv | Optional interval override for the fill phase. Default is 0 (auto). |
|
inline |
Bounce fill from center outward with live percent range tracking.
| fillIntv | Fill interval in ms. |
| emptyIntv | Empty interval in ms. |
| maxPercentPtr | Pointer to max percent fill range. |
| minPercentPtr | Pointer to min percent fill range. Default is nullptr. |
|
inline |
Bounce fill from center outward with fixed range.
| fillIntv | Fill interval in ms. Default is 25. |
| emptyIntv | Empty interval in ms. Default is 25. |
| maxPercent | Maximum range percent to animate. Default is 100. |
| minPercent | Minimum range percent to animate. Default is 0. |
|
inline |
Bounce fill from both edges inward with fixed range.
| duration | Total time in milliseconds for full bounce cycle. |
| maxPercent | Maximum fill percentage fill range. Default is 100. |
| minPercent | Minimum fill percentage fill range. Default is 0. |
| fillIntv | Optional interval override for the fill phase. Default is 0 (auto). |
|
inline |
Bounce fill from both edges inward with live percent range tracking..
| fillIntv | Fill interval in ms. |
| emptyIntv | Empty interval in ms. |
| maxPercentPtr | Pointer to max percent fill range. |
| minPercentPtr | Pointer to min percent fill range. Default is nullptr. |
|
inline |
Bounce fill from both edges inward with fix range.
| fillIntv | Fill interval in ms. Default is 25. |
| emptyIntv | Empty interval in ms. Default is 25. |
| maxPercent | Maximum range percent to animate. Default is 100. |
| minPercent | Minimum range percent to animate. Default is 0. |
|
inline |
Start animation that fills/empties (bounces) bar upward with fixed range.
| duration | Total time in milliseconds for full bounce cycle. |
| maxPercent | Maximum fill percentage (0–100). Default is 100. |
| minPercent | Minimum fill percentage (0–100). Default is 0. |
| fillIntv | Optional fixed interval for the fill phase. Default is 0 (auto). |
|
inline |
Start animation that fills/empties (bounces) bar upward with live range.
| fillIntv | Fill interval in ms. |
| emptyIntv | Empty interval in ms. |
| maxPercentPtr | Pointer to maximum percentage fill range value. |
| minPercentPtr | Pointer to minimum percentage fill range value (optional). Default is nullptr. |
|
inline |
Start animation that fills/empties (bounces) bar upward with fixed range.
| fillIntv | Fill interval in ms. Default is 10. |
| emptyIntv | Empty interval in ms. Default is 10. |
| maxPercent | Max fill percent fill range. Default is 100. |
| minPercent | Min fill percent fill range. Default is 0. |
|
inline |
Emit mirrored blocks from edge to center.
| intv | Step interval in milliseconds. Default is 50. |
| blockLength | Number of pixels per block. Default is 2. |
| blockSpacing | Space between blocks. Default is 1. |
| numBlocks | Number of blocks to emit (0 = infinite). Default is 0. |
|
inline |
Drop blocks from top and stack from bottom up.
| intv | Update interval in milliseconds. Default is 50. |
| blockLength | Number of segments per block. Default is 1. |
| blockSpacing | Space between blocks. Default is 0. |
|
inline |
Drop blocks from top and unstack from bottom up.
| intv | Update interval in milliseconds. Default is 50. |
| blockLength | Number of segments per block. Default is 1. |
| blockSpacing | Space between blocks. Default is 0. |
|
inline |
Start animation that empties the bar from top to bottom over a duration.
| duration | Total time in milliseconds. |
| maxPercent | Top of the max fill range (0–100). Default is 100. |
| minPercent | Bottom of the min fill range (0–100). Default is 0. |
|
inline |
Start animation that empties the bar from top to bottom at fixed intervals with live range.
| updateIntv | Time between updates in milliseconds. |
| maxPercentPtr | Pointer to maximum fill range percent value (0–100). |
| minPercentPtr | Optional pointer to minimum fill range percent value (0–100). Default is nullptr. |
|
inline |
Start animation that empties the bar from top to bottom at fixed intervals.
| updateIntv | Time between updates in milliseconds. |
| maxPercent | Top of the max fill range (0–100). Default is 100. |
| minPercent | Bottom of the min fill range (0–100). Default is 0. |
|
inline |
Start animation that empties the bar from bottom to top over a duration.
| updateIntv | Time between updates in milliseconds. |
| maxPercentPtr | Pointer to top max fill range percent value. |
| minPercentPtr | Pointer to bottom min fill range percent value (optional). Default is nullptr. |
|
inline |
Start animation that empties the bar from bottom to top at fixed intervals with live range.
| updateIntv | Time between updates in milliseconds. |
| maxPercentPtr | Pointer to top max fill range percent value. |
| minPercentPtr | Pointer to bottom min fill range percent value (optional). Default is nullptr. |
|
inline |
Start animation that empties the bar from bottom to top at fixed intervals.
| updateIntv | Time between updates in milliseconds. |
| maxPercent | Top of the max fill range (0–100). Default is 100. |
| minPercent | Bottom of the min fill range (0–100). Default is 0. |
|
inline |
Emit mirrored blocks from center outward.
| intv | Step interval in milliseconds. Default is 50. |
| blockLength | Number of pixels per block. Default is 2. |
| blockSpacing | Space between blocks. Default is 1. |
| numBlocks | Number of blocks to emit (0 = infinite). Default is 0. |
|
inline |
Start animation that fills the bar downwards over a specified duration.
| duration | Total time in milliseconds. |
| maxPercent | Top of the max fill range (0–100). Default is 100. |
| minPercent | Bottom of the min fill range (0–100). Default is 0. |
|
inline |
Start animation that fills the bar downwards at a fixed interval with live percent tracking.
| updateIntv | Time between updates in milliseconds. |
| maxPercentPtr | Pointer to maximum fill range percent value (0–100). |
| minPercentPtr | Optional pointer to minimum fill range percent value (0–100). Default is nullptr. |
|
inline |
Start animation that fills the bar downwards at a fixed interval.
| updateIntv | Time between updates in milliseconds. |
| maxPercent | Top of the max fill range (0–100). Default is 100. |
| minPercent | Bottom of the min fill range (0–100). Default is 0. |
|
inline |
Start animation that fills the bar upwards over a specified duration.
| duration | Total time in milliseconds. |
| maxPercent | Top of the max fill range (0–100). Default is 100. |
| minPercent | Bottom of the min fill range (0–100). Default is 0. |
|
inline |
Start animation that fills the bar upwards at a fixed interval with live percent tracking.
| updateIntv | Time between updates in milliseconds. |
| maxPercentPtr | Pointer to maximum fill range percent value (0–100). |
| minPercentPtr | Optional pointer to minimum fill range percent value (0–100). Default is nullptr. |
|
inline |
Start animation that fills the bar upwards at a fixed interval.
| updateIntv | Time between updates in milliseconds. |
| maxPercent | Top of the max fill range (0–100). Default is 100. |
| minPercent | Bottom of the min fill range (0–100). Default is 0. |
|
inline |
Smoothly fills the lower half and upper half of the bar meter independently from center, based on two signal levels.
| sigPtr1 | Pointer to analog signal1 for bottom half (center to bottom) |
| updateIntv | Update interval in milliseconds. Default is 100. |
| sig2Ptr | Pointer to signal2 for top half (center to top). Default nullptr, signal 1 will be mirrored. |
| minMap | Minimum raw value to map. Default 0. |
| maxMap | Maximum raw value to map. Default 1023. |
| smoothingFactor | Smoothing strength 0–100. Default is 30. |
| samplingIntv | signal sampling rate. Default is 5. |
|
inline |
Smoothly fills the lower half and upper half of the bar meter independently from center, based on two signal levels.
| sigPtr1 | Pointer to analog signal1 for bottom half (bottom edge to center) |
| updateIntv | Update interval in milliseconds. Default is 100. |
| sig2Ptr | Pointer to signal2 for top half (top edge to center). Default nullptr, signal 1 will be mirrored. |
| updateIntv | Update interval in milliseconds. |
| sig1Ptr | Pointer to signal level for bottom half (center to bottom). |
| sig2Ptr | Pointer to signal level for top half (center to top). Default nullptr. |
| minMap | Minimum raw value to map. Default 0. |
| maxMap | Maximum raw value to map. Default 1023. |
| smoothingFactor | Smoothing strength 0–100. Default is 30. |
| samplingIntv | signal sampling rate. Default is 5. |
|
inline |
Follow an analog signal with smoothing and floating peak indicator.
This animation fills the bar based on a smoothed analog input value and displays a peak marker that holds momentarily before decaying.
| sigPtr | Pointer to the analog signal value (e.g., from analogRead()). |
| peakHoldTime | Duration (in ms) to hold the peak before it begins to decay. |
| updateIntv | Bar update interval in milliseconds. Default is 100 ms. |
| minMap | Minimum expected raw signal value. Default is 0. |
| maxMap | Maximum expected raw signal value. Default is 1023. |
| smoothingFactor | Signal smoothing strength (0–100). Higher = smoother. Default is 30. |
| samplingIntv | Signal sampling interval in milliseconds. Default is 5 ms. |
|
inline |
Follow analog signal with smoothing for fill animation.
| sigPtr | Pointer to analog signal. |
| updateIntv | Update interval in milliseconds. Default is 100. |
| minMap | Minimum input value. Default is 0. |
| maxMap | Maximum input value. Default is 1023. |
| smoothingFactor | Smoothing strength 0–100. Default is 30. |
| samplingIntv | signal sampling rate. Default is 5. |
|
inline |
Follow signal with smoothing and display a pointer.
| sigPtr | Pointer to analog signal. |
| updateIntv | Update interval in milliseconds. Default is 100. |
| minMap | Minimum input value. Default is 0. |
| maxMap | Maximum input value. Default is 1023. |
| smoothingFactor | Smoothing strength 0–100. Default is 30. |
| samplingIntv | signal sampling rate. Default is 5. |
|
inline |
Randomly turn off pixels until the bar is empty.
| interval | Update interval in milliseconds. Default is 30. |
|
inline |
Randomly light up pixels until the bar is full.
| interval | Update interval in milliseconds. Default is 30. |
|
inline |
Scroll blocks downward.
| intv | Update interval in ms. Default is 50. |
| blockLength | Block length in segments. Default is 2. |
| blockSpacing | Space between blocks. Default is 1. |
| numBlocks | Number of blocks to show. 0 = infinite. Default is 0. |
|
inline |
Scroll blocks upward.
| intv | Update interval in ms. Default is 50. |
| blockLength | Block length in segments. Default is 2. |
| blockSpacing | Space between blocks. Default is 1. |
| numBlocks | Number of blocks to show. 0 = infinite. Default is 0. |
|
inline |
Set all pixels to the specified state.
| onoff | Pixels desired state true = ON, false = off. |
|
inline |
Set the total number of segments the animation logic should handle. Typically called automatically from SBK_BarDrive.
| n | Number of segments in the bar. |
|
inline |
Advance the animation logic based on the current millis().
| syncTime | Optional timestamp to synchronize animation. |
|
inline |
Launch blocks from bottom and stack at the top.
| intv | Update interval in milliseconds. Default is 50. |
| blockLength | Number of segments per block. Default is 1. |
| blockSpacing | Space between blocks. Default is 0. |
|
inline |
Launch blocks upward and unstack from top.
| intv | Update interval in milliseconds. Default is 50. |
| blockLength | Number of segments per block. Default is 1. |
| blockSpacing | Space between blocks. Default is 0. |