]> oss.titaniummirror.com Git - tinyos-2.x.git/blobdiff - apps/tests/TestNetwork/TestNetworkAppC.nc
Merge devel code into the trunk.
[tinyos-2.x.git] / apps / tests / TestNetwork / TestNetworkAppC.nc
diff --git a/apps/tests/TestNetwork/TestNetworkAppC.nc b/apps/tests/TestNetwork/TestNetworkAppC.nc
new file mode 100644 (file)
index 0000000..fabad2c
--- /dev/null
@@ -0,0 +1,52 @@
+/**
+ * TestNetworkC 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 and TEP 119: Collection for details.
+ * 
+ * @author Philip Levis
+ * @version $Revision$ $Date$
+ */
+#include "TestNetwork.h"
+#include "Collection.h"
+
+configuration TestNetworkAppC {}
+implementation {
+  components TestNetworkC, MainC, LedsC, ActiveMessageC;
+  components new DisseminatorC(uint16_t, SAMPLE_RATE_KEY) as Object16C;
+  components new CollectionSenderC(CL_TEST);
+  components TreeCollectionC as Collector;
+  components new TimerMilliC();
+  components new DemoSensorC();
+  components new SerialAMSenderC(CL_TEST);
+  components SerialActiveMessageC;
+  components new SerialAMSenderC(AM_COLLECTION_DEBUG) as UARTSender;
+  components UARTDebugSenderP as DebugSender;
+  components RandomC;
+
+  TestNetworkC.Boot -> MainC;
+  TestNetworkC.RadioControl -> ActiveMessageC;
+  TestNetworkC.SerialControl -> SerialActiveMessageC;
+  TestNetworkC.RoutingControl -> Collector;
+  TestNetworkC.Leds -> LedsC;
+  TestNetworkC.Timer -> TimerMilliC;
+  TestNetworkC.DisseminationPeriod -> Object16C;
+  TestNetworkC.Send -> CollectionSenderC;
+  TestNetworkC.ReadSensor -> DemoSensorC;
+  TestNetworkC.RootControl -> Collector;
+  TestNetworkC.Receive -> Collector.Receive[CL_TEST];
+  TestNetworkC.UARTSend -> SerialAMSenderC.AMSend;
+  TestNetworkC.CollectionPacket -> Collector;
+  TestNetworkC.TreeRoutingInspect -> Collector;
+  TestNetworkC.Random -> RandomC;
+
+  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;
+}