AnalogActor
Generic analog (PWM) output actor (LED, motor speed, etc.) Non-blocking animations: blink, fadeTo, fadeIn/out, pulse (fade up/down)
Used by: LED (Dimmable), Vibration Motor (Dimmable).
C++
#include "blokdots.h"#Constructors
C++
AnalogActor(uint8_t pin, bool invert = false, uint16_t startValue = 0);
AnalogActor(EventBus& bus, uint8_t pin, uint8_t evtChange, bool invert = false, uint16_t startValue = 0);#Methods
| Method | Description |
|---|---|
AnalogActor& stop() | Stop any running animation (blink/fade/pulse) |
void set(uint16_t v) | |
uint16_t get() | |
int emittedValue() | Get the current value for triggers |
void on() | |
void off() | |
void toggle() | |
AnalogActor& blink(uint16_t intervalMs = 500, uint32_t durationMs = 0) | durationMs=0 => blink forever |
AnalogActor& blink(uint16_t onMs, uint16_t offMs, uint32_t durationMs, uint16_t highValue = 0) | If highValue==0, we default to lastNonZero (or maxValue if lastNonZero==0). |
AnalogActor& fadeTo(uint16_t target, uint32_t durationMs) | Linearly fade current value to target over durationMs (non-blocking) |
AnalogActor& fadeIn(uint32_t durationMs, uint16_t target = 0) | |
AnalogActor& fadeOut(uint32_t durationMs) | |
AnalogActor& pulse(uint16_t peak, uint16_t fadeInMs, uint16_t fadeOutMs) | One-shot pulse: fade from CURRENT value to peak, then fade to 0. |
AnalogActor& pulse(uint16_t peak, uint16_t fadeInMs, uint16_t fadeOutMs, bool repeat, uint32_t durationMs = 0) | Pulse with repeat option (repeat forever if durationMs=0) |
#Example
C++
AnalogActor output(5); // PWM pin D5
output.set(128); // 50% (0–255)
output.on(); // full brightness
output.off(); // off
output.blink(500); // blink 500ms on/off
output.fadeTo(200, 1000); // fade to 200 over 1 s
output.pulse(255, 300, 700); // fade up 300ms, fade down 700ms