]> oss.titaniummirror.com Git - tinyos-2.x.git/blobdiff - tos/chips/msp430/usart/HplMsp430Usart1C.nc
Update to centralize inside one module where all interrupt handlers are signaled...
[tinyos-2.x.git] / tos / chips / msp430 / usart / HplMsp430Usart1C.nc
index cf31c95025f32fac3b50a5b384356e99f3d76a82..aefd47f7131aeb7972cbc7794adf2701c4c9a127 100644 (file)
@@ -1,4 +1,35 @@
-/*
+/**
+ * Copyright (c) 2005-2006 Arched Rock Corporation
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * - Redistributions of source code must retain the above copyright
+ *   notice, this list of conditions and the following disclaimer.
+ * - 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 Arched Rock Corporation nor the names of
+ *   its contributors may be used to endorse or promote products derived
+ *   from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE
+ * ARCHED ROCK OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE
+ */
+
+/**
  * "Copyright (c) 2000-2005 The Regents of the University  of California.
  * All rights reserved.
  *
  * PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF
  * CALIFORNIA HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT,
  * UPDATES, ENHANCEMENTS, OR MODIFICATIONS."
- *
  */
 
 /**
+ * An HPL abstraction of USART1 on the MSP430.
+ *
+ * @author Jonathan Hui <jhui@archedrock.com>
  * @author Joe Polastre
+ * @version $Revision$ $Date$
  */
 
-#include "msp430UsartResource.h"
+#include "msp430usart.h"
 
 configuration HplMsp430Usart1C {
-  provides interface Init;
+
+  provides interface AsyncStdControl;
   provides interface HplMsp430Usart;
   provides interface HplMsp430UsartInterrupts;
-  provides interface Resource[ uint8_t id ];
-  provides interface ResourceController;
-  provides interface ArbiterInfo;
+
 }
 
 implementation {
 
   components HplMsp430Usart1P as HplUsartP;
   components HplMsp430GeneralIOC as GIO;
-  components new FcfsArbiterC(MSP430_HPLUSART1_RESOURCE) as Arbiter;
 
+  AsyncStdControl = HplUsartP;
   HplMsp430Usart = HplUsartP;
   HplMsp430UsartInterrupts = HplUsartP;
 
-  Init = Arbiter;
-  Resource = Arbiter;
-  ResourceController = Arbiter;
-  ArbiterInfo = Arbiter;
-
   HplUsartP.SIMO -> GIO.SIMO1;
   HplUsartP.SOMI -> GIO.SOMI1;
   HplUsartP.UCLK -> GIO.UCLK1;
   HplUsartP.URXD -> GIO.URXD1;
   HplUsartP.UTXD -> GIO.UTXD1;
-
+  
+  components HplMsp430InterruptSigP;
+  HplUsartP.SIGNAL_UART1RX_VECTOR -> HplMsp430InterruptSigP.SIGNAL_UART1RX_VECTOR;
+  HplUsartP.SIGNAL_UART1TX_VECTOR -> HplMsp430InterruptSigP.SIGNAL_UART1TX_VECTOR;
 }