The unified diff between revisions [d0420ebd..] and [5a7404c7..] is displayed below. It can also be downloaded as a raw diff.
This diff has been restricted to the following files: 'led.c'
# # old_revision [d0420ebd87c820e33a32b29727989516e15980a8] # new_revision [5a7404c7ee458d3eab4b0548e4bc6b6a8b26135f] # # patch "led.c" # from [2244b2b9d6abf2cf49ad8123596633912b1f1a90] # to [c5ff1936310b87f8ddb877b8d60f17617f4daabd] # ============================================================ --- led.c 2244b2b9d6abf2cf49ad8123596633912b1f1a90 +++ led.c c5ff1936310b87f8ddb877b8d60f17617f4daabd @@ -11,13 +11,14 @@ led_pattern led_pattern_active[] = {250, bool led_next_state; led_pattern led_pattern_active[] = {250, 250, 0}; +led_pattern led_pattern_unknown[] = {100, 100, 0}; void led_set(bool on) { if (on) - FP0XVAL |= 0x04000000; + FP0XVAL &= ~0x04000000; else - FP0XVAL &= ~0x04000000; + FP0XVAL |= 0x04000000; } void led_update(void) @@ -43,8 +44,15 @@ void led_set_pattern(led_pattern *patter void led_set_pattern(led_pattern *pattern) { + if (led_current_pattern == pattern) + return; led_current_pattern = pattern; - led_current_pointer = pattern; +} + +void led_init(void) +{ + led_current_pattern = led_pattern_unknown; + led_current_pointer = led_pattern_unknown; led_next_state = TRUE; led_next_time = timer_read(); led_update();