Amount of new Pixels per loop for confetti effect is now configurable. Also, the color is based on a slowly rotating baseHue.
This commit is contained in:
parent
8e46327549
commit
646d3369fb
@ -34,4 +34,6 @@ typedef struct Matrix {
|
|||||||
double a22;
|
double a22;
|
||||||
} Matrix;
|
} Matrix;
|
||||||
|
|
||||||
|
extern uint8_t baseHue;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,10 +1,13 @@
|
|||||||
#include "effect_confetti.h"
|
#include "effect_confetti.h"
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include "functions.h"
|
#include "functions.h"
|
||||||
|
#include "prototypes.h"
|
||||||
|
|
||||||
void ConfettiEffect::loop() {
|
void ConfettiEffect::loop() {
|
||||||
fadeToBlackBy(leds, LED_COUNT, 1);
|
fadeToBlackBy(leds, LED_COUNT, 1);
|
||||||
addPixelColor(random16(LED_COUNT), CHSV(random8(), 200, 255));
|
for (int i=0; i<EFFECT_CONFETTI_PIXELS_PER_LOOP; i++) {
|
||||||
|
addPixelColor(random16(LED_COUNT), CHSV(baseHue + random8(64), 200, 255));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean ConfettiEffect::can_be_shown_with_clock() { return true; };
|
boolean ConfettiEffect::can_be_shown_with_clock() { return true; };
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
uint8_t starting_up = OTA_STARTUP_DELAY;
|
uint8_t starting_up = OTA_STARTUP_DELAY;
|
||||||
int loop_timeouts = 0;
|
int loop_timeouts = 0;
|
||||||
long loop_started_at = 0;
|
long loop_started_at = 0;
|
||||||
|
uint8_t baseHue = 0; // defined as extern in prototypes.h
|
||||||
|
|
||||||
void setup() {
|
void setup() {
|
||||||
Serial.begin(74880);
|
Serial.begin(74880);
|
||||||
@ -52,6 +53,10 @@ void loop() {
|
|||||||
ntpClient.update();
|
ntpClient.update();
|
||||||
mqtt_loop();
|
mqtt_loop();
|
||||||
|
|
||||||
|
EVERY_N_MILLISECONDS(100) {
|
||||||
|
baseHue++;
|
||||||
|
}
|
||||||
|
|
||||||
EVERY_N_MILLISECONDS(1000 / FPS) {
|
EVERY_N_MILLISECONDS(1000 / FPS) {
|
||||||
LOGln("Core * loop running");
|
LOGln("Core * loop running");
|
||||||
current_effect->loop();
|
current_effect->loop();
|
||||||
|
Loading…
Reference in New Issue
Block a user