]> oss.titaniummirror.com Git - tinyos-2.x.git/blobdiff - tos/sensorboards/mts300/SensorMts300C.nc
update the latest driver code for T2.
[tinyos-2.x.git] / tos / sensorboards / mts300 / SensorMts300C.nc
index df62369acdff387f5994b32d9ac6bd4dc169d794..12e093b2edef72a2e4f35412fdb74332a5bcaa2e 100644 (file)
@@ -1,5 +1,5 @@
 /**\r
- *  Copyright (c) 2004-2005 Crossbow Technology, Inc.\r
+ *  Copyright (c) 2005-2006 Crossbow Technology, Inc.\r
  *  All rights reserved.\r
  *\r
  *  Permission to use, copy, modify, and distribute this software and its\r
  *  standard BSD license as contained in the TinyOS distribution.\r
  *\r
  *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'\r
- *  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE \r
+ *  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r
  *  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
- *  ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS \r
- *  BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR \r
- *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, LOSS OF USE, DATA, \r
- *  OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN \r
- *  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \r
- *  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF \r
+ *  ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS\r
+ *  BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\r
+ *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, LOSS OF USE, DATA,\r
+ *  OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\r
+ *  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\r
+ *  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF\r
  *  THE POSSIBILITY OF SUCH DAMAGE.\r
  *\r
  *  @author Martin Turon <mturon@xbow.com>\r
- *  @author Miguel Freitas\r
+ *  @author Hu Siquan <husq@xbow.com>\r
  *\r
  *  $Id$\r
  */\r
 \r
-configuration SensorMts300C\r
+//configuration SensorMts300C\r
+generic configuration SensorMts300C()\r
 {\r
-    provides {\r
-       interface Init;                 //!< Standard Initialization\r
-       interface StdControl;           //!< Start/Stop for Power Management\r
-       interface Read<uint16_t> as Temp;  //!< Thermister\r
-       interface Read<uint16_t> as Light; //!< Photo sensor\r
-    }\r
+  provides\r
+  {\r
+       interface Init;                 //!< Standard Initialization\r
+       interface StdControl;           //!< Start/Stop for Power Management\r
+       interface Read<uint16_t> as Vref; //!< voltage\r
+       interface Read<uint16_t> as Temp; //!< Thermister\r
+       interface Read<uint16_t> as Light; //!< Photo sensor\r
+       interface Read<uint16_t> as Microphone; //!< Mic sensor\r
+       interface Read<uint16_t> as AccelX; //!< Accelerometer sensor\r
+       interface Read<uint16_t> as AccelY; //!< Accelerometer sensor\r
+       interface Read<uint16_t> as MagX; //!< magnetometer sensor\r
+       interface Read<uint16_t> as MagY; //!< magnetometer sensor\r
+  }\r
 }\r
-implementation \r
+implementation\r
 {\r
-    components \r
-       SensorMts300P,\r
-       SensorMts300DeviceP,\r
-       HplAtm128GeneralIOC as IO,\r
-       new AdcReadClientC() as SensorADC,\r
-       new TimerMilliC() as WarmUpTimer\r
-       ;\r
+    components         SensorMts300P,  HplAtm128GeneralIOC as IO,\r
+    new VoltageC(),\r
+    new PhotoC(),\r
+    new TempC(),\r
+    new MicC(),\r
+    new MagC(),\r
+    new AccelC(),\r
+         new TimerMilliC() as WarmUpTimer;\r
 \r
     Init       = SensorMts300P.Init;\r
+    Init       = PhotoC.Init;\r
+    Init       = MicC.Init;\r
     StdControl = SensorMts300P.StdControl;\r
+    Vref       = SensorMts300P.Vref;\r
     Temp       = SensorMts300P.Temp;\r
     Light      = SensorMts300P.Light;\r
+    Microphone = SensorMts300P.Microphone;\r
+    AccelX     = SensorMts300P.AccelX;\r
+    AccelY     = SensorMts300P.AccelY;\r
+    MagX       = SensorMts300P.MagX;\r
+    MagY       = SensorMts300P.MagY;\r
 \r
-    SensorADC.Atm128AdcConfig -> SensorMts300DeviceP;\r
-    SensorADC.ResourceConfigure -> SensorMts300DeviceP;\r
+    SensorMts300P.WarmUpTimer -> WarmUpTimer;\r
 \r
-    SensorMts300P.SensorADC -> SensorADC;\r
-    SensorMts300P.TempPower -> IO.PortE6;\r
+    SensorMts300P.VrefRead -> VoltageC.Read;\r
+    SensorMts300P.PhotoControl -> PhotoC.StdControl;\r
+    SensorMts300P.TempRead -> TempC.Read;\r
+    SensorMts300P.LightRead -> PhotoC.Read;\r
     SensorMts300P.LightPower -> IO.PortE5;\r
-    SensorMts300P.WarmUpTimer -> WarmUpTimer;\r
+    SensorMts300P.TempPower -> IO.PortE6;\r
+\r
+    SensorMts300P.MicControl -> MicC.StdControl;\r
+    SensorMts300P.Mic -> MicC.Mic;\r
+    SensorMts300P.MicRead -> MicC.Read;\r
+\r
+    SensorMts300P.MagControl -> MagC.StdControl;\r
+    SensorMts300P.Mag -> MagC.Mag;\r
+    SensorMts300P.MagXRead -> MagC.MagX;\r
+    SensorMts300P.MagYRead -> MagC.MagY;\r
+\r
+    SensorMts300P.AccelControl -> AccelC.StdControl;\r
+    SensorMts300P.AccelXRead -> AccelC.AccelX;\r
+    SensorMts300P.AccelYRead -> AccelC.AccelY;\r
+    \r
 }\r