CC1000RadioC.nc
上传用户:joranyuan
上传日期:2022-06-23
资源大小:3306k
文件大小:5k
源码类别:

网络

开发平台:

Others

  1. // $Id: CC1000RadioC.nc,v 1.2 2005/05/30 19:53:04 acwarrie Exp $
  2. /* tab:4
  3.  *
  4.  *
  5.  * "Copyright (c) 2000-2002 The Regents of the University  of California.  
  6.  * All rights reserved.
  7.  *
  8.  * Permission to use, copy, modify, and distribute this software and its
  9.  * documentation for any purpose, without fee, and without written agreement is
  10.  * hereby granted, provided that the above copyright notice, the following
  11.  * two paragraphs and the author appear in all copies of this software.
  12.  * 
  13.  * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR
  14.  * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT
  15.  * OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF
  16.  * CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  17.  * 
  18.  * THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
  19.  * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
  20.  * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
  21.  * ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO
  22.  * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS."
  23.  *
  24.  */
  25. /* tab:4
  26.  *  IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING.  By
  27.  *  downloading, copying, installing or using the software you agree to
  28.  *  this license.  If you do not agree to this license, do not download,
  29.  *  install, copy or use the software.
  30.  *
  31.  *  Intel Open Source License 
  32.  *
  33.  *  Copyright (c) 2002 Intel Corporation 
  34.  *  All rights reserved. 
  35.  *  Redistribution and use in source and binary forms, with or without
  36.  *  modification, are permitted provided that the following conditions are
  37.  *  met:
  38.  * 
  39.  * Redistributions of source code must retain the above copyright
  40.  *  notice, this list of conditions and the following disclaimer.
  41.  * Redistributions in binary form must reproduce the above copyright
  42.  *  notice, this list of conditions and the following disclaimer in the
  43.  *  documentation and/or other materials provided with the distribution.
  44.  *      Neither the name of the Intel Corporation nor the names of its
  45.  *  contributors may be used to endorse or promote products derived from
  46.  *  this software without specific prior written permission.
  47.  *  
  48.  *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  49.  *  ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  50.  *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
  51.  *  PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE INTEL OR ITS
  52.  *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
  53.  *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
  54.  *  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
  55.  *  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
  56.  *  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
  57.  *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
  58.  *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  59.  * 
  60.  * 
  61.  */
  62. /*
  63.  * Authors: Joe Polastre, Philip Buonadonna
  64.  * Date last modified: $Revision: 1.2 $
  65.  *
  66.  */
  67. /**
  68.  * @author Joe Polastre, Philip Buonadonna
  69.  */
  70. configuration CC1000RadioC
  71. {
  72.   provides {
  73.     interface StdControl;
  74.     interface BareSendMsg as Send;
  75.     interface ReceiveMsg as Receive;
  76.     interface CC1000Control;
  77.     interface RadioCoordinator as RadioReceiveCoordinator;
  78.     interface RadioCoordinator as RadioSendCoordinator;
  79.     interface MacControl;
  80.     interface MacBackoff;
  81.     interface LowPowerListening;
  82.   }
  83. }
  84. implementation
  85. {
  86.   components CC1000RadioIntM as CC1000RadioM, CC1000ControlM, HPLCC1000M, 
  87.     RandomLFSR, ADCC, HPLSpiM, TimerC, HPLPowerManagementM, NoLeds as LedsC,SClockC;
  88.   StdControl = CC1000RadioM;
  89.   Send = CC1000RadioM;
  90.   Receive = CC1000RadioM;
  91.   CC1000Control = CC1000ControlM;
  92.   RadioReceiveCoordinator = CC1000RadioM.RadioReceiveCoordinator;
  93.   RadioSendCoordinator = CC1000RadioM.RadioSendCoordinator;
  94.   MacControl = CC1000RadioM.MacControl;
  95.   MacBackoff = CC1000RadioM.MacBackoff;
  96.   LowPowerListening = CC1000RadioM.LowPowerListening;
  97.  
  98.   CC1000RadioM.CC1000StdControl -> CC1000ControlM;
  99.   CC1000RadioM.CC1000Control -> CC1000ControlM;
  100.   CC1000RadioM.Random -> RandomLFSR;
  101.   CC1000RadioM.ADCControl -> ADCC;
  102.   CC1000RadioM.RSSIADC -> ADCC.ADC[TOS_ADC_CC_RSSI_PORT];
  103.   CC1000RadioM.SpiByteFifo -> HPLSpiM;
  104.   CC1000RadioM.TimerControl -> TimerC.StdControl;
  105.   CC1000RadioM.SquelchTimer -> TimerC.Timer[unique("Timer")];
  106.   CC1000RadioM.WakeupTimer -> TimerC.Timer[unique("Timer")];
  107.   CC1000RadioM.TDMATimer -> TimerC.Timer[unique("Timer")];
  108.   CC1000RadioM.SClock -> SClockC;
  109.   
  110.   CC1000RadioM.Leds -> LedsC;
  111.   //  CC1000RadioM.SysTime->SysTimeC;
  112.  
  113.   CC1000ControlM.HPLChipcon -> HPLCC1000M;
  114.   CC1000RadioM.PowerManagement ->HPLPowerManagementM.PowerManagement;
  115.   HPLSpiM.PowerManagement ->HPLPowerManagementM.PowerManagement;
  116. }