]> oss.titaniummirror.com Git - tinyos-2.x.git/commitdiff
Remove some old files .
authorpipeng <pipeng>
Wed, 14 Mar 2007 07:26:16 +0000 (07:26 +0000)
committerpipeng <pipeng>
Wed, 14 Mar 2007 07:26:16 +0000 (07:26 +0000)
tos/sensorboards/mts300/.sensor [deleted file]
tos/sensorboards/mts300/AccelC.nc [deleted file]
tos/sensorboards/mts300/MagC.nc [deleted file]
tos/sensorboards/mts300/Mic.nc [deleted file]
tos/sensorboards/mts300/MicInterrupt.nc [deleted file]
tos/sensorboards/mts300/PhotoTempDeviceP.nc [deleted file]
tos/sensorboards/mts300/SensorMts300P.nc [deleted file]

diff --git a/tos/sensorboards/mts300/.sensor b/tos/sensorboards/mts300/.sensor
deleted file mode 100644 (file)
index 191bed2..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-# FILE: mts300/.sensor
-# 
-# Includes that should take precedence come first.  Sensorboard "superclasses"
-# come before because they may override files.  These must be specified as
-# @includes instead of -I's to @opts, otherwise the %T won't be processed
-# by ncc.  And because of that, the current sensorboard's include directory
-# must be specified, otherwise its search order is last instead of first.
-#
-# $Id$
-#
-push( @includes, qw(
-  %T/sensorboards/mts300_me
-  %T/chips/atm128/i2c
-#  %T/chips/atm128/adc
-) );
diff --git a/tos/sensorboards/mts300/AccelC.nc b/tos/sensorboards/mts300/AccelC.nc
deleted file mode 100644 (file)
index 00102ab..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-// $Id$\r
-\r
-/*                                                                     tab:4\r
- * "Copyright (c) 2000-2003 The Regents of the University  of California.\r
- * All rights reserved.\r
- *\r
- * Permission to use, copy, modify, and distribute this software and its\r
- * documentation for any purpose, without fee, and without written agreement is\r
- * hereby granted, provided that the above copyright notice, the following\r
- * two paragraphs and the author appear in all copies of this software.\r
- *\r
- * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR\r
- * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT\r
- * OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF\r
- * CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
- *\r
- * THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,\r
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY\r
- * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS\r
- * ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO\r
- * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS."\r
- *\r
- * Copyright (c) 2002-2003 Intel Corporation\r
- * All rights reserved.\r
- *\r
- * This file is distributed under the terms in the attached INTEL-LICENSE\r
- * file. If you do not find these files, copies can be found by writing to\r
- * Intel Research Berkeley, 2150 Shattuck Avenue, Suite 1300, Berkeley, CA,\r
- * 94704.  Attention:  Intel License Inquiry.\r
- */\r
-#include "mts300.h"\r
-\r
-generic configuration AccelC ()\r
-{\r
-  provides interface Init;\r
-  provides interface StdControl;\r
-  provides interface Read<uint16_t> as AccelX;\r
-  provides interface Read<uint16_t> as AccelY;\r
-}\r
-implementation\r
-{\r
-  components AccelConfigP,\r
-    new AdcReadClientC() as AdcX,\r
-    new AdcReadClientC() as AdcY;\r
-\r
-  Init = AccelConfigP;\r
-       StdControl = AccelConfigP;\r
-\r
-  AccelX = AdcX;\r
-  AdcX.Atm128AdcConfig -> AccelConfigP.ConfigX;\r
-  AdcX.ResourceConfigure -> AccelConfigP.ResourceX;\r
-\r
-  AccelY = AdcY;\r
-  AdcY.Atm128AdcConfig -> AccelConfigP.ConfigY;\r
-  AdcY.ResourceConfigure -> AccelConfigP.ResourceY;\r
-}\r
-\r
diff --git a/tos/sensorboards/mts300/MagC.nc b/tos/sensorboards/mts300/MagC.nc
deleted file mode 100644 (file)
index 0945d43..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-// $Id$\r
-\r
-/*                                                                     tab:4\r
- * "Copyright (c) 2000-2003 The Regents of the University  of California.\r
- * All rights reserved.\r
- *\r
- * Permission to use, copy, modify, and distribute this software and its\r
- * documentation for any purpose, without fee, and without written agreement is\r
- * hereby granted, provided that the above copyright notice, the following\r
- * two paragraphs and the author appear in all copies of this software.\r
- *\r
- * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR\r
- * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT\r
- * OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF\r
- * CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
- *\r
- * THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,\r
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY\r
- * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS\r
- * ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO\r
- * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS."\r
- *\r
- * Copyright (c) 2002-2003 Intel Corporation\r
- * All rights reserved.\r
- *\r
- * This file is distributed under the terms in the attached INTEL-LICENSE\r
- * file. If you do not find these files, copies can be found by writing to\r
- * Intel Research Berkeley, 2150 Shattuck Avenue, Suite 1300, Berkeley, CA,\r
- * 94704.  Attention:  Intel License Inquiry.\r
- */\r
-#include "mts300.h"\r
-\r
-generic configuration MagC ()\r
-{\r
-  provides interface Init;\r
-  provides interface StdControl;\r
-  provides interface Read<uint16_t> as MagX;\r
-  provides interface Read<uint16_t> as MagY;\r
-  provides interface Mag;\r
-}\r
-implementation\r
-{\r
-  components MagConfigP,\r
-    new AdcReadClientC() as AdcX,\r
-    new AdcReadClientC() as AdcY;\r
-\r
-  Init = MagConfigP;\r
-       StdControl = MagConfigP;\r
-  Mag = MagConfigP;\r
-\r
-  MagX = AdcX;\r
-  AdcX.Atm128AdcConfig -> MagConfigP.ConfigX;\r
-  AdcX.ResourceConfigure -> MagConfigP.ResourceX;\r
-\r
-  MagY = AdcY;\r
-  AdcY.Atm128AdcConfig -> MagConfigP.ConfigY;\r
-  AdcY.ResourceConfigure -> MagConfigP.ResourceY;\r
-}\r
-\r
diff --git a/tos/sensorboards/mts300/Mic.nc b/tos/sensorboards/mts300/Mic.nc
deleted file mode 100644 (file)
index 8c68a64..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-// $Id$
-
-/*                                                                     tab:4
- * "Copyright (c) 2000-2003 The Regents of the University  of California.  
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation for any purpose, without fee, and without written agreement is
- * hereby granted, provided that the above copyright notice, the following
- * two paragraphs and the author appear in all copies of this software.
- * 
- * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR
- * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT
- * OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF
- * CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- * 
- * THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO
- * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS."
- *
- * Copyright (c) 2002-2003 Intel Corporation
- * All rights reserved.
- *
- * This file is distributed under the terms in the attached INTEL-LICENSE     
- * file. If you do not find these files, copies can be found by writing to
- * Intel Research Berkeley, 2150 Shattuck Avenue, Suite 1300, Berkeley, CA, 
- * 94704.  Attention:  Intel License Inquiry.
- */
-
-/*
- * Authors:            Alec Woo
- * Date last modified:  8/20/02
- * 
- * The microphone on the mica sensor board has two methods for control and
- * one method to read the binary output of the tone detector.  (Note:  The tone
- * detector's binary output can be configured as an interrupt.  Please see MicInterrupt.ti)
- *
- * muxSel allows users to switch the ADC to sample from phase lock loop output of
- * the tone detector (by setting the value to 0 (default))  or the raw voice-band output 
- * of the micrphone (by setting the value to 1).
- *
- * gainAdjust allows users to adjust the amplification gain on the microphone. The range
- * is 0 to 255 with 0 being the minmum and 255 being the maximum amplification.  Note that
- * setting amplification too high can result in clipping (signal distortion).
- *
- * If an audio signal at 4.3kHz is picked up by the microphone, the tone
- * detect will decode it and generate a binary ouput (0 meaning tone is detected, 1 meaning
- * tone is not detected).  Users can read this output simply by calling readToneDetector().
- *
- */
-
-/**
- * @author Alec Woo
- */
-
-interface Mic {
-  /* Effect:  Set the multiplexer's setting on the microphone
-   * Return:  returns SUCCESS or FAIL
-   */
-  command error_t muxSel(uint8_t sel);
-  /* Effect:  Set the amplificatoin gain  on the microphone
-   * Return:  returns SUCCESS or FAIL
-   */
-  command error_t gainAdjust(uint8_t val);
-
-  /* Effect:  returns the binary tone detector's output
-   * Return:  0 meaning tone is detected, 1 meanning tone is not detected
-   */
-  command uint8_t readToneDetector();
-}
diff --git a/tos/sensorboards/mts300/MicInterrupt.nc b/tos/sensorboards/mts300/MicInterrupt.nc
deleted file mode 100644 (file)
index 780f70c..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-// $Id$
-
-/*                                                                     tab:4
- * "Copyright (c) 2000-2003 The Regents of the University  of California.  
- * All rights reserved.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation for any purpose, without fee, and without written agreement is
- * hereby granted, provided that the above copyright notice, the following
- * two paragraphs and the author appear in all copies of this software.
- * 
- * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR
- * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT
- * OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF
- * CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- * 
- * THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO
- * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS."
- *
- * Copyright (c) 2002-2003 Intel Corporation
- * All rights reserved.
- *
- * This file is distributed under the terms in the attached INTEL-LICENSE     
- * file. If you do not find these files, copies can be found by writing to
- * Intel Research Berkeley, 2150 Shattuck Avenue, Suite 1300, Berkeley, CA, 
- * 94704.  Attention:  Intel License Inquiry.
- */
-/*
- * Authors:            Alec Woo
- * Date last modified:  8/20/02
- * 
- * The microphone on the mica sensor board has the tone detector interrupt.
- * If an audio signal at 4.3kHz is picked up by the microphone, the tone
- * detect will decode it and generate a toneDetected interrupt if the
- * interrupt is enabled.
- *
- */
-
-/**
- * @author Alec Woo
- */
-
-
-
-interface MicInterrupt
-{
-  /* Effects: disable interrupts
-     Returns: SUCCESS
-  */
-  async command error_t disable();
-
-  /* Effects: enable interrupts
-     Returns: SUCCESS
-  */
-  async command error_t enable();
-
-  /* Interrupt signal for tone detected.  Note that MicInterrupt is automatically disabled
-   * before this event is signaled.  (Upper layer needs to reenable this interrupt for future
-   * tone detect.
-   *
-   *  Returns: SUCCESS
-   */
-  async event error_t toneDetected();
-}
diff --git a/tos/sensorboards/mts300/PhotoTempDeviceP.nc b/tos/sensorboards/mts300/PhotoTempDeviceP.nc
deleted file mode 100644 (file)
index 9678df5..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-/* $Id$
- * Copyright (c) 2006 Intel Corporation
- * All rights reserved.
- *
- * This file is distributed under the terms in the attached INTEL-LICENSE     
- * file. If you do not find these files, copies can be found by writing to
- * Intel Research Berkeley, 2150 Shattuck Avenue, Suite 1300, Berkeley, CA, 
- * 94704.  Attention:  Intel License Inquiry.
- */
-/**
- * Internal component for basicsb photodiode. Arbitrates access to the photo
- * diode and automatically turns it on or off based on user requests.
- * 
- * @author David Gay
- */
-
-#include "mts300.h"
-
-configuration PhotoTempDeviceP 
-{
-  provides 
-  {
-    interface Init;
-    interface StdControl;
-    interface ResourceConfigure as PhotoResourceConfigure;
-    interface Atm128AdcConfig as PhotoAtm128AdcConfig;
-    interface ResourceConfigure as TempResourceConfigure;
-    interface Atm128AdcConfig as TempAtm128AdcConfig;    
-  }
-}
-implementation 
-{
-  components PhotoTempP, MicaBusC, HplAtm128GeneralIOC as Pins;
-//  components new FcfsArbiterC(MTS3X0_PHOTO_TEMP) as Arbiter;  
-  components LedsC, NoLedsC;
-  
-  Init = PhotoTempP;
-  StdControl = PhotoTempP;
-
-  PhotoResourceConfigure = PhotoTempP.PhotoResourceConfigure;
-  PhotoAtm128AdcConfig   = PhotoTempP.PhotoAtm128AdcConfig;
-
-  TempResourceConfigure  = PhotoTempP.TempResourceConfigure;
-  TempAtm128AdcConfig    = PhotoTempP.TempAtm128AdcConfig;
-
-  PhotoTempP.LightPower  -> Pins.PortE5;
-  PhotoTempP.TempPower   -> Pins.PortE6;
-  PhotoTempP.SensorAdc -> MicaBusC.Adc1;
-  
-  DEBUG_LEDS(PhotoTempP);
-}
diff --git a/tos/sensorboards/mts300/SensorMts300P.nc b/tos/sensorboards/mts300/SensorMts300P.nc
deleted file mode 100644 (file)
index 82a90bd..0000000
+++ /dev/null
@@ -1,449 +0,0 @@
-/**\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
- *  documentation for any purpose, without fee, and without written\r
- *  agreement is hereby granted, provided that the above copyright\r
- *  notice, the (updated) modification history and the author appear in\r
- *  all copies of this source code.\r
- *\r
- *  Permission is also granted to distribute this software under the\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
- *  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
- *  THE POSSIBILITY OF SUCH DAMAGE.\r
- *\r
- *  @author Martin Turon <mturon@xbow.com>\r
- *\r
- *  $Id$\r
- */\r
-\r
-#include "Timer.h"\r
-\r
-/**\r
- * This component is the "platform" of the sensorboard space.\r
- * It handles particulars of initialization, and glues all the\r
- * member sensor "chips" into one place.  The current implementation\r
- * is overly monolithic, and should be divided into smaller\r
- * components that handle each individual sensor.  The temperature\r
- * and light sensors are tightly coupled however and in the case\r
- * of the micaz, interfere with the radio (INT2), so more can\r
- * be done to clean up the design here.\r
- *\r
- * @author  Martin Turon\r
- * @date    October 19, 2005\r
- */\r
-module SensorMts300P\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
-  uses\r
-  {\r
-       interface GeneralIO as TempPower;\r
-       interface GeneralIO as LightPower;\r
-       interface StdControl as PhotoControl;\r
-       interface StdControl as MicControl;\r
-       interface Mic;\r
-    interface StdControl as MagControl;\r
-    interface Mag;\r
-    interface StdControl as AccelControl;\r
-\r
-    interface Read<uint16_t> as VrefRead;\r
-       interface Read<uint16_t> as TempRead;  //!< Thermister\r
-       interface Read<uint16_t> as LightRead; //!< Photo sensor\r
-       interface Read<uint16_t> as MicRead; //!< Mic sensor\r
-       interface Read<uint16_t> as AccelXRead; //!< Magnetometer sensor\r
-       interface Read<uint16_t> as AccelYRead; //!< Magnetometer sensor\r
-       interface Read<uint16_t> as MagXRead; //!< Magnetometer sensor\r
-       interface Read<uint16_t> as MagYRead; //!< Magnetometer sensor\r
-       interface Timer<TMilli> as WarmUpTimer;\r
-  }\r
-}\r
-implementation\r
-{\r
-  enum\r
-  {\r
-       STATE_IDLE = 0,\r
-       STATE_LIGHT_WARMING,   //!< Powering on sensor\r
-       STATE_LIGHT_READY,     //!< Power up of sensor complete\r
-       STATE_LIGHT_SAMPLING,  //!< Sampling sensor\r
-       STATE_TEMP_WARMING,    //!< Powering on sensor\r
-       STATE_TEMP_READY,      //!< Power up of sensor complete\r
-       STATE_TEMP_SAMPLING,   //!< Sampling sensor\r
-       STATE_MIC_WARMING,    //!< Powering on sensor\r
-       STATE_MIC_READY,      //!< Power up of sensor complete\r
-       STATE_MIC_SAMPLING,   //!< Sampling sensor\r
-  };\r
-\r
-    /// Yes, this could be a simple uint8_t.  There used to be more bits here,\r
-    /// but they were optimized out and removed.\r
-  union\r
-  {\r
-       uint8_t flat;\r
-         struct\r
-         {\r
-           uint8_t state       : 4;   //!< sensorboard state\r
-         } bits;\r
-   } g_flags;\r
-\r
-   /**\r
-    * Initialize this component. Initialization should not assume that\r
-    * any component is running: init() cannot call any commands besides\r
-    * those that initialize other components.\r
-    *\r
-    */\r
-    command error_t Init.init()\r
-    {\r
-           g_flags.flat = STATE_IDLE;\r
-      call Mic.muxSel(1);  // Set the mux so that raw microhpone output is selected\r
-      call Mic.gainAdjust(64);  // Set the gain of the microphone.\r
-\r
-           return SUCCESS;\r
-    }\r
-\r
-    /**\r
-     * Start the component and its subcomponents.\r
-     *\r
-     * @return SUCCESS if the component was successfully started.\r
-     */\r
-    command error_t StdControl.start()\r
-    {\r
-      call PhotoControl.start();\r
-      call MicControl.start();\r
-      call MagControl.start();\r
-      call AccelControl.start();\r
-      return SUCCESS;\r
-    }\r
-\r
-    /**\r
-     * Stop the component and pertinent subcomponents (not all\r
-     * subcomponents may be turned off due to wakeup timers, etc.).\r
-     *\r
-     * @return SUCCESS if the component was successfully stopped.\r
-     */\r
-    command error_t StdControl.stop()\r
-    {\r
-           call TempPower.clr();\r
-           call LightPower.clr();\r
-           call TempPower.makeInput();\r
-           call LightPower.makeInput();\r
-           atomic g_flags.bits.state = STATE_IDLE;\r
-\r
-      call PhotoControl.stop();\r
-      call MicControl.stop();\r
-      call MagControl.stop();\r
-      call AccelControl.stop();\r
-\r
-           return SUCCESS;\r
-    }\r
-\r
-    /** Turns on the light sensor and turns the thermistor off. */\r
-    void switchLightOn()\r
-    {\r
-       atomic g_flags.bits.state = STATE_LIGHT_WARMING;\r
-       call TempPower.clr();\r
-       call TempPower.makeInput();\r
-       call LightPower.makeOutput();\r
-       call LightPower.set();\r
-       call WarmUpTimer.startOneShot(10);\r
-    }\r
-\r
-    /** Turns on the thermistor and turns the light sensor off. */\r
-    void switchTempOn()\r
-    {\r
-       atomic g_flags.bits.state = STATE_TEMP_WARMING;\r
-       call LightPower.clr();\r
-       call LightPower.makeInput();\r
-       call TempPower.makeOutput();\r
-       call TempPower.set();\r
-       call WarmUpTimer.startOneShot(10);\r
-    }\r
-\r
-    void switchMicOn()\r
-    {\r
-      atomic g_flags.bits.state = STATE_MIC_WARMING;\r
-      call WarmUpTimer.startOneShot(10);\r
-    }\r
-\r
-    task void getLightSample()\r
-    {\r
-       switch (g_flags.bits.state)\r
-       {\r
-       case STATE_IDLE:\r
-               // Okay, grab the sensor.\r
-               switchLightOn();\r
-         return;\r
-       case STATE_LIGHT_READY:\r
-               // Start the sample.\r
-               atomic { g_flags.bits.state = STATE_LIGHT_SAMPLING; }\r
-               call LightRead.read();\r
-         return;\r
-       case STATE_LIGHT_WARMING:\r
-               // Warm-up Timer will switch out of this state.\r
-       case STATE_LIGHT_SAMPLING:\r
-               // LightRead.readDone will switch out of this state.\r
-         return;\r
-       }\r
-    }\r
-\r
-    task void getTempSample()\r
-    {\r
-       switch (g_flags.bits.state)\r
-       {\r
-       case STATE_IDLE:\r
-               // Okay, grab the sensor.\r
-               switchTempOn();\r
-               return;\r
-       case STATE_TEMP_READY:\r
-               // Start the sample.\r
-               atomic { g_flags.bits.state = STATE_TEMP_SAMPLING; }\r
-               call TempRead.read();\r
-               return;\r
-       case STATE_TEMP_WARMING:\r
-               // Warm-up Timer will switch out of this state.\r
-       case STATE_TEMP_SAMPLING:\r
-               // TempRead.readDone will switch out of this state.\r
-               return;\r
-       }\r
-    }\r
-\r
-    task void getMicSample()\r
-    {\r
-       switch (g_flags.bits.state)\r
-       {\r
-       case STATE_IDLE:\r
-               // Okay, grab the sensor.\r
-               switchMicOn();\r
-               return;\r
-       case STATE_MIC_READY:\r
-               // Start the sample.\r
-               atomic { g_flags.bits.state = STATE_MIC_SAMPLING; }\r
-               call MicRead.read();\r
-               return;\r
-       case STATE_MIC_WARMING:\r
-               // Warm-up Timer will switch out of this state.\r
-       case STATE_MIC_SAMPLING:\r
-               // MicRead.readDone will switch out of this state.\r
-               return;\r
-       }\r
-    }\r
-\r
-    /**\r
-     * Start Temperature data acquisition.\r
-     *\r
-     *   This will post a task which will handle sequential states:\r
-     *      WARMING, READY, SAMPLING, DONE (IDLE)\r
-     *   and repost itself until it is completed.\r
-     *\r
-     * @return SUCCESS if request accepted, EBUSY if it is refused\r
-     *    'dataReady' or 'error' will be signaled if SUCCESS is returned\r
-     */\r
-    command error_t Temp.read()\r
-    {\r
-       post getTempSample();\r
-       return SUCCESS;\r
-    }\r
-    command error_t Light.read()\r
-    {\r
-       post getLightSample();\r
-       return SUCCESS;\r
-    }\r
-    command error_t Microphone.read()\r
-    {\r
-       post getMicSample();\r
-       return SUCCESS;\r
-    }\r
-    command error_t Vref.read()\r
-    {\r
-       call VrefRead.read();\r
-       return SUCCESS;\r
-    }\r
-    command error_t AccelX.read()\r
-    {\r
-       //signal AccelX.readDone(SUCCESS,0x1);\r
-       call AccelXRead.read();\r
-       return SUCCESS;\r
-    }\r
-    command error_t AccelY.read()\r
-    {\r
-       //signal AccelY.readDone(SUCCESS,0x2);\r
-       call AccelYRead.read();\r
-       return SUCCESS;\r
-    }\r
-    command error_t MagX.read()\r
-    {\r
-       //signal MagX.readDone(SUCCESS,0x3);\r
-       call MagXRead.read();\r
-       return SUCCESS;\r
-    }\r
-    command error_t MagY.read()\r
-    {\r
-       //signal MagY.readDone(SUCCESS,0x4);\r
-       call MagYRead.read();\r
-       return SUCCESS;\r
-    }\r
-    /**\r
-     * Timer to allow either thermistor or light sensor to warm up for 10 msec.\r
-     */\r
-    event void WarmUpTimer.fired()\r
-    {\r
-       switch (g_flags.bits.state)\r
-       {\r
-           case STATE_LIGHT_WARMING:\r
-               atomic { g_flags.bits.state = STATE_LIGHT_READY; }\r
-               post getLightSample();\r
-               return;\r
-\r
-           case STATE_TEMP_WARMING:\r
-               atomic { g_flags.bits.state = STATE_TEMP_READY; }\r
-               post getTempSample();\r
-               return;\r
-\r
-           case STATE_MIC_WARMING:\r
-               atomic { g_flags.bits.state = STATE_MIC_READY; }\r
-               post getMicSample();\r
-               return;\r
-\r
-           default:\r
-               //ERROR!!!\r
-               signal Light.readDone(FAIL,0);\r
-               signal Temp.readDone(FAIL,0);\r
-               signal Microphone.readDone(FAIL,0);\r
-      }\r
-       // Worst case -- return to the IDLE state so next task can progress !!\r
-       atomic { g_flags.bits.state = STATE_IDLE; }\r
-    }\r
-\r
-    /**\r
-     * Data has been acquired.\r
-     * @param result Acquired success flag\r
-     * @param val Acquired value\r
-     */\r
-    event void LightRead.readDone( error_t result, uint16_t val )\r
-    {\r
-      //val = (val >>6);\r
-      val &= 0x3ff;\r
-           switch (g_flags.bits.state)\r
-           {\r
-           case STATE_LIGHT_SAMPLING:\r
-                   signal Light.readDone(result,val);\r
-                   break;\r
-           default: //ERROR!!!\r
-               signal Light.readDone(FAIL,0);\r
-      }\r
-           // state must return to IDLE state so next task can progress !!\r
-           atomic { g_flags.bits.state = STATE_IDLE; }\r
-    }\r
-\r
-    event void TempRead.readDone( error_t result, uint16_t val )\r
-    {\r
-      //val = (val >>6);\r
-      val &= 0x3ff;\r
-           switch (g_flags.bits.state)\r
-           {\r
-           case STATE_TEMP_SAMPLING:\r
-                   signal Temp.readDone(result,val);\r
-                   break;\r
-           default: //ERROR!!!\r
-               signal Temp.readDone(FAIL,0);\r
-      }\r
-           // state must return to IDLE state so next task can progress !!\r
-           atomic { g_flags.bits.state = STATE_IDLE; }\r
-    }\r
-\r
-    event void MicRead.readDone( error_t result, uint16_t val )\r
-    {\r
-      //val = (val >>6);\r
-      val &= 0x3ff;\r
-           switch (g_flags.bits.state)\r
-           {\r
-           case STATE_MIC_SAMPLING:\r
-                   signal Microphone.readDone(result,val);\r
-                   break;\r
-           default: //ERROR!!!\r
-               signal Microphone.readDone(FAIL,0);\r
-      }\r
-           // state must return to IDLE state so next task can progress !!\r
-           atomic { g_flags.bits.state = STATE_IDLE; }\r
-        }\r
-\r
-    event void VrefRead.readDone( error_t result, uint16_t val )\r
-    {\r
-      //val = (val >>6);\r
-      val &= 0x3ff;\r
-                 signal Vref.readDone(result,val);\r
-           // state must return to IDLE state so next task can progress !!\r
-           atomic { g_flags.bits.state = STATE_IDLE; }\r
-        }\r
-\r
-    event void AccelXRead.readDone( error_t result, uint16_t val )\r
-    {\r
-      //val = (val >>6);\r
-      val &= 0x3ff;\r
-                 signal AccelX.readDone(result,val);\r
-           // state must return to IDLE state so next task can progress !!\r
-           atomic { g_flags.bits.state = STATE_IDLE; }\r
-         }\r
-\r
-    event void AccelYRead.readDone( error_t result, uint16_t val )\r
-    {\r
-      //val = (val >>6);\r
-      val &= 0x3ff;\r
-                 signal AccelY.readDone(result,val);\r
-           // state must return to IDLE state so next task can progress !!\r
-           atomic { g_flags.bits.state = STATE_IDLE; }\r
-         }\r
-\r
-    event void MagXRead.readDone( error_t result, uint16_t val )\r
-    {\r
-      //val = (val >>6);\r
-      val &= 0x3ff;\r
-                 signal MagX.readDone(result,val);\r
-           // state must return to IDLE state so next task can progress !!\r
-           atomic { g_flags.bits.state = STATE_IDLE; }\r
-        }\r
-\r
-   event void MagYRead.readDone( error_t result, uint16_t val )\r
-   {\r
-     //val = (val >>6);\r
-     val &= 0x3ff;\r
-                signal MagY.readDone(result,val);\r
-          // state must return to IDLE state so next task can progress !!\r
-          atomic { g_flags.bits.state = STATE_IDLE; }\r
-        }\r
-\r
-   event error_t Mag.gainAdjustXDone(bool result)\r
-   {\r
-     return result;\r
-   }\r
-   event error_t Mag.gainAdjustYDone(bool result)\r
-   {\r
-     return result;\r
-   }\r
-}\r
-\r
-\r
-\r
-\r
-\r