pitrix/include/effects.h

29 lines
640 B
C
Raw Normal View History

#pragma once
#include "Effect.h"
#include "effects/clock.h"
#include "effects/timer.h"
#define SIMPLE_EFFECT [](accum88 t, uint16_t i, uint8_t x, uint8_t y)->int8_t
struct EffectEntry {
const char* name;
bool use_in_cycle;
std::function<Effect*()> create;
2020-04-29 18:24:59 +00:00
#ifdef MQTT_REPORT_METRICS
int16_t heap_change_sum;
uint16_t run_count;
#endif
};
2020-04-29 18:24:59 +00:00
extern EffectEntry effects[];
extern const uint8_t effects_size;
extern Effect* current_effect;
extern ClockEffect effect_clock;
extern TimerEffect effect_timer;
Effect* select_effect(char* name);
Effect* select_effect(uint8_t id);
bool change_current_effect(String s);
void setup_effects();