Remove obsolete global var.
[dmxpainter.git] / src / main.c
1 // http://www.nongnu.org/avr-libc/user-manual/modules.html\r
2 \r
3 #include <inttypes.h>\r
4 \r
5 #include <avr/io.h>\r
6 #include <avr/interrupt.h>\r
7 \r
8 //#include <util/atomic.h>\r
9 \r
10 #include "mcu.h"\r
11 \r
12 #include "sched.h"\r
13 #include "dmx.h"\r
14 #include "tlc.h"\r
15 #include "sd.h"\r
16 \r
17 \r
18 // http://gcc.gnu.org/onlinedocs/cpp/Common-Predefined-Macros.html\r
19 #if __GNUC__ < 4\r
20 #error GCC 4.x.x required!\r
21 #endif\r
22 \r
23 //////////////////////////////////////////\r
24 // Interrupts\r
25 \r
26 #if 0\r
27 // INT0:  External int, DMX sync\r
28 ISR(INT0_vect)\r
29 {\r
30 //  dmx_int_edge();\r
31 }\r
32 \r
33 // TIMER0:  8-Bit: 4 us for DMX, timeouts\r
34 ISR(TIMER0_OVF_vect)\r
35 {\r
36 //  dmx_count_frame();\r
37 }\r
38 #endif\r
39 \r
40 \r
41 // TIMER1: 16-Bit: GSCLK\r
42 ISR(TIMER1_COMPA_vect)\r
43 {\r
44   tlc_int_timer1_ocma();\r
45 }\r
46 \r
47 \r
48 \r
49 \r
50 // TIMER2:  8-Bit: GS-Refresh-Timer\r
51 ISR(TIMER2_COMP_vect)\r
52 {\r
53   tlc_int_timer2_ocm();\r
54 }\r
55 \r
56 \r
57 //////////////////////////////////////////\r
58 \r
59 int main(void)\r
60 {\r
61   cli();\r
62   \r
63   // Initialize scheduler.\r
64   sched_init();\r
65 \r
66   // Initialize peripherals.\r
67   //dmx_init();\r
68   tlc_init();\r
69 \r
70   sei();\r
71   // Start DMX\r
72   //dmx_start();\r
73   // not done yet, use dummy data\r
74   tlc_set_data_done();\r
75 \r
76   // Start scheduler.\r
77   sched_loop();\r
78   return 0;\r
79 }\r