X-Git-Url: https://oss.titaniummirror.com/gitweb/?a=blobdiff_plain;f=tos%2Fchips%2Fmsp430%2Fusci%2FHplMsp430UsciRegP.nc;h=9bbf76d180be3325f331b4eb6ed0f0dce8166142;hb=be862ab07d080085823951d18dcb27a28a310ace;hp=b46a1c4f35815b51fdc7fbc83a5914007fe2c1c4;hpb=0290d9081acdbe813926612478fbe81e7a44e3c5;p=tinyos-2.x.git diff --git a/tos/chips/msp430/usci/HplMsp430UsciRegP.nc b/tos/chips/msp430/usci/HplMsp430UsciRegP.nc index b46a1c4f..9bbf76d1 100644 --- a/tos/chips/msp430/usci/HplMsp430UsciRegP.nc +++ b/tos/chips/msp430/usci/HplMsp430UsciRegP.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,17 +26,17 @@ * (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 register interface to USCI peripherals. The interface abstracts the * differences between pysical devices (aka addresses) such that a user of * the interface can equally use any USCI device, providing the device * provides the necessary capabilities. For example, I2C is only available * on USCI_Bx ports. - * + * * @author R. Steve McKown */ - + #include "Msp430Usci.h" #include "msp430hardware.h" @@ -185,7 +185,7 @@ implementation } } - /* Doesn't really set the mode, but checks the most for the device and inits + /* Doesn't really set the mode, but checks the mode for the device and inits * the device. */ async command bool Registers.setMode(msp430_usci_mode_t mode) @@ -236,8 +236,38 @@ implementation RENDER_A(Abctl); RENDER_A(Irtctl); RENDER_A(Irrctl); - RENDER_B(I2Coa); - RENDER_B(I2Csa); + + /* RENDER_B(I2Coa); */ + async command volatile uint8_t* Registers.ptrI2Coa() + { + return &UCBxI2Coa; + } + + async command uint16_t Registers.readI2Coa() + { + return UCBxI2Coa; + } + + async command void Registers.assignI2Coa(uint16_t addr) + { + UCBxI2Coa = addr; + } + + /* RENDER_B(I2Csa); */ + async command volatile uint8_t* Registers.ptrI2Csa() + { + return &UCBxI2Csa; + } + + async command uint16_t Registers.readI2Csa() + { + return UCBxI2Csa; + } + + async command void Registers.assignI2Csa(uint16_t addr) + { + UCBxI2Csa = addr; + } /* RENDER(Ie); */ async command bool Registers.getIeRx() @@ -285,4 +315,9 @@ implementation { return READ_FLAG(UCxxIfg, UCxxTXIFG); } + + async command void Registers.clrIfgTx() + { + CLR_FLAG(UCxxIfg, UCxxTXIFG); + } }