Blink LED_ON on startup and trigger LED_DEBUG on DMX error.
authorMalte S. Stretz <mss@apache.org>
Tue, 17 Mar 2009 16:34:31 +0000 (16:34 +0000)
committerMalte S. Stretz <mss@apache.org>
Tue, 17 Mar 2009 16:34:31 +0000 (16:34 +0000)
src/dmx.c
src/dmx.h
src/main.c

index 977422d..5dfea5f 100644 (file)
--- a/src/dmx.c
+++ b/src/dmx.c
@@ -243,6 +243,11 @@ void dmx_exec(void)
   enable_trigger();
 }
 
+void dmx_update(void)
+{
+  mcu_debug_set(error_);
+}
+
 
 /*********************************************************************/
 /* Implementation of private functions.                              */
index 2bca0e7..9697881 100644 (file)
--- a/src/dmx.h
+++ b/src/dmx.h
@@ -2,3 +2,5 @@
 
 void dmx_init(void);
 void dmx_exec(void);
+
+void dmx_update(void);
index 01d0114..1501f68 100644 (file)
@@ -7,6 +7,8 @@
 #include "dmx.h"
 #include "tlc.h"
 
+#include <avr/delay.h>
+
 
 // We require GCC 4.x for inlining and stuff.
 // http://gcc.gnu.org/onlinedocs/cpp/Common-Predefined-Macros.html
@@ -59,7 +61,11 @@ static inline void main_exec(void)
 {
   // Signal that we're running.
   pin_out(PIN_LED_ON);
-  pin_on(PIN_LED_ON);
+  pin_on( PIN_LED_ON);
+  _delay_ms(200);
+  pin_off(PIN_LED_ON);
+  _delay_ms(200);
+  pin_on (PIN_LED_ON);
 
   // Start TLC.
   tlc_exec();
@@ -77,6 +83,7 @@ static inline void main_loop(void)
   while (1) {
     // FIXME
     // TODO: Don't store more data than necessary.
+    dmx_update();
     tlc_update();
   }
 }