]> www.fi.muni.cz Git - bike-lights.git/blobdiff - firmware/pattern.c
patterns: PATTERN_FOREVER
[bike-lights.git] / firmware / pattern.c
index 2e06b67e476fca2c35dad4fe0ef7e39648bff413..a11999d66e152198b7c160a0d1f84cd4274ba2b4 100644 (file)
@@ -6,13 +6,11 @@ static unsigned char led_counters[N_LEDS];
 static pattern_t *led_patterns[N_LEDS];
 
 pattern_t off_pattern[] = {
-       { 0, 0x1F },
-       PATTERN_END
+       { 0, PATTERN_FOREVER },
 };
 
 pattern_t on_pattern[] = {
-       { 1, 0x1F },
-       PATTERN_END
+       { 1, PATTERN_FOREVER },
 };
 
 pattern_t blink_pattern[] = {
@@ -74,7 +72,7 @@ pattern_t pattern_num[] = {
        { 1, 0x1 }, /*  2 */
        { 0, 0x5 },
        { 1, 0x1 }, /*  1 */
-       { 0, 0x1F },
+       { 0, 0x1E },
        PATTERN_END
 };
 
@@ -103,10 +101,9 @@ void pattern_init()
 {
        unsigned char i;
 
-       for (i = 0; i < N_LEDS; i++) {
-               led_counters[i] = 0;
-               led_patterns[i] = off_pattern;
-       }
+       for (i = 0; i < N_LEDS; i++)
+               led_set_pattern(i, off_pattern);
+
        led_set_pattern(N_PWMLEDS+1, boot_pattern);
        test_running = 0;
 }
@@ -145,7 +142,8 @@ void patterns_next_tick()
                        led_set_pattern(i, p);
                }
 
-               led_counters[i]--;
+               if (led_counters[i] < PATTERN_FOREVER)
+                       led_counters[i]--;
        }
 }