X-Git-Url: https://oss.titaniummirror.com/gitweb/?a=blobdiff_plain;f=tos%2Fchips%2Fmsp430%2Fusci%2FHplMsp430UsciReg.nc;h=4a61bbbd89bb4f4021f15f207ca8efdc8df33097;hb=3fe8f13e05a2bcbc4a224f5a7b7f0ae45398a9b5;hp=3f4536c81ed06622bec8964db7e0a85eda37b27e;hpb=9b58ecb229fe2466638908e2e3c28f66f0439116;p=tinyos-2.x.git diff --git a/tos/chips/msp430/usci/HplMsp430UsciReg.nc b/tos/chips/msp430/usci/HplMsp430UsciReg.nc index 3f4536c8..4a61bbbd 100644 --- a/tos/chips/msp430/usci/HplMsp430UsciReg.nc +++ b/tos/chips/msp430/usci/HplMsp430UsciReg.nc @@ -10,7 +10,7 @@ * - Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * - Neither the name of the Technische Universität Berlin nor the names + * - Neither the name of the Titanium Mirror, Inc. nor the names * of its contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * @@ -26,20 +26,20 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ - + /** * HPL interface to a USCI peripheral device in UART mode. * - * @author R. Steve McKown + * @author R. Steve McKown */ - + #include "Msp430Usci.h" interface HplMsp430UsciReg { /** * Return the current mode. */ - command msp430_usci_mode_t getMode(); + async command msp430_usci_mode_t getMode(); /** * Prepare to set the mode. If the device supports the requested mode, its @@ -50,14 +50,14 @@ interface HplMsp430UsciReg { * @param msp430usci_mode_t The desired USCI mode. * @return bool TRUE if the device supports the requested mode, else FALSE. */ - command bool setMode(msp430_usci_mode_t mode); + async command bool setMode(msp430_usci_mode_t mode); /** * Get pointer to the UCxxCTL0 register associated with the USCI device. * * @return The pointer to the device's UCxxCTL0 register. */ - command volatile uint8_t* ptrCtl0(); + async command volatile uint8_t* ptrCtl0(); /** * Get bits from the UCxxCTL0 register associated with the USCI device. @@ -67,7 +67,7 @@ interface HplMsp430UsciReg { * @return The value of the device's UCxxCTL0 register ANDed with * mask. */ - command uint8_t getCtl0(uint8_t mask); + async command uint8_t getCtl0(uint8_t mask); /** * Set bits in the UCxxCTL0 register associated with the USCI device. @@ -75,7 +75,7 @@ interface HplMsp430UsciReg { * * @parm mask The bits in set in mask to set in UCxxCTL0. */ - command void setCtl0(uint8_t mask); + async command void setCtl0(uint8_t mask); /** * Clear bits in the UCxxCTL0 register associated with the USCI device. @@ -83,178 +83,179 @@ interface HplMsp430UsciReg { * * @parm mask The bits in set in mask to clear in UCxxCTL0. */ - command void clrCtl0(uint8_t mask); + async command void clrCtl0(uint8_t mask); /** * Assign the values of the bits in value, whose corresponding bits in * mask are set, in the UCxxCTL0 register. The operation is * equivalent to: UCxxCTL0 = (UCxxCTL0 & ~mask) | (value & mask). */ - command void assignCtl0(uint8_t mask, uint8_t value); + //async command void assignCtl0(uint8_t mask, uint8_t value); + async command void assignCtl0(uint8_t value); /** * Manipulate bits in the UCxxCTL1 register. See the methods that manipulate * UCxxCTL0 for more information. */ - command volatile uint8_t* ptrCtl1(); - command uint8_t getCtl1(uint8_t mask); - command void setCtl1(uint8_t mask); - command void clrCtl1(uint8_t mask); - command void assignCtl1(uint8_t mask, uint8_t value); + async command volatile uint8_t* ptrCtl1(); + async command uint8_t getCtl1(uint8_t mask); + async command void setCtl1(uint8_t mask); + async command void clrCtl1(uint8_t mask); + //async command void assignCtl1(uint8_t mask, uint8_t value); + async command void assignCtl1(uint8_t value); /** * Manipulate bits in the UCxxBR0 register. See the methods that manipulate * UCxxCTL0 for more information. */ - command volatile uint8_t* ptrBr0(); - command uint8_t getBr0(uint8_t mask); - command void setBr0(uint8_t mask); - command void clrBr0(uint8_t mask); - command void assignBr0(uint8_t mask, uint8_t value); + async command volatile uint8_t* ptrBr0(); + async command uint8_t getBr0(uint8_t mask); + async command void setBr0(uint8_t mask); + async command void clrBr0(uint8_t mask); + //async command void assignBr0(uint8_t mask, uint8_t value); + async command void assignBr0(uint8_t value); /** * Manipulate bits in the UCxxBR1 register. See the methods that manipulate * UCxxCTL0 for more information. */ - command volatile uint8_t* ptrBr1(); - command uint8_t getBr1(uint8_t mask); - command void setBr1(uint8_t mask); - command void clrBr1(uint8_t mask); - command void assignBr1(uint8_t mask, uint8_t value); + async command volatile uint8_t* ptrBr1(); + async command uint8_t getBr1(uint8_t mask); + async command void setBr1(uint8_t mask); + async command void clrBr1(uint8_t mask); + //async command void assignBr1(uint8_t mask, uint8_t value); + async command void assignBr1(uint8_t value); /** * Manipulate bits in the UCxxMCTL register. See the methods that manipulate * UCxxCTL0 for more information. These methods perform no operation on * providers implementing a USCI_Bx device. */ - command volatile uint8_t* ptrMctl(); - command uint8_t getMctl(uint8_t mask); - command void setMctl(uint8_t mask); - command void clrMctl(uint8_t mask); - command void assignMctl(uint8_t mask, uint8_t value); + async command volatile uint8_t* ptrMctl(); + async command uint8_t getMctl(uint8_t mask); + async command void setMctl(uint8_t mask); + async command void clrMctl(uint8_t mask); + //async command void assignMctl(uint8_t mask, uint8_t value); + async command void assignMctl(uint8_t value); /** * Manipulate bits in the UCxxI2CIE register. See the methods that * manipulate UCxxCTL0 for more information. These methods perform no * operation on providers implementing a USCI_Ax device. */ - command volatile uint8_t* ptrI2Cie(); - command uint8_t getI2Cie(uint8_t mask); - command void setI2Cie(uint8_t mask); - command void clrI2Cie(uint8_t mask); - command void assignI2Cie(uint8_t mask, uint8_t value); + async command volatile uint8_t* ptrI2Cie(); + async command uint8_t getI2Cie(uint8_t mask); + async command void setI2Cie(uint8_t mask); + async command void clrI2Cie(uint8_t mask); + //async command void assignI2Cie(uint8_t mask, uint8_t value); + async command void assignI2Cie(uint8_t value); /** * Manipulate bits in the UCxxSTAT register. See the methods that manipulate * UCxxCTL0 for more information. */ - command volatile uint8_t* ptrStat(); - command uint8_t getStat(uint8_t mask); - command void setStat(uint8_t mask); - command void clrStat(uint8_t mask); - command void assignStat(uint8_t mask, uint8_t value); + async command volatile uint8_t* ptrStat(); + async command uint8_t getStat(uint8_t mask); + async command void setStat(uint8_t mask); + async command void clrStat(uint8_t mask); + //async command void assignStat(uint8_t mask, uint8_t value); + async command void assignStat(uint8_t value); /** * Return pointer to the UCAxxRXBUF register used by the USCI device. */ - command volatile uint8_t* ptrRxbuf(); + async command volatile uint8_t* ptrRxbuf(); /** * Read the contents of the UCAxxRXBUF register. This register cannot be * written. */ - command uint8_t getRxbuf(); + async command uint8_t getRxbuf(); /** * Return pointer to the UCAxxTXBUF register used by the USCI device. */ - command volatile uint8_t* ptrTxbuf(); + async command volatile uint8_t* ptrTxbuf(); /** * Read the contents of the UCAxxTXBUF register. */ - command uint8_t getTxbuf(); + async command uint8_t getTxbuf(); /** * Write a byte to the UCAxxTXBUF register. */ - command void setTxbuf(uint8_t byte); + async command void setTxbuf(uint8_t byte); /** * Manipulate bits in the UCxxABCTL register. See the methods that * manipulate UCxxCTL0 for more information. These methods perform no * operation on providers implementing a USCI_Bx device. */ - command volatile uint8_t* ptrAbctl(); - command uint8_t getAbctl(uint8_t mask); - command void setAbctl(uint8_t mask); - command void clrAbctl(uint8_t mask); - command void assignAbctl(uint8_t mask, uint8_t value); + async command volatile uint8_t* ptrAbctl(); + async command uint8_t getAbctl(uint8_t mask); + async command void setAbctl(uint8_t mask); + async command void clrAbctl(uint8_t mask); + //async command void assignAbctl(uint8_t mask, uint8_t value); + async command void assignAbctl(uint8_t value); /** * Manipulate bits in the UCxxIRTCTL register. See the methods that * manipulate UCxxCTL0 for more information. These methods perform no * operation on providers implementing a USCI_Bx device. */ - command volatile uint8_t* ptrIrtctl(); - command uint8_t getIrtctl(uint8_t mask); - command void setIrtctl(uint8_t mask); - command void clrIrtctl(uint8_t mask); - command void assignIrtctl(uint8_t mask, uint8_t value); + async command volatile uint8_t* ptrIrtctl(); + async command uint8_t getIrtctl(uint8_t mask); + async command void setIrtctl(uint8_t mask); + async command void clrIrtctl(uint8_t mask); + //async command void assignIrtctl(uint8_t mask, uint8_t value); + async command void assignIrtctl(uint8_t value); /** * Manipulate bits in the UCxxIRRCTL register. See the methods that * manipulate UCxxCTL0 for more information. These methods perform no * operation on providers implementing a USCI_Bx device. */ - command volatile uint8_t* ptrIrrctl(); - command uint8_t getIrrctl(uint8_t mask); - command void setIrrctl(uint8_t mask); - command void clrIrrctl(uint8_t mask); - command void assignIrrctl(uint8_t mask, uint8_t value); + async command volatile uint8_t* ptrIrrctl(); + async command uint8_t getIrrctl(uint8_t mask); + async command void setIrrctl(uint8_t mask); + async command void clrIrrctl(uint8_t mask); + //async command void assignIrrctl(uint8_t mask, uint8_t value); + async command void assignIrrctl(uint8_t value); /** - * Manipulate bits in the UCxxI2COA register. See the methods that - * manipulate UCxxCTL0 for more information. These methods perform no - * operation on providers implementing a USCI_Ax device. + * Access to the UCBxI2COA register. */ - command volatile uint8_t* ptrI2Coa(); - command uint8_t getI2Coa(uint8_t mask); - command void setI2Coa(uint8_t mask); - command void clrI2Coa(uint8_t mask); - command void assignI2Coa(uint8_t mask, uint8_t value); + async command volatile uint8_t* ptrI2Coa(); + async command uint16_t readI2Coa(); + async command void assignI2Coa(uint16_t addr); /** - * Manipulate bits in the UCxxI2COA register. See the methods that - * manipulate UCxxCTL0 for more information. These methods perform no - * operation on providers implementing a USCI_Ax device. + * Access to the UCBxI2SA register. */ - command volatile uint8_t* ptrI2Csa(); - command uint8_t getI2Csa(uint8_t mask); - command void setI2Csa(uint8_t mask); - command void clrI2Csa(uint8_t mask); - command void assignI2Csa(uint8_t mask, uint8_t value); + async command volatile uint8_t* ptrI2Csa(); + async command uint16_t readI2Csa(); + async command void assignI2Csa(uint16_t addr); /** * Manipulate bits in the UCxxIE register. See the methods that manipulate * UCxxCTL0 for more information. */ - command bool getIeRx(); - command void setIeRx(); - command void clrIeRx(); - command bool getIeTx(); - command void setIeTx(); - command void clrIeTx(); + async command bool getIeRx(); + async command void setIeRx(); + async command void clrIeRx(); + async command bool getIeTx(); + async command void setIeTx(); + async command void clrIeTx(); /** * Manipulate bits in the UCxxIFG register. See the methods that manipulate * UCxxCTL0 for more information. */ - command bool getIfgRx(); - command void setIfgRx(); - command void clrIfgRx(); - command bool getIfgTx(); - command void setIfgTx(); - command void clrIfgTx(); - + async command bool getIfgRx(); + async command void setIfgRx(); + async command void clrIfgRx(); + async command bool getIfgTx(); + async command void setIfgTx(); + async command void clrIfgTx(); }