# HG changeset patch # User Dennis Fink # Date 2017-12-13 00:36:31 # Node ID 6255b67a731bfd8c5073c920e447e88a09ad32a6 # Parent a4ad34889569735c693c109cf0e8a89f841f5cde Add config options diff --git a/Neopixel_Goggles.ino b/Neopixel_Goggles.ino --- a/Neopixel_Goggles.ino +++ b/Neopixel_Goggles.ino @@ -3,8 +3,32 @@ #include #endif +/* Begin config section +-----------------------*/ + #define PIN 0 +#define BRIGHTNESS 64 + +#define MODE_CHANGE_TIME 10000 + +#define SLOW_INTERVAL_MIN 25 +#define SLOW_INTERVAL_MAX 55 + +#define COLOR_MIN 0 +#define COLOR_MAX 255 + +#define STEPS_MIN 5 +#define STEPS_MAX 10 + +#define RAINBOW_CYCLE_MIN_INTERVAL 1 +#define RAINBOW_CYCLE_MAX_INTERVAL 10 + +#define BLINK_MIN_INTERVAL 250 +#define BLINK_MAX_INTERVAL 500 + +/* End config section */ + enum pattern { RAINBOW_CYCLE, COLOR_WIPE, @@ -268,15 +292,15 @@ void setup() { if (F_CPU == 16000000) clock_prescale_set(clock_div_1); #endif Rings.begin(); - Rings.setBrightness(64); - Rings.RainbowCycle(random(1, 11)); + Rings.setBrightness(BRIGHTNESS); + Rings.RainbowCycle(random(RAINBOW_CYCLE_MIN_INTERVAL, RAINBOW_CYCLE_MAX_INTERVAL + 1)); prev_time = millis(); } void loop() { Rings.Update(); uint32_t t = millis(); - if ((t - prev_time) >= 10000) { + if ((t - prev_time) >= MODE_CHANGE_TIME) { mode = random(0, 9); prev_time = t; } @@ -284,13 +308,13 @@ void loop() { void RingsComplete() { - uint16_t slow_interval = random(25, 56); + uint16_t slow_interval = random(SLOW_INTERVAL_MIN, SLOW_INTERVAL_MAX + 1); //uint16_t fast_interval = random(1, 11); - uint32_t color = Rings.Wheel(random(1, 256)); - uint16_t steps = random(5, 11); + uint32_t color = Rings.Wheel(random(COLOR_MIN, COLOR_MAX + 1)); + uint16_t steps = random(STEPS_MIN, STEPS_MAX + 1); switch (mode) { case 0: - Rings.RainbowCycle(random(1, 11)); + Rings.RainbowCycle(random(RAINBOW_CYCLE_MIN_INTERVAL, RAINBOW_CYCLE_MAX_INTERVAL + 1)); break; case 1: Rings.ColorWipe(color, slow_interval); @@ -311,7 +335,7 @@ void RingsComplete() Rings.DoubleRandom(color, steps, slow_interval); break; case 7: - Rings.Blink(color, steps, random(250, 501)); + Rings.Blink(color, steps, random(BLINK_MIN_INTERVAL, BLINK_MAX_INTERVAL + 1)); break; case 8: Rings.Dot(color, steps, slow_interval);