Remove stale atmoic-include.
[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 "mcu.h"\r
9 \r
10 #include "sched.h"\r
11 #include "dmx.h"\r
12 #include "tlc.h"\r
13 #include "sd.h"\r
14 \r
15 \r
16 // http://gcc.gnu.org/onlinedocs/cpp/Common-Predefined-Macros.html\r
17 #if __GNUC__ < 4\r
18 #error GCC 4.x.x required!\r
19 #endif\r
20 \r
21 //////////////////////////////////////////\r
22 // Interrupts\r
23 \r
24 // INT0:  External int, DMX sync\r
25 mcu_isr(INT0);\r
26 \r
27 // TIMER0:  8-Bit: 4 us for DMX, timeouts\r
28 mcu_isr(TIMER0_OVF);\r
29 \r
30 // TIMER1: 16-Bit: GSCLK\r
31 mcu_isr(TIMER1_COMPA);\r
32 // TIMER2:  8-Bit: GS-Refresh-Timer\r
33 mcu_isr(TIMER2_COMP);\r
34 \r
35 \r
36 //////////////////////////////////////////\r
37 \r
38 int main(void)\r
39 {\r
40   cli();\r
41   \r
42   // Initialize scheduler.\r
43   sched_init();\r
44 \r
45   // Initialize peripherals.\r
46   //dmx_init();\r
47   tlc_init();\r
48 \r
49   sei();\r
50   // Start DMX\r
51   //dmx_start();\r
52   // not done yet, use dummy data\r
53   tlc_set_data_done();\r
54 \r
55   // Start scheduler.\r
56   sched_loop();\r
57   return 0;\r
58 }\r