[Tinyos-2-commits] CVS: tinyos-2.x/tos/platforms/mica2/chips/ds2401 CachedIeeeEui64C.nc, NONE, 1.1 LocalIeeeEui64C.nc, NONE, 1.1

Janos Sallai sallai at users.sourceforge.net
Fri Oct 31 10:04:05 PDT 2008


Update of /cvsroot/tinyos/tinyos-2.x/tos/platforms/mica2/chips/ds2401
In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv13331

Added Files:
	CachedIeeeEui64C.nc LocalIeeeEui64C.nc 
Log Message:
mica2 (also micaz and iris) specific wirings for the ds2401

--- NEW FILE: CachedIeeeEui64C.nc ---
// $Id: CachedIeeeEui64C.nc,v 1.1 2008/10/31 17:04:03 sallai Exp $
/*
 * Copyright (c) 2007, Vanderbilt University
 * 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 VANDERBILT UNIVERSITY 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 VANDERBILT
 * UNIVERSITY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 * THE VANDERBILT UNIVERSITY 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 VANDERBILT UNIVERSITY HAS NO OBLIGATION TO
 * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
 *
 * Author: Janos Sallai
 */

/**
 * Cache an EUI 64 at initialization time and return the cached value for
 * subsequent queries.
 */
configuration CachedIeeeEui64C {
  uses interface LocalIeeeEui64 as SubIeeeEui64;
  provides interface LocalIeeeEui64;
} implementation {
  components CachedIeeeEui64P, MotePlatformC;

  MotePlatformC.SubInit -> CachedIeeeEui64P.Init;

  SubIeeeEui64 = CachedIeeeEui64P;
  LocalIeeeEui64 = CachedIeeeEui64P;

}

--- NEW FILE: LocalIeeeEui64C.nc ---
// $Id: LocalIeeeEui64C.nc,v 1.1 2008/10/31 17:04:03 sallai Exp $
/*
 * Copyright (c) 2007, Vanderbilt University
 * 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 VANDERBILT UNIVERSITY 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 VANDERBILT
 * UNIVERSITY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 * THE VANDERBILT UNIVERSITY 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 VANDERBILT UNIVERSITY HAS NO OBLIGATION TO
 * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
 *
 * Author: Janos Sallai
 */

/**
 * Mica2-specific wiring to access the DS2401 hardware ID chip through the
 * LocalIeeeEui64 interface. The CachedIeeeEui64C component reads the ID
 * during hardware initialization, caches it, and returns the cached value at
 * subsequent calls to LocalIeeeEui64.getId().
 */
configuration LocalIeeeEui64C {
  provides interface LocalIeeeEui64;
} implementation {
  components
    OneWireMasterC as OneWireC,
    HplDs2401C,
    BusyWaitMicroC,
    HplAtm128GeneralIOC,
    Ds2401ToIeeeEui64C,
    CachedIeeeEui64C;

  OneWireC.Pin -> HplAtm128GeneralIOC.PortA4;
  OneWireC.BusyWaitMicro -> BusyWaitMicroC.BusyWait;
  HplDs2401C.OneWire -> OneWireC;
  Ds2401ToIeeeEui64C.Hpl -> HplDs2401C;
  CachedIeeeEui64C.SubIeeeEui64 -> Ds2401ToIeeeEui64C;
  LocalIeeeEui64 = CachedIeeeEui64C;
}



More information about the Tinyos-2-commits mailing list