Better test code.
authorMalte S. Stretz <mss@apache.org>
Tue, 6 Jan 2009 12:23:46 +0000 (12:23 +0000)
committerMalte S. Stretz <mss@apache.org>
Tue, 6 Jan 2009 12:23:46 +0000 (12:23 +0000)
src/buffer.c

index 2a8759b..05c337c 100644 (file)
@@ -44,18 +44,21 @@ char dc_buffer[3]   = {
 };\r
 \r
 \r
+#include "tlc.h"\r
+volatile uint8_t g_test_cnt = 0;\r
 sched_res_t buffer_test_next(void)\r
 {\r
-  if (gs_buffer[0] != 0) {\r
-    gs_buffer[0]--;\r
-  } else {\r
-    if (gs_buffer[1] != 0) {\r
-      gs_buffer[1]--;\r
-    } else {\r
-      if (gs_buffer[2] != 0) {\r
-        gs_buffer[2]--;\r
-      } else {\r
-        gs_buffer[0] = 0xFF;\r
-  } } }\r
+  uint8_t rgb =  0;\r
+  uint8_t cnt = -1;\r
+  if (g_test_cnt++ != 10) return SCHED_RE;\r
+  g_test_cnt = 0;\r
+\r
+  gs_buffer[rgb] += cnt;\r
+  if (gs_buffer[rgb] == 0) {\r
+    rgb = (rgb + 1) % 3;\r
+    if (rgb == 0) cnt *= -1;\r
+  }\r
+\r
   tlc_start();\r
-}
\ No newline at end of file
+  return SCHED_RE;\r
+}\r