Buffer initialization.
[dmxpainter.git] / src / buffer.c
1 #include "buffer.h"\r
2 \r
3 char gg_buffer_gs[512] = {\r
4   /* R     G     B */\r
5    0x01, 0x01, 0x01,\r
6    0x00, 0x00, 0xFF,\r
7 \r
8 \r
9    0x00, 0x00, 0x00,\r
10    0xDD, 0xDD, 0xDD,\r
11    0xCC, 0xCC, 0xCC,\r
12    0xBB, 0xBB, 0xBB,\r
13    0xAA, 0xAA, 0xAA,\r
14    0x99, 0x99, 0x99,\r
15    0x88, 0x88, 0x88,\r
16    0x77, 0x77, 0x77,\r
17    0x66, 0x66, 0x66,\r
18    0x55, 0x55, 0x55,\r
19    0x44, 0x44, 0x44,\r
20    0x33, 0x33, 0x33,\r
21    0x22, 0x22, 0x22,\r
22    0x11, 0x11, 0x00,\r
23 \r
24    0x00, 0x00, 0xFF,\r
25 \r
26 \r
27 \r
28    0x00, 0x00, 0x00,\r
29    0x00, 0x00, 0x00,\r
30    0x00, 0x00, 0x00,\r
31    0x00, 0x00, 0x00,\r
32    0x00, 0x00, 0x00,\r
33    0x00, 0x00, 0x00,\r
34    0x00, 0x00, 0x00,\r
35    0x00, 0x00, 0x00,\r
36    0x00, 0x00, 0x00,\r
37    0x00, 0x00, 0x00,\r
38    0x00, 0x00, 0x00,\r
39    0x00, 0x00, 0x00,\r
40    0x00, 0x00, 0x00,\r
41    0x00, 0x00, 0x00,\r
42    0x00, 0x00, 0x00,\r
43    0x00, 0x00, 0x00,\r
44 \r
45 \r
46 \r
47    0xFF, 0xFF, 0xFF,\r
48    0xEE, 0xEE, 0xEE,\r
49    0xDD, 0xDD, 0xDD,\r
50    0xCC, 0xCC, 0xCC,\r
51    0xBB, 0xBB, 0xBB,\r
52    0xAA, 0xAA, 0xAA,\r
53    0x99, 0x99, 0x99,\r
54    0x88, 0x88, 0x88,\r
55    0x77, 0x77, 0x77,\r
56    0x66, 0x66, 0x66,\r
57    0x55, 0x55, 0x55,\r
58    0x44, 0x44, 0x44,\r
59    0x33, 0x33, 0x33,\r
60    0x22, 0x22, 0x22,\r
61    0x11, 0x11, 0x11,\r
62    0x01, 0x02, 0x03\r
63 };\r
64 \r
65 char gg_buffer_dc[3]   = {\r
66   0x0B, // R\r
67   0x09, // G\r
68   0x0A  // B\r
69 };\r
70 \r
71 \r
72 ///////////////////////////////\r
73 \r
74 #include "tlc.h"\r
75 \r
76 void buffer_init(void)\r
77 {\r
78   #define BUFFER_INIT_KEEP 1\r
79   for (uint8_t i = 0; i < (TLC_N_CHANNELS / TLC_N_CHANNELS_PER_TLC - BUFFER_INIT_KEEP); i++)\r
80     for (uint8_t rgb = 0; rgb < 3; rgb++)\r
81       gg_buffer_gs[i * 3 + rgb] = 0xFF;//0x10 | (rgb + 1);\r
82 }\r
83 \r
84 void buffer_next(void)\r
85 {\r
86   sched_put(&buffer_test_next);\r
87 }\r
88 \r
89 \r
90 #include "tlc.h"\r
91 volatile uint8_t g_test_cnt;\r
92 sched_res_t buffer_test_next(void)\r
93 {\r
94 #if 0\r
95   uint8_t rgb =  0;\r
96   uint8_t cnt = -1;\r
97   if (g_test_cnt++ != 100) return SCHED_RE;\r
98   g_test_cnt = 0;\r
99 \r
100   gg_buffer_gs[rgb] += cnt;\r
101   if (gg_buffer_gs[rgb] == 0) {\r
102     rgb = (rgb + 1) % 3;\r
103     if (rgb == 0) cnt *= -1;\r
104   }\r
105 #endif\r
106   tlc_set_data_done();\r
107   return SCHED_OK;\r
108 }\r