X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?p=bike-lights.git;a=blobdiff_plain;f=firmware%2Fpattern.c;h=ab63e3482e3516cb69577fcfb1240aa9793afd21;hp=669225860c4d11583fba63693e653ecc60fe063e;hb=f6264e3bc6bd936788178892f8148c3f545e14a8;hpb=ea3a89b1a1e089f72fc7a5a7a9cc9f46cf666faa diff --git a/firmware/pattern.c b/firmware/pattern.c index 6692258..ab63e34 100644 --- a/firmware/pattern.c +++ b/firmware/pattern.c @@ -85,15 +85,11 @@ pattern_t off_pattern[] = { PATTERN_END }; -static void led_set_mode(unsigned char n, unsigned char mode) +static void inline pwmleds_set_mode(unsigned char mode) { - if (n == 0) { - pwmled_set_mode(0, mode & 3); - pwmled_set_mode(1, (mode >> 2) & 1); - pwmled_set_mode(2, (mode >> 3) & 3); - } else if (n < N_LEDS) { - gpio_set(n - 1, mode); - } + pwmled_set_mode(0, mode & 3); + pwmled_set_mode(1, (mode >> 2) & 1); + pwmled_set_mode(2, (mode >> 3) & 3); } void led_set_pattern(unsigned char n, pattern_t *pattern) @@ -105,7 +101,11 @@ void led_set_pattern(unsigned char n, pattern_t *pattern) led_counters[n] = fibonacci[pattern->duration_fib]; - led_set_mode(n, pattern->mode); + if (n == 0) { + pwmleds_set_mode(pattern->mode); + } else if (n < N_LEDS) { + gpio_set(n - 1, pattern->mode); + } } void init_pattern()