[Tinyos-2-commits] CVS: tinyos-2.x/tos/platforms/eyesIFX/sensors RssiSensorVccP.nc, NONE, 1.1.2.1 RssiSensorVccC.nc, 1.1.2.1, 1.1.2.2

Philipp Huppertz phihup at users.sourceforge.net
Thu Aug 3 11:17:54 PDT 2006


Update of /cvsroot/tinyos/tinyos-2.x/tos/platforms/eyesIFX/sensors
In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv26539/tos/platforms/eyesIFX/sensors

Modified Files:
      Tag: tinyos-2_0_devel-BRANCH
	RssiSensorVccC.nc 
Added Files:
      Tag: tinyos-2_0_devel-BRANCH
	RssiSensorVccP.nc 
Log Message:
- updated eyes platform to use usart configure
- a few bug fixes

--- NEW FILE: RssiSensorVccP.nc ---
/* -*- mode:c++ -*-
 * Copyright (c) 2004, Technische Universitaet Berlin
 * 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 Technische Universitaet Berlin 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 COPYRIGHT 
 * OWNER OR 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.
 *
 * - Revision -------------------------------------------------------------
 * $Revision: 1.1.2.1 $
 * $Date: 2006/08/03 18:17:52 $
 * @author: Jan Hauer <hauer at tkn.tu-berlin.de>
 * ========================================================================
 */

/** 
 *
 * Please refer to TEP 109 for more information about this component and its
 * intended use. This component provides platform-independent access to the
 * RSSI sensor exported by the TDA5250 radio on the eyesIFXv{1,2} platform.
 * Note: The radio must be configured to output the RSSI on the pin!
 *
 * @author Jan Hauer
 */

#include <sensors.h>

module RssiSensorVccP
{
    provides {
        interface ReadNow<uint16_t> as ReadNow;
        interface Resource as ReadNowResource;
    }
    uses {
        interface Resource as SubResource;
        interface Msp430Adc12FastSingleChannel as FastChannel;
    }
}
implementation
{
    async command error_t ReadNow.read() {
        return call FastChannel.getSingleData();
    }
    
    async event error_t FastChannel.singleDataReady(uint16_t data) {
        signal ReadNow.readDone(SUCCESS, data);
        return SUCCESS;
    }

    async command error_t ReadNowResource.request() {
        return call SubResource.request();
    }
    
    async command error_t ReadNowResource.immediateRequest() {
        error_t res = call SubResource.immediateRequest();
        if(res == SUCCESS) {
            res = call FastChannel.configure(&sensorconfigurations[RSSI_SENSOR_VCC]);
            if(res != SUCCESS) call SubResource.release();
        }
        return res;
    }

    event void SubResource.granted() {
        call FastChannel.configure(&sensorconfigurations[RSSI_SENSOR_VCC]);
        signal ReadNowResource.granted();
    }

    async command void ReadNowResource.release() {
        call SubResource.release();
    }
    
    async command bool ReadNowResource.isOwner() {
        return call SubResource.isOwner();
    }
}

Index: RssiSensorVccC.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/tos/platforms/eyesIFX/sensors/RssiSensorVccC.nc,v
retrieving revision 1.1.2.1
retrieving revision 1.1.2.2
diff -C2 -d -r1.1.2.1 -r1.1.2.2
*** RssiSensorVccC.nc	31 May 2006 13:53:03 -0000	1.1.2.1
--- RssiSensorVccC.nc	3 Aug 2006 18:17:52 -0000	1.1.2.2
***************
*** 45,52 ****
  
  #include <sensors.h>
! generic configuration RssiSensorVccC()
  {
      provides {
-         interface Read<uint16_t> as Read;
          interface ReadNow<uint16_t> as ReadNow;
          interface Resource as ReadNowResource;
--- 45,51 ----
  
  #include <sensors.h>
! configuration RssiSensorVccC
  {
      provides {
          interface ReadNow<uint16_t> as ReadNow;
          interface Resource as ReadNowResource;
***************
*** 56,67 ****
  {
      components SensorSettingsC as Settings;
!              
!     components new AdcReadClientC() as AdcReadClient;
!     Read = AdcReadClient;
!     AdcReadClient.Msp430Adc12Config -> Settings.Msp430Adc12Config[RSSI_SENSOR_VCC];
!   
!     components new AdcReadNowClientC() as AdcReadNowClient;
!     ReadNow = AdcReadNowClient;
!     ReadNowResource = AdcReadNowClient;
!     AdcReadNowClient.Msp430Adc12Config -> Settings.Msp430Adc12Config[RSSI_SENSOR_VCC];
  }
--- 55,64 ----
  {
      components SensorSettingsC as Settings;
!     components RssiSensorVccP as RssiSensor;
!     components new Msp430Adc12FastClientC() as AdcReadNowClient;
!     
!     ReadNow = RssiSensor;
!     ReadNowResource = RssiSensor;
!     RssiSensor.SubResource -> AdcReadNowClient;
!     RssiSensor.FastChannel -> AdcReadNowClient;
  }



More information about the Tinyos-2-commits mailing list