Browse Source

Add random and rainbow variant presets

Changed refresh rate to 4 Hz to better visualize animations
rmt-backend
jrhoffa 3 years ago
parent
commit
55a1c9812b
2 changed files with 57 additions and 1 deletions
  1. +1
    -1
      main/main.cpp
  2. +56
    -0
      main/presets.cpp

+ 1
- 1
main/main.cpp View File

@@ -209,7 +209,7 @@ extern "C" void app_main(void) {
} else { } else {
ESP_LOGI(TAG, "Starting animation"); ESP_LOGI(TAG, "Starting animation");


int period_us = 1000000;
int period_us = 1000000 / 4;
int64_t target_us = time_us(); int64_t target_us = time_us();
while (true) { while (true) {
int64_t delay_us = target_us - time_us(); int64_t delay_us = target_us - time_us();


+ 56
- 0
main/presets.cpp View File

@@ -18,6 +18,24 @@ GRADIENT(rainbow, 6, {
Colors::purple, Colors::purple,
}); });


GRADIENT(dark_rainbow, 6, {
Colors::dark_red,
Colors::dark_orange,
Colors::dark_yellow,
Colors::dark_green,
Colors::dark_blue,
Colors::dark_purple,
});

GRADIENT(pale_rainbow, 6, {
Colors::pale_red,
Colors::pale_orange,
Colors::pale_yellow,
Colors::pale_green,
Colors::pale_blue,
Colors::pale_purple,
});

GRADIENT(peacock, 4, { GRADIENT(peacock, 4, {
Colors::teal, Colors::teal,
Colors::black, Colors::black,
@@ -25,6 +43,31 @@ GRADIENT(peacock, 4, {
Colors::blue, Colors::blue,
}); });


// Guaranteed to be random. https://xkcd.com/221/
GRADIENT(random, 20, {
{223, 241, 107},
Colors::black,
{34, 170, 82},
Colors::black,
{98, 222, 224},
Colors::black,
{230, 114, 8},
Colors::black,
{226, 215, 213},
Colors::black,
{94, 187, 179},
Colors::black,
{76, 185, 214},
Colors::black,
{40, 115, 111},
Colors::black,
{230, 234, 120},
Colors::black,
{157, 128, 68},
Colors::black,
});


} // Gradients } // Gradients




@@ -40,8 +83,18 @@ namespace Patterns {
} }


PATTERN(rainbow); PATTERN(rainbow);
PATTERN(dark_rainbow);
PATTERN(pale_rainbow);
PATTERN(peacock); PATTERN(peacock);


static const Pattern random = {
.cycle_length = 20,
.cycle_time_ms = 10000,
.reverse = false,
.march = true,
.gradient = Gradients::random
};

} // Patterns } // Patterns




@@ -51,7 +104,10 @@ namespace Presets {


const std::map <std::string, const Pattern*> map = { const std::map <std::string, const Pattern*> map = {
PRESET(rainbow), PRESET(rainbow),
PRESET(dark_rainbow),
PRESET(pale_rainbow),
PRESET(peacock), PRESET(peacock),
PRESET(random),
}; };


const Pattern* find(const std::string &name) { const Pattern* find(const std::string &name) {


Loading…
Cancel
Save