]> oss.titaniummirror.com Git - tinyos-2.x.git/blobdiff - tos/chips/rf2xx/rf212/RF212ActiveMessageC.nc
make traffic monitor optional
[tinyos-2.x.git] / tos / chips / rf2xx / rf212 / RF212ActiveMessageC.nc
index 18ffdf6a2535c389b1c2e21a13ff43a6356be47d..d6076abbf23f194107301e351af3d46316dea9c8 100644 (file)
@@ -32,6 +32,7 @@ configuration RF212ActiveMessageC
                interface AMSend[am_id_t id];
                interface Receive[am_id_t id];
                interface Receive as Snoop[am_id_t id];
+               interface SendNotifier[am_id_t id];
 
                interface Packet;
                interface AMPacket;
@@ -65,7 +66,8 @@ implementation
        RF212ActiveMessageP.IEEE154MessageLayer -> IEEE154MessageLayerC;
        RF212ActiveMessageP.RadioAlarm -> RadioAlarmC.RadioAlarm[unique("RadioAlarm")];
        RF212ActiveMessageP.PacketTimeStamp -> TimeStampingLayerC;
-       Packet = RF212ActiveMessageP;
+       RF212ActiveMessageP.ActiveMessagePacket -> ActiveMessageLayerC;
+       RF212ActiveMessageP.RF212Packet -> RF212DriverLayerC;
 
 // -------- Active Message
 
@@ -73,10 +75,13 @@ implementation
        ActiveMessageLayerC.Config -> RF212ActiveMessageP;
        ActiveMessageLayerC.SubSend -> LowpanNetworkLayerC;
        ActiveMessageLayerC.SubReceive -> LowpanNetworkLayerC;
+       ActiveMessageLayerC.SubPacket ->LowpanNetworkLayerC;
        AMSend = ActiveMessageLayerC;
+       Packet = ActiveMessageLayerC;
        Receive = ActiveMessageLayerC.Receive;
        Snoop = ActiveMessageLayerC.Snoop;
        AMPacket = ActiveMessageLayerC;
+       SendNotifier = ActiveMessageLayerC;
 
 // -------- Lowpan Network
 
@@ -84,15 +89,16 @@ implementation
        components new DummyLayerC() as LowpanNetworkLayerC;
 #else
        components LowpanNetworkLayerC;
-       LowpanNetworkLayerC.Config -> RF212ActiveMessageP;
 #endif
-       LowpanNetworkLayerC.SubSend -> UniqueLayerC;
+       LowpanNetworkLayerC.SubSend -> IEEE154MessageLayerC;
        LowpanNetworkLayerC.SubReceive -> LowPowerListeningLayerC;
+       LowpanNetworkLayerC.SubPacket -> IEEE154MessageLayerC;
 
-// -------- IEEE154 Packet
+// -------- IEEE154 Message
 
        components IEEE154MessageLayerC;
-       IEEE154MessageLayerC.Config -> RF212ActiveMessageP;
+       IEEE154MessageLayerC.SubPacket -> LowPowerListeningLayerC;
+       IEEE154MessageLayerC.SubSend -> UniqueLayerC;
 
 // -------- UniqueLayer Send part (wired twice)
 
@@ -103,6 +109,7 @@ implementation
 // -------- Low Power Listening 
 
 #ifdef LOW_POWER_LISTENING
+       #warning "*** USING LOW POWER LISTENING LAYER"
        components LowPowerListeningLayerC;
        LowPowerListeningLayerC.Config -> RF212ActiveMessageP;
        LowPowerListeningLayerC.PacketAcknowledgements -> SoftwareAckLayerC;
@@ -112,25 +119,26 @@ implementation
        LowPowerListeningLayerC.SubControl -> MessageBufferLayerC;
        LowPowerListeningLayerC.SubSend -> PacketLinkLayerC;
        LowPowerListeningLayerC.SubReceive -> MessageBufferLayerC;
+       LowPowerListeningLayerC.SubPacket -> PacketLinkLayerC;
        SplitControl = LowPowerListeningLayerC;
        LowPowerListening = LowPowerListeningLayerC;
 
 // -------- Packet Link
 
 #ifdef PACKET_LINK
+       #warning "*** USING PACKET LINK LAYER"
        components PacketLinkLayerC;
        PacketLink = PacketLinkLayerC;
-       PacketLinkLayerC.PacketLinkMetadata -> RF212ActiveMessageP;
        PacketLinkLayerC.PacketAcknowledgements -> SoftwareAckLayerC;
 #else
        components new DummyLayerC() as PacketLinkLayerC;
 #endif
        PacketLinkLayerC.SubSend -> MessageBufferLayerC;
+       PacketLinkLayerC.SubPacket -> TimeStampingLayerC;
 
 // -------- MessageBuffer
 
        components MessageBufferLayerC;
-       MessageBufferLayerC.Packet -> RF212ActiveMessageP;
        MessageBufferLayerC.RadioSend -> TrafficMonitorLayerC;
        MessageBufferLayerC.RadioReceive -> UniqueLayerC;
        MessageBufferLayerC.RadioState -> TrafficMonitorLayerC;
@@ -142,11 +150,15 @@ implementation
 
 // -------- Traffic Monitor
 
+#ifdef TRAFFIC_MONITOR
        components TrafficMonitorLayerC;
+#else
+       components new DummyLayerC() as TrafficMonitorLayerC;
+#endif
        TrafficMonitorLayerC.Config -> RF212ActiveMessageP;
-       TrafficMonitorLayerC.SubSend -> CollisionAvoidanceLayerC;
-       TrafficMonitorLayerC.SubReceive -> CollisionAvoidanceLayerC;
-       TrafficMonitorLayerC.SubState -> RF212DriverLayerC;
+       TrafficMonitorLayerC -> CollisionAvoidanceLayerC.RadioSend;
+       TrafficMonitorLayerC -> CollisionAvoidanceLayerC.RadioReceive;
+       TrafficMonitorLayerC -> RF212DriverLayerC.RadioState;
 
 // -------- CollisionAvoidance
 
@@ -174,27 +186,26 @@ implementation
        CsmaLayerC -> RF212DriverLayerC.RadioSend;
        CsmaLayerC -> RF212DriverLayerC.RadioCCA;
 
+// -------- TimeStamping
+
+       components TimeStampingLayerC;
+       TimeStampingLayerC.LocalTimeRadio -> RF212DriverLayerC;
+       TimeStampingLayerC.SubPacket -> MetadataFlagsLayerC;
+       PacketTimeStampRadio = TimeStampingLayerC;
+       PacketTimeStampMilli = TimeStampingLayerC;
+
+// -------- MetadataFlags
+
+       components MetadataFlagsLayerC;
+       MetadataFlagsLayerC.SubPacket -> RF212DriverLayerC;
+
 // -------- RF212 Driver
 
        components RF212DriverLayerC;
-       RF212DriverLayerC.PacketRF212Metadata -> RF212ActiveMessageP;
-       RF212DriverLayerC.RF212DriverConfig -> RF212ActiveMessageP;
+       RF212DriverLayerC.Config -> RF212ActiveMessageP;
        RF212DriverLayerC.PacketTimeStamp -> TimeStampingLayerC;
        PacketTransmitPower = RF212DriverLayerC.PacketTransmitPower;
        PacketLinkQuality = RF212DriverLayerC.PacketLinkQuality;
        PacketRSSI = RF212DriverLayerC.PacketRSSI;
        LocalTimeRadio = RF212DriverLayerC;
-
-// -------- MetadataFlags
-
-       components MetadataFlagsLayerC;
-       MetadataFlagsLayerC.PacketFlagsMetadata -> RF212ActiveMessageP;
-
-// -------- TimeStamping
-
-       components TimeStampingLayerC;
-       TimeStampingLayerC.LocalTimeRadio -> RF212DriverLayerC;
-       TimeStampingLayerC.PacketTimeStampMetadata -> RF212ActiveMessageP;
-       PacketTimeStampRadio = TimeStampingLayerC;
-       PacketTimeStampMilli = TimeStampingLayerC;
 }