X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=firmware%2Fpattern.c;h=2e06b67e476fca2c35dad4fe0ef7e39648bff413;hb=47e678a90062fa2dbc6cb8f9e5efc81072f5dcc5;hp=989009e6c237b55ebc8e3ba96fa1050753ce8b5d;hpb=86a03e9715c4d3d91a75ed8ab07b7b1b0c9a556b;p=bike-lights.git diff --git a/firmware/pattern.c b/firmware/pattern.c index 989009e..2e06b67 100644 --- a/firmware/pattern.c +++ b/firmware/pattern.c @@ -2,20 +2,19 @@ #include "lights.h" -typedef struct { - unsigned char mode: 3; - unsigned char duration: 5; -} pattern_t; - static unsigned char led_counters[N_LEDS]; static pattern_t *led_patterns[N_LEDS]; -#define PATTERN_END { 0, 0 } pattern_t off_pattern[] = { { 0, 0x1F }, PATTERN_END }; +pattern_t on_pattern[] = { + { 1, 0x1F }, + PATTERN_END +}; + pattern_t blink_pattern[] = { { 1, 0x4 }, { 0, 0x8 }, @@ -55,24 +54,25 @@ pattern_t boot_pattern[] = { }; pattern_t pattern_num[] = { + { 0, 0x5 }, { 1, 0x1 }, /* 10 */ - { 0, 0x4 }, + { 0, 0x5 }, { 1, 0x1 }, /* 9 */ - { 0, 0x4 }, + { 0, 0x5 }, { 1, 0x1 }, /* 8 */ - { 0, 0x4 }, + { 0, 0x5 }, { 1, 0x1 }, /* 7 */ - { 0, 0x4 }, + { 0, 0x5 }, { 1, 0x1 }, /* 6 */ - { 0, 0x4 }, + { 0, 0x5 }, { 1, 0x1 }, /* 5 */ - { 0, 0x4 }, + { 0, 0x5 }, { 1, 0x1 }, /* 4 */ - { 0, 0x4 }, + { 0, 0x5 }, { 1, 0x1 }, /* 3 */ - { 0, 0x4 }, + { 0, 0x5 }, { 1, 0x1 }, /* 2 */ - { 0, 0x4 }, + { 0, 0x5 }, { 1, 0x1 }, /* 1 */ { 0, 0x1F }, PATTERN_END @@ -117,7 +117,7 @@ static pattern_t *number_pattern(unsigned char num) num = 9; return pattern_num + sizeof(pattern_num)/sizeof(pattern_t) - - 1 - 2*num; + - 2 - 2*num; } static inline pattern_t *pattern_select(unsigned char n)