X-Git-Url: https://oss.titaniummirror.com/gitweb/?a=blobdiff_plain;f=tos%2Fchips%2Fmsp430%2Fpins%2FHplMsp430GeneralIOP.nc;h=191d4f21b9d631f3b60fd1dc6f7699849b10d000;hb=48666eab550362c629ba4dcb7d107b9d44b9ba6c;hp=34debff46c7205c3aeb8089096bbbf50e101343e;hpb=695dd83589319d40275851183f4dd175fa77b95e;p=tinyos-2.x.git diff --git a/tos/chips/msp430/pins/HplMsp430GeneralIOP.nc b/tos/chips/msp430/pins/HplMsp430GeneralIOP.nc index 34debff4..191d4f21 100644 --- a/tos/chips/msp430/pins/HplMsp430GeneralIOP.nc +++ b/tos/chips/msp430/pins/HplMsp430GeneralIOP.nc @@ -31,7 +31,7 @@ generic module HplMsp430GeneralIOP( uint8_t port_dir_addr, uint8_t port_sel_addr, uint8_t pin - ) + ) @safe() { provides interface HplMsp430GeneralIO as IO; } @@ -45,6 +45,8 @@ implementation async command void IO.set() { atomic PORTx |= (0x01 << pin); } async command void IO.clr() { atomic PORTx &= ~(0x01 << pin); } async command void IO.toggle() { atomic PORTx ^= (0x01 << pin); } + async command uint8_t IO.getOutRaw() { return PORTx & (0x01 << pin); } + async command bool IO.getOut() { return (call IO.getOutRaw() != 0); } async command uint8_t IO.getRaw() { return PORTxIN & (0x01 << pin); } async command bool IO.get() { return (call IO.getRaw() != 0); } async command void IO.makeInput() { atomic PORTxDIR &= ~(0x01 << pin); } @@ -55,4 +57,7 @@ implementation async command bool IO.isModuleFunc() { return (PORTxSEL & (0x01<