[Tinyos-2-commits] CVS: tinyos-2.x/tos/lib/net/ctp
CollectionSenderC.nc, 1.1.2.3, 1.1.2.4 CollectionSenderP.nc,
1.1.2.3, 1.1.2.4 CtpP.nc, NONE, 1.1.2.1 Collection.h, 1.1.2.2,
1.1.2.3 CollectionC.nc, 1.1.2.1, 1.1.2.2 CtpC.nc, 1.1.2.2, NONE
Phil Levis
scipio at users.sourceforge.net
Wed Sep 6 10:39:30 PDT 2006
Update of /cvsroot/tinyos/tinyos-2.x/tos/lib/net/ctp
In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv25848/ctp
Modified Files:
Tag: tinyos-2_0_devel-BRANCH
Collection.h CollectionC.nc
Added Files:
Tag: tinyos-2_0_devel-BRANCH
CollectionSenderC.nc CollectionSenderP.nc CtpP.nc
Removed Files:
Tag: tinyos-2_0_devel-BRANCH
CtpC.nc
Log Message:
Fixed CTP so that it now compiles (don't know if it works).
--- NEW FILE: CtpP.nc ---
/*
* "Copyright (c) 2005 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) 2006 Stanford University.
* 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 Stanford University 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 STANFORD
* UNIVERSITY OR ITS 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.
*/
#include "Ctp.h"
/**
* A data collection service that uses a tree routing protocol
* to deliver data to collection roots, following TEP 119.
*
* @author Rodrigo Fonseca
* @author Omprakash Gnawali
* @author Kyle Jamieson
* @author Philip Levis
*/
configuration CtpP {
provides {
interface StdControl;
interface Send[uint8_t client];
interface Receive[collection_id_t id];
interface Receive as Snoop[collection_id_t];
interface Intercept[collection_id_t id];
interface Packet;
interface CollectionPacket;
interface CtpPacket;
interface CtpInfo;
interface RootControl;
}
uses {
interface CollectionId[uint8_t client];
interface CollectionDebug;
}
}
implementation {
enum {
CLIENT_COUNT = uniqueCount(UQ_CTP_CLIENT),
FORWARD_COUNT = 5,
TREE_ROUTING_TABLE_SIZE = 10,
QUEUE_SIZE = CLIENT_COUNT + FORWARD_COUNT,
CACHE_SIZE = 4,
};
components ActiveMessageC;
components new CtpForwardingEngineP() as Forwarder;
components MainC, LedsC;
Send = Forwarder;
StdControl = Forwarder;
Receive = Forwarder.Receive;
Snoop = Forwarder.Snoop;
Intercept = Forwarder;
Packet = Forwarder;
CollectionId = Forwarder;
CollectionPacket = Forwarder;
CtpPacket = Forwarder;
components new PoolC(message_t, FORWARD_COUNT) as MessagePoolP;
components new PoolC(fe_queue_entry_t, FORWARD_COUNT) as QEntryPoolP;
Forwarder.QEntryPool -> QEntryPoolP;
Forwarder.MessagePool -> MessagePoolP;
components new QueueC(fe_queue_entry_t*, QUEUE_SIZE) as SendQueueP;
Forwarder.SendQueue -> SendQueueP;
components new LruIntCacheC(uint32_t, CACHE_SIZE) as SentCacheP;
Forwarder.SentCache -> SentCacheP;
components new TimerMilliC() as RoutingBeaconTimer;
components LinkEstimatorP as Estimator;
components new AMSenderC(AM_CTP_DATA);
components new AMReceiverC(AM_CTP_DATA);
components new AMSnooperC(AM_CTP_DATA);
components new CtpRoutingEngineP(TREE_ROUTING_TABLE_SIZE) as Router;
StdControl = Router;
StdControl = Estimator;
RootControl = Router;
MainC.SoftwareInit -> Router;
Router.BeaconSend -> Estimator.Send;
Router.BeaconReceive -> Estimator.Receive;
Router.LinkEstimator -> Estimator.LinkEstimator;
Router.LinkSrcPacket -> Estimator.LinkSrcPacket;
Router.AMPacket -> ActiveMessageC;
Router.RadioControl -> ActiveMessageC;
Router.BeaconTimer -> RoutingBeaconTimer;
Router.CollectionDebug = CollectionDebug;
Forwarder.CollectionDebug = CollectionDebug;
Forwarder.CtpInfo -> Router;
CtpInfo = Router;
components new TimerMilliC() as RetxmitTimer;
Forwarder.RetxmitTimer -> RetxmitTimer;
components RandomC;
Router.Random -> RandomC;
Forwarder.Random -> RandomC;
MainC.SoftwareInit -> Forwarder;
Forwarder.SubSend -> AMSenderC;
Forwarder.SubReceive -> AMReceiverC;
Forwarder.SubSnoop -> AMSnooperC;
Forwarder.SubPacket -> AMSenderC;
Forwarder.RootControl -> Router;
Forwarder.UnicastNameFreeRouting -> Router.Routing;
Forwarder.RadioControl -> ActiveMessageC;
Forwarder.PacketAcknowledgements -> AMSenderC.Acks;
Forwarder.AMPacket -> AMSenderC;
Forwarder.Leds -> LedsC;
components new AMSenderC(AM_CTP_ROUTING) as SendControl;
components new AMReceiverC(AM_CTP_ROUTING) as ReceiveControl;
components new AMSenderC(AM_LINKEST) as SendLinkEst;
components new AMReceiverC(AM_LINKEST) as ReceiveLinkEst;
components new TimerMilliC() as EstimatorTimer;
Estimator.AMSend -> SendControl;
Estimator.SubReceive -> ReceiveControl;
Estimator.AMSendLinkEst -> SendLinkEst;
Estimator.ReceiveLinkEst -> ReceiveLinkEst;
Estimator.SubPacket -> SendControl;
Estimator.SubAMPacket -> SendControl;
Estimator.Timer -> EstimatorTimer;
MainC.SoftwareInit -> Estimator;
}
Index: Collection.h
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/tos/lib/net/ctp/Attic/Collection.h,v
retrieving revision 1.1.2.2
retrieving revision 1.1.2.3
diff -C2 -d -r1.1.2.2 -r1.1.2.3
*** Collection.h 29 Aug 2006 17:24:40 -0000 1.1.2.2
--- Collection.h 6 Sep 2006 17:39:27 -0000 1.1.2.3
***************
*** 38,42 ****
typedef nx_uint8_t nx_collection_id_t;
- #define UQ_COLLECTION_ID "CollectionSenderC.CollectId"
-
#endif
--- 38,40 ----
Index: CollectionC.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/tos/lib/net/ctp/Attic/CollectionC.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
*** CollectionC.nc 25 Aug 2006 00:41:28 -0000 1.1.2.1
--- CollectionC.nc 6 Sep 2006 17:39:27 -0000 1.1.2.2
***************
*** 66,86 ****
implementation {
! components CtpC;
! StdControl = CtpC;
! Send = CtpC;
! Receive = CtpC.Receive;
! Snoop = CtpC.Snoop;
! Intercept = CtpC;
! Packet = CtpC;
! CollectionPacket = CtpC;
! CtpPacket = CtpC;
! CtpInfo = CtpC;
! RootControl = CtpC;
! CollectionId = CtpC;
! CollectionDebug = CtpC;
}
--- 66,86 ----
implementation {
! components CtpP;
! StdControl = CtpP;
! Send = CtpP;
! Receive = CtpP.Receive;
! Snoop = CtpP.Snoop;
! Intercept = CtpP;
! Packet = CtpP;
! CollectionPacket = CtpP;
! CtpPacket = CtpP;
! CtpInfo = CtpP;
! RootControl = CtpP;
! CollectionId = CtpP;
! CollectionDebug = CtpP;
}
--- CtpC.nc DELETED ---
More information about the Tinyos-2-commits
mailing list