From 52053ea3bb216b071d0c9b9807deae26840d117b Mon Sep 17 00:00:00 2001 From: Thomas Kolb Date: Thu, 3 Dec 2020 20:16:46 +0100 Subject: [PATCH] Tune some animations for the ex-Pfeiffer setup --- include/Animation/FireAnimation.h | 4 ++-- include/Animation/StellarAnimation.h | 2 +- src/Animation/FireAnimation.cpp | 11 +++++++---- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/include/Animation/FireAnimation.h b/include/Animation/FireAnimation.h index 6a83502..0aba9ed 100644 --- a/include/Animation/FireAnimation.h +++ b/include/Animation/FireAnimation.h @@ -20,8 +20,8 @@ class FireAnimation : public Animation void reset(void) override; private: - static const constexpr unsigned MAX_NEW_ENERGY = 160; - static const constexpr unsigned RM_ENERGY = 7; + static const constexpr unsigned MAX_NEW_ENERGY = 200; + static const constexpr unsigned RM_ENERGY = 5; static const constexpr unsigned MAX_PULL_ENERGY_PCT = 100; std::vector m_energy; diff --git a/include/Animation/StellarAnimation.h b/include/Animation/StellarAnimation.h index 20f9599..10756f1 100644 --- a/include/Animation/StellarAnimation.h +++ b/include/Animation/StellarAnimation.h @@ -11,7 +11,7 @@ class StellarAnimation : public Animation StellarAnimation(Fader *fader, const Fader::Color &background_color = Fader::Color{0x00, 0x02, 0x0c, 0x00}, const Fader::Color &star_color = Fader::Color{0x60, 0x30, 0x00, 0x60}, - int fadestep = 1, int spawn_interval_frames = 12); + int fadestep = 1, int spawn_interval_frames = 6); void loop(uint64_t frame) override; diff --git a/src/Animation/FireAnimation.cpp b/src/Animation/FireAnimation.cpp index 193f9b2..7131ffb 100644 --- a/src/Animation/FireAnimation.cpp +++ b/src/Animation/FireAnimation.cpp @@ -6,7 +6,7 @@ FireAnimation::FireAnimation(Fader *fader, bool cold) m_energySmooth(fader->modules_per_strip() * fader->strips()), m_stopping(false) { - m_colorMapIndices.assign({0, 70, 120, 200, 225, 255}); + m_colorMapIndices.assign({0, 100, 160, 200, 225, 255}); if(cold) { m_colorMapColors.emplace_back(Fader::Color{ 0, 0, 0, 0}); @@ -160,9 +160,12 @@ void FireAnimation::loop(uint64_t frame) Fader::Color color; for(std::size_t strip = 0; strip < nstrip; strip++) { - for(std::size_t led = 0; led < nled; led++) { - colormap(m_energySmooth[idx(strip, led)], &color); - m_fader->fade_color(strip, led, color); + for(std::size_t led = 0; led < nled; led+=4) { + colormap(m_energySmooth[idx(strip, led/4)], &color); + + for(int i = 0; i < 4; i++) { + m_fader->fade_color(strip, led+i, color); + } } } }