The unified diff between revisions [d0420ebd..] and [64de686d..] 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 [64de686d701acb9539dc52fe0bff299405612ab0]
#
# 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();