[Tinyos-2-commits] CVS: tinyos-2.x/tos/sensorboards/mts300 MicReadP.nc, NONE, 1.1 MicReadStreamP.nc, NONE, 1.1 MicSetting.nc, NONE, 1.1 MicStreamC.nc, NONE, 1.1

Pi Peng pipeng at users.sourceforge.net
Tue Mar 13 22:41:54 PDT 2007


Update of /cvsroot/tinyos/tinyos-2.x/tos/sensorboards/mts300
In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv21177

Added Files:
	MicReadP.nc MicReadStreamP.nc MicSetting.nc MicStreamC.nc 
Log Message:
Change to follow TEP 109.



--- NEW FILE: MicReadP.nc ---
configuration MicReadP
{
  provides 
  {
    interface Read<uint16_t>[uint8_t client];
  }
  uses
  {
    interface Read<uint16_t> as ActualRead[uint8_t client];
  }
}
implementation
{
  components MicDeviceP,
  new ArbitratedReadC(uint16_t);

  Read = ArbitratedReadC;
  ArbitratedReadC.Resource -> MicDeviceP;
  ArbitratedReadC.Service = ActualRead;
}


--- NEW FILE: MicReadStreamP.nc ---
configuration MicReadStreamP
{
  provides 
  {
    interface MicSetting;
    interface ReadStream<uint16_t>[uint8_t client];
  }
  uses
  {
    interface ReadStream<uint16_t> as ActualRead[uint8_t client];
  }
}
implementation
{
  enum {
    NMIC_CLIENTS = uniqueCount(UQ_MIC_RESOURCE)
  };
  components MicDeviceP,
  new ArbitratedReadStreamC(NMIC_CLIENTS, uint16_t);

  MicSetting = MicDeviceP;

  ReadStream = ArbitratedReadStreamC;
  ArbitratedReadStreamC.Resource -> MicDeviceP;
  ArbitratedReadStreamC.Service = ActualRead;
}


--- NEW FILE: MicSetting.nc ---
// $Id: MicSetting.nc,v 1.1 2007/03/14 05:41:52 pipeng Exp $

/*									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 MicSetting {
  /* 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();
  /* 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();
}

--- NEW FILE: MicStreamC.nc ---
/**
 *  Copyright (c) 2005-2006 Crossbow Technology, Inc.
 *  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 (updated) modification history and the author appear in
 *  all copies of this source code.
 *
 *  Permission is also granted to distribute this software under the
 *  standard BSD license as contained in the TinyOS distribution.
 *
 *  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 HOLDERS OR CONTRIBUTORS
 *  BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, LOSS OF USE, DATA,
 *  OR PROFITS) 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.
 */
 /*
 *  @author Hu Siquan <husq at xbow.com>
 *
 *  $Id: MicStreamC.nc,v 1.1 2007/03/14 05:41:52 pipeng Exp $
 */

#include "mts300.h"

generic configuration MicStreamC() {
  provides interface ReadStream<uint16_t>;
  provides interface MicSetting;
}
implementation {
  enum {
    ID = unique(UQ_MIC_RESOURCE)
  };
  components MicReadStreamP, MicDeviceP, new AdcReadStreamClientC();

  ReadStream = MicReadStreamP.ReadStream[ID];
  MicReadStreamP.ActualRead[ID] -> AdcReadStreamClientC;
  AdcReadStreamClientC.Atm128AdcConfig -> MicDeviceP.Atm128AdcConfig;
  MicSetting = MicReadStreamP;
}



More information about the Tinyos-2-commits mailing list