]> oss.titaniummirror.com Git - tinyos-2.x.git/blobdiff - tos/chips/m16c62p/uart/HplM16c62pUartInterruptP.nc
Added TosThreads support for Mulle.
[tinyos-2.x.git] / tos / chips / m16c62p / uart / HplM16c62pUartInterruptP.nc
index 64fad636be9eca94fb339b88d8e0b4040c490dc9..e8409e59c46942b4a6ab25bf93af8a3a353d45da 100755 (executable)
@@ -46,6 +46,13 @@ module HplM16c62pUartInterruptP
   provides interface HplM16c62pUartInterrupt as Uart0;
   provides interface HplM16c62pUartInterrupt as Uart1;
   provides interface HplM16c62pUartInterrupt as Uart2;
+  
+#ifdef THREADS
+  uses interface PlatformInterrupt;
+#define POST_AMBLE() call PlatformInterrupt.postAmble()
+#else 
+#define POST_AMBLE()
+#endif 
 }
 implementation
 {
@@ -53,12 +60,14 @@ implementation
   M16C_INTERRUPT_HANDLER(M16C_UART0_NACK)
   {
     signal Uart0.tx();
+    POST_AMBLE();
   }
 
   default async event void Uart0.rx() { } 
   M16C_INTERRUPT_HANDLER(M16C_UART0_ACK)
   {
     signal Uart0.rx();
+    POST_AMBLE();
   }
 
 
@@ -66,12 +75,14 @@ implementation
   M16C_INTERRUPT_HANDLER(M16C_UART1_NACK)
   {
     signal Uart1.tx();
+    POST_AMBLE();
   }
 
   default async event void Uart1.rx() { } 
   M16C_INTERRUPT_HANDLER(M16C_UART1_ACK)
   {
     signal Uart1.rx();
+    POST_AMBLE();
   }
 
 
@@ -79,11 +90,13 @@ implementation
   M16C_INTERRUPT_HANDLER(M16C_UART2_NACK)
   {
     signal Uart2.tx();
+    POST_AMBLE();
   }
 
   default async event void Uart2.rx() { } 
   M16C_INTERRUPT_HANDLER(M16C_UART2_ACK)
   {
     signal Uart2.rx();
+    POST_AMBLE();
   }
 }