Abstraction of ISR-stuff.
authorMalte S. Stretz <mss@apache.org>
Sat, 10 Jan 2009 21:50:09 +0000 (21:50 +0000)
committerMalte S. Stretz <mss@apache.org>
Sat, 10 Jan 2009 21:50:09 +0000 (21:50 +0000)
src/dmx.c
src/dmx.h
src/main.c
src/mcu.h
src/mcu_config.h

index a8fe7fa..4b66655 100644 (file)
--- a/src/dmx.c
+++ b/src/dmx.c
@@ -146,4 +146,12 @@ void dmx_int_disable()
 
 #else
 void dmx_init(void) {}
+
+void dmx_int_timer0_ovf(void)
+{
+}
+
+void dmx_int_ext(void)
+{
+}
 #endif
index bc489b4..b5f7fb9 100644 (file)
--- a/src/dmx.h
+++ b/src/dmx.h
@@ -1,3 +1,6 @@
 #pragma once
 
 void dmx_init(void);
+
+void dmx_int_ext(void);
+void dmx_int_timer0_ovf(void);
index e79ab34..5a26a07 100644 (file)
 //////////////////////////////////////////\r
 // Interrupts\r
 \r
-#if 0\r
 // INT0:  External int, DMX sync\r
-ISR(INT0_vect)\r
-{\r
-//  dmx_int_edge();\r
-}\r
+mcu_isr(INT0);\r
 \r
 // TIMER0:  8-Bit: 4 us for DMX, timeouts\r
-ISR(TIMER0_OVF_vect)\r
-{\r
-//  dmx_count_frame();\r
-}\r
-#endif\r
-\r
+mcu_isr(TIMER0_OVF);\r
 \r
 // TIMER1: 16-Bit: GSCLK\r
-ISR(TIMER1_COMPA_vect)\r
-{\r
-  tlc_int_timer1_ocma();\r
-}\r
-\r
-\r
-\r
-\r
+mcu_isr(TIMER1_COMPA);\r
 // TIMER2:  8-Bit: GS-Refresh-Timer\r
-ISR(TIMER2_COMP_vect)\r
-{\r
-  tlc_int_timer2_ocm();\r
-}\r
+mcu_isr(TIMER2_COMP);\r
 \r
 \r
 //////////////////////////////////////////\r
index a3c4318..c35be57 100644 (file)
--- a/src/mcu.h
+++ b/src/mcu.h
@@ -4,6 +4,8 @@
 
 #include "mcu_config.h"
 
+#define mcu_isr(name) ISR(name ## _vect) { INT_ ## name (); } int main(void)
+
 #ifdef __AVR_ATmega8__
 #include "mcu_atmega8.h"
 #include "mcu_atmega8_pins.h"
index 1f919bd..f3d52b6 100644 (file)
@@ -13,3 +13,9 @@
 \r
 #define PIN_DMX   PIN_INT0\r
 #define DMX_VECT  INT0_vect\r
+\r
+#define INT_TIMER1_COMPA tlc_int_timer1_ocma\r
+#define INT_TIMER2_COMP  tlc_int_timer2_ocm\r
+\r
+#define INT_TIMER0_OVF   dmx_int_timer0_ovf\r
+#define INT_INT0         dmx_int_ext\r