]> oss.titaniummirror.com Git - tinyos-2.x.git/blobdiff - tos/chips/msp430/usci/HplMsp430UsciIntP.nc
Reverse unwanted changes made to MoteClockC.nc in last commit.
[tinyos-2.x.git] / tos / chips / msp430 / usci / HplMsp430UsciIntP.nc
index 257b7a5cc2f986b4868649dd669c8d734e9e88c9..a418bb27eee04c83d69b4bd24da47795a9b1a9d6 100644 (file)
  * @author R. Steve McKown <rsmckown@gmail.com>
  */
  
-#include "msp430usci.h"
+#include "Msp430Usci.h"
+#include "msp430hardware.h"
 
-generic module HplMsp430UsciIntP(
+module HplMsp430UsciInt0P(
     uint8_t USCIABxRX_VECTOR,
     uint8_t USCIABxTX_VECTOR,
     uint8_t UCAxRXIFG,
     uint8_t UCAxTXIFG,
+    uint8_t UCBxRXIFG,
+    uint8_t UCBxTXIFG,
     uint8_t Ucaxctl0_addr,
     uint8_t Ucaxctl1_addr,
     uint8_t Ucaxrxbuf_addr,
@@ -49,8 +52,8 @@ generic module HplMsp430UsciIntP(
     uint8_t Ucxifg_addr
     ) @safe() {
   provides {
-    interface HplMsp430UsciIntA as IntA; /* Interrupts for USCI_Ax */
-    interface HplMsp430UsciIntB as IntB; /* Interrupts for USCI_Bx */
+    interface HplMsp430UsciInt as IntA; /* Interrupts for USCI_A0 */
+    interface HplMsp430UsciInt as IntB; /* Interrupts for USCI_B0 */
   }
 }
 
@@ -64,6 +67,7 @@ implementation
   #define UCBxCTL1 (*TCAST(volatile uint8_t* ONE, Ucbxctl1_addr))
   #define UCBxRXBUF (*TCAST(volatile uint8_t* ONE, Ucbxrxbuf_addr))
 
+#if 0
   MSP430REG_NORACE(UCxIFG);
   MSP430REG_NORACE(UCAxCTL0);
   MSP430REG_NORACE(UCAxCTL1);
@@ -71,6 +75,7 @@ implementation
   MSP430REG_NORACE(UCBxCTL0);
   MSP430REG_NORACE(UCBxCTL1);
   MSP430REG_NORACE(UCBxRXBUF);
+#endif
 
   /* This USCI_Ax and USCI_Bx interrupt vector signals receive events for UART
    * and SPI modes, and status events for I2C modes.  Only Bx can do I2C.
@@ -119,6 +124,11 @@ implementation
   default async event void IntA.brk() {}
   default async event void IntA.rx(char c) {}
   default async event void IntA.tx() {}
+  /* i2c is not available for A devices, so the below are never signalled */
+  default async event void IntA.i2cCal() {}
+  default async event void IntA.i2cNak() {}
+  default async event void IntA.i2cStart() {}
+  default async event void IntA.i2cStop() {}
 
   default async event void IntB.brk() {}
   default async event void IntB.rx(char c) {}