]> git.tdb.fi Git - model-railway-devices.git/blobdiff - firmware/timer.h
Support multiple timers (currently 0 and 1)
[model-railway-devices.git] / firmware / timer.h
index fa2cd863ae93f18220da8fc07785079091cda232..2fbda8e8582a5e96195cda269ddedc532e2a1afb 100644 (file)
@@ -1,9 +1,23 @@
+/* $Id$
+
+This file is part of the MSP Märklin suite
+Copyright © 2010  Mikkosoft Productions, Mikko Rasa
+Distributed under the GPL
+*/
+
 #ifndef TIMER_H_
 #define TIMER_H_
 
-typedef void TimerCallback(void);
+#include <avr/interrupt.h>
+
+#define TIMER_SET_CALLBACK(n, f) \
+       ISR(TIMER ## n ## _COMPA_vect) \
+       { \
+               f(); \
+       }
 
-void timer_init(uint16_t, uint8_t);
-void timer_set_callback(TimerCallback *);
+void timer_start_hz(uint8_t, uint32_t, uint8_t);
+void timer_start_us(uint8_t, uint32_t);
+void timer_stop(uint8_t);
 
 #endif