/**
* HPL interface to a USCI peripheral device in UART mode.
*
- * @author R. Steve McKown <smckown@gmail.com>
+ * @author R. Steve McKown <rsmckown@gmail.com>
*/
#include "Msp430Usci.h"
/**
* 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
* @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.
* @return The value of the device's UCxxCTL0 register ANDed with
* <t>mask</t>.
*/
- 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.
*
* @parm mask The bits in set in <t>mask</t> 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.
*
* @parm mask The bits in set in <t>mask</t> to clear in UCxxCTL0.
*/
- command void clrCtl0(uint8_t mask);
+ async command void clrCtl0(uint8_t mask);
/**
* Assign the values of the bits in <t>value</t>, whose corresponding bits in
* <t>mask</t> are set, in the UCxxCTL0 register. The operation is
* equivalent to: <t>UCxxCTL0 = (UCxxCTL0 & ~mask) | (value & mask)</t>.
*/
- 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.
*/
- 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 uint8_t getI2Coa(uint8_t mask);
+ async command void setI2Coa(uint8_t mask);
+ async command void clrI2Coa(uint8_t mask);
+ //async command void assignI2Coa(uint8_t mask, uint8_t value);
+ async command void assignI2Coa(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.
*/
- 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 uint8_t getI2Csa(uint8_t mask);
+ async command void setI2Csa(uint8_t mask);
+ async command void clrI2Csa(uint8_t mask);
+ //async command void assignI2Csa(uint8_t mask, uint8_t value);
+ async command void assignI2Csa(uint8_t value);
/**
* 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 clrIfgRx();
+ async command bool getIfgTx();
}