Disable/ignore scheduler for now.
authorMalte S. Stretz <mss@apache.org>
Tue, 13 Jan 2009 13:45:40 +0000 (13:45 +0000)
committerMalte S. Stretz <mss@apache.org>
Tue, 13 Jan 2009 13:45:40 +0000 (13:45 +0000)
src/buffer.c
src/main.c
src/tlc.c
src/tlc.h

index 020264c..a3cc6e5 100644 (file)
@@ -93,7 +93,8 @@ void buffer_init(void)
 \r
 void buffer_next(void)\r
 {\r
-  sched_put(&buffer_test_next);\r
+  //sched_put(&buffer_test_next);\r
+  buffer_test_next();\r
 }\r
 \r
 \r
index a1ad284..4aa61fd 100644 (file)
@@ -55,6 +55,9 @@ int main(void)
   buffer_next();\r
 \r
   // Start scheduler.\r
-  sched_loop();\r
+  //sched_loop();\r
+  while (1) {\r
+    tlc_wait_for_data();\r
+  }\r
   return 0;\r
 }\r
index b0d39fe..14f1f45 100644 (file)
--- a/src/tlc.c
+++ b/src/tlc.c
@@ -16,6 +16,20 @@ volatile uint8_t g_data_available;
 \r
 /////////////////////////////////////////\r
 \r
+volatile uint8_t g_data_wait;\r
+void tlc_wait_for_data()\r
+{\r
+  if (!g_data_wait) return;\r
+  g_data_wait = wait_for_data() != SCHED_OK;\r
+}\r
+void set_wait_for_data(void)\r
+{\r
+  //sched_put(&wait_for_data);\r
+  g_data_wait = 1;\r
+}\r
+\r
+/////////////////////////////////////////\r
+\r
 // XLAT pulse to apply data to internal register.\r
 void clock_xlat(void)\r
 {\r
@@ -88,7 +102,7 @@ void tlc_init(void)
   pin_out(PIN_TLC_SIN);\r
 \r
   // Wait for first DMX packet.\r
-  sched_put(&wait_for_data);\r
+  set_wait_for_data();\r
 }\r
 \r
 void tlc_set_data_done(void)\r
@@ -126,7 +140,7 @@ void tlc_int_timer2_ocm(void)
   mcu_int_timer2_ocm_disable();\r
 \r
   // Wait for next DMX packet.\r
-  sched_put(&wait_for_data);\r
+  set_wait_for_data();\r
 }\r
 \r
 /////////////////////////////////////////\r
index 46fd20c..24314f1 100644 (file)
--- a/src/tlc.h
+++ b/src/tlc.h
@@ -14,5 +14,7 @@ void tlc_init(void);
 \r
 void tlc_set_data_done(void);\r
 \r
+void tlc_wait_for_data(void);\r
+\r
 void tlc_int_timer1_ocma(void);\r
 void tlc_int_timer2_ocm(void);\r