]> git.tdb.fi Git - model-railway-devices.git/blobdiff - firmware/serial.h
Support multiple timers (currently 0 and 1)
[model-railway-devices.git] / firmware / serial.h
index e62b0a9df7137ce313ba15420de7a8308e1d8821..696c20e8f37c28d0cf1617873f5c6ca972ecb97b 100644 (file)
@@ -1,10 +1,23 @@
+/* $Id$
+
+This file is part of the MSP Märklin suite
+Copyright © 2010  Mikkosoft Productions, Mikko Rasa
+Distributed under the GPL
+*/
+
 #ifndef SERIAL_H_
 #define SERIAL_H_
 
-typedef void SerialCallback(uint8_t);
+#include <avr/interrupt.h>
+
+#define SERIAL_SET_CALLBACK(f) \
+       ISR(USART_RX_vect) \
+       { \
+               char c = UDR0; \
+               f(c); \
+       }
 
 void serial_init(uint16_t);
-void serial_set_callback(SerialCallback *);
 void serial_write(uint8_t);
 
 #endif