1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
/**
* TestNetworkLplC exercises the basic networking layers, collection and
* dissemination. The application samples DemoSensorC at a basic rate
* and sends packets up a collection tree. The rate is configurable
* through dissemination.
*
* See TEP118: Dissemination, TEP 119: Collection, and TEP 123: The
* Collection Tree Protocol for details.
*
* @author Philip Levis
* @version $Revision: 1.1 $ $Date: 2009-09-16 00:53:47 $
*/
#include "TestNetwork.h"
#include "Ctp.h"
configuration TestNetworkLplAppC {}
implementation {
components TestNetworkLplC, MainC, LedsC, ActiveMessageC;
components DisseminationC;
components new DisseminatorC(uint32_t, SAMPLE_RATE_KEY) as Object32C;
components CollectionC as Collector;
components new CollectionSenderC(CL_TEST);
components new TimerMilliC();
components new DemoSensorC();
components new SerialAMSenderC(CL_TEST);
components SerialActiveMessageC;
#ifndef NO_DEBUG
components new SerialAMSenderC(AM_COLLECTION_DEBUG) as UARTSender;
components UARTDebugSenderP as DebugSender;
#endif
components RandomC;
components new QueueC(message_t*, 12);
components new PoolC(message_t, 12);
TestNetworkLplC.Boot -> MainC;
TestNetworkLplC.RadioControl -> ActiveMessageC;
TestNetworkLplC.SerialControl -> SerialActiveMessageC;
TestNetworkLplC.RoutingControl -> Collector;
TestNetworkLplC.DisseminationControl -> DisseminationC;
TestNetworkLplC.Leds -> LedsC;
TestNetworkLplC.Timer -> TimerMilliC;
TestNetworkLplC.DisseminationPeriod -> Object32C;
TestNetworkLplC.Send -> CollectionSenderC;
TestNetworkLplC.ReadSensor -> DemoSensorC;
TestNetworkLplC.RootControl -> Collector;
TestNetworkLplC.Receive -> Collector.Receive[CL_TEST];
TestNetworkLplC.UARTSend -> SerialAMSenderC.AMSend;
TestNetworkLplC.CollectionPacket -> Collector;
TestNetworkLplC.CtpInfo -> Collector;
TestNetworkLplC.CtpCongestion -> Collector;
TestNetworkLplC.Random -> RandomC;
TestNetworkLplC.Pool -> PoolC;
TestNetworkLplC.Queue -> QueueC;
TestNetworkLplC.RadioPacket -> ActiveMessageC;
TestNetworkLplC.LowPowerListening -> ActiveMessageC;
#ifndef NO_DEBUG
components new PoolC(message_t, 10) as DebugMessagePool;
components new QueueC(message_t*, 10) as DebugSendQueue;
DebugSender.Boot -> MainC;
DebugSender.UARTSend -> UARTSender;
DebugSender.MessagePool -> DebugMessagePool;
DebugSender.SendQueue -> DebugSendQueue;
Collector.CollectionDebug -> DebugSender;
TestNetworkLplC.CollectionDebug -> DebugSender;
#endif
TestNetworkLplC.AMPacket -> ActiveMessageC;
}
|