X-Git-Url: https://oss.titaniummirror.com/gitweb/?a=blobdiff_plain;f=tos%2Fchips%2Fmsp430%2Fusci%2FMsp430UartP.nc;h=4821f7b67a9b910c5398b2a1a1b4a8d28805cfe2;hb=a04046a3331f1baba1e6a568613fec5db58bbe7b;hp=a35dd92eb8d4b05a2296b1612ecde05f79d30b44;hpb=dfbae4ae464c8990d122cc07951edcdbc1983ac4;p=tinyos-2.x.git diff --git a/tos/chips/msp430/usci/Msp430UartP.nc b/tos/chips/msp430/usci/Msp430UartP.nc index a35dd92e..4821f7b6 100644 --- a/tos/chips/msp430/usci/Msp430UartP.nc +++ b/tos/chips/msp430/usci/Msp430UartP.nc @@ -55,7 +55,7 @@ generic module Msp430UartP() { implementation { enum { /* Bit positions in m_pins */ - PINS_RXD = 1, + PINS_RXD = 0, PINS_TXD }; @@ -114,6 +114,10 @@ implementation { /* Enable the device */ call Registers.clrCtl1(UCSWRST); + + /* TOS convention is for receive interrupts on by default. */ + call Registers.clrIfgRx(); + call Registers.setIeRx(); } } @@ -133,9 +137,9 @@ implementation { m_sobuf = 0; /* Restore pins to their pre-configure state */ - if (m_pins & PINS_RXD) + if (m_pins & (1 << PINS_RXD)) call RXD.selectIOFunc(); - if (m_pins & PINS_TXD) + if (m_pins & (1 << PINS_TXD)) call TXD.selectIOFunc(); } } @@ -285,7 +289,7 @@ implementation { async event void Interrupts.i2cStop() {} async event void Interrupts.i2cCal() {} async event void Interrupts.brk() {} - async event void Interrupts.i2cNak() {} + async event void Interrupts.i2cNack() {} async event void Counter.overflow() {} default async event void UartStream.sendDone( uint8_t* buf, uint16_t len,