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, 1, 1024) as Router;
+
+ components new CtpRoutingEngineP(TREE_ROUTING_TABLE_SIZE, 128, 512000) as Router;
+
StdControl = Router;
StdControl = Estimator;
RootControl = Router;
Router.BeaconSend -> Estimator.Send;
Router.BeaconReceive -> Estimator.Receive;
Router.LinkEstimator -> Estimator.LinkEstimator;
- Router.LinkSrcPacket -> Estimator.LinkSrcPacket;
+
+ Router.CompareBit -> Estimator.CompareBit;
+
Router.AMPacket -> ActiveMessageC;
Router.RadioControl -> ActiveMessageC;
Router.BeaconTimer -> RoutingBeaconTimer;
Router.CtpCongestion -> Forwarder;
CtpInfo = Router;
+
components new TimerMilliC() as RetxmitTimer;
Forwarder.RetxmitTimer -> RetxmitTimer;
- components new TimerMilliC() as CongestionTimer;
- Forwarder.CongestionTimer -> CongestionTimer;
-
components RandomC;
Router.Random -> RandomC;
Forwarder.Random -> RandomC;
LinkEstimator = Estimator;
+ Estimator.Random -> RandomC;
+
Estimator.AMSend -> SendControl;
Estimator.SubReceive -> ReceiveControl;
Estimator.SubPacket -> SendControl;
Estimator.SubAMPacket -> SendControl;
+
+#if defined(PLATFORM_TELOSB) || defined(PLATFORM_MICAZ)
+#ifndef TOSSIM
+ components CC2420ActiveMessageC as PlatformActiveMessageC;
+#else
+ components DummyActiveMessageP as PlatformActiveMessageC;
+#endif
+#elif defined (PLATFORM_MICA2) || defined (PLATFORM_MICA2DOT)
+ components CC1000ActiveMessageC as PlatformActiveMessageC;
+#elif defined(PLATFORM_EYESIFXV1) || defined(PLATFORM_EYESIFXV2)
+ components WhiteBitAccessorC as PlatformActiveMessageC;
+#else
+ components DummyActiveMessageP as PlatformActiveMessageC;
+#endif
+
+ Estimator.LinkPacketMetadata -> PlatformActiveMessageC;
+
+ // eventually
+ // Estimator.LinkPacketMetadata -> ActiveMessageC;
+
MainC.SoftwareInit -> Estimator;
}