]> oss.titaniummirror.com Git - tinyos-2.x.git/blobdiff - tos/chips/rf2xx/rf230/RF230ActiveMessageC.nc
add the SendNotifier interface
[tinyos-2.x.git] / tos / chips / rf2xx / rf230 / RF230ActiveMessageC.nc
index b11d0e2378b230f3a04256ad42170c5af5f79575..4c9ab95d1ae200bc4ee9870487691c5bf16d36d4 100644 (file)
@@ -32,6 +32,7 @@ configuration RF230ActiveMessageC
                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;
@@ -56,39 +57,47 @@ configuration RF230ActiveMessageC
 
 implementation
 {
-       components RF230ActiveMessageP, IEEE154PacketLayerC, RadioAlarmC;
+       components RF230ActiveMessageP, RadioAlarmC;
 
 #ifdef RADIO_DEBUG
        components AssertC;
 #endif
 
-       RF230ActiveMessageP.IEEE154PacketLayer -> IEEE154PacketLayerC;
+       RF230ActiveMessageP.IEEE154MessageLayer -> IEEE154MessageLayerC;
        RF230ActiveMessageP.RadioAlarm -> RadioAlarmC.RadioAlarm[unique("RadioAlarm")];
        RF230ActiveMessageP.PacketTimeStamp -> TimeStampingLayerC;
+       RF230ActiveMessageP.ActiveMessagePacket -> ActiveMessageLayerC;
+       RF230ActiveMessageP.RF230Packet -> RF230DriverLayerC;
 
-       Packet = RF230ActiveMessageP;
-
-// -------- ActiveMessage
+// -------- Active Message
 
        components ActiveMessageLayerC;
        ActiveMessageLayerC.Config -> RF230ActiveMessageP;
-       ActiveMessageLayerC.AMPacket -> IEEE154PacketLayerC;
-       ActiveMessageLayerC.SubSend -> IEEE154NetworkLayerC;
-       ActiveMessageLayerC.SubReceive -> IEEE154NetworkLayerC;
+       ActiveMessageLayerC.SubSend -> LowpanNetworkLayerC;
+       ActiveMessageLayerC.SubReceive -> LowpanNetworkLayerC;
+       ActiveMessageLayerC.SubPacket ->LowpanNetworkLayerC;
        AMSend = ActiveMessageLayerC;
+       Packet = ActiveMessageLayerC;
        Receive = ActiveMessageLayerC.Receive;
        Snoop = ActiveMessageLayerC.Snoop;
-       AMPacket = IEEE154PacketLayerC;
+       AMPacket = ActiveMessageLayerC;
+       SendNotifier = ActiveMessageLayerC;
 
-// -------- IEEE154Network
+// -------- Lowpan Network
 
 #ifdef TFRAMES_ENABLED
-       components new DummyLayerC() as IEEE154NetworkLayerC;
+       components new DummyLayerC() as LowpanNetworkLayerC;
 #else
-       components IEEE154NetworkLayerC;
+       components LowpanNetworkLayerC;
 #endif
-       IEEE154NetworkLayerC.SubSend -> UniqueLayerC;
-       IEEE154NetworkLayerC.SubReceive -> LowPowerListeningLayerC;
+       LowpanNetworkLayerC.SubSend -> UniqueLayerC;
+       LowpanNetworkLayerC.SubReceive -> LowPowerListeningLayerC;
+       LowpanNetworkLayerC.SubPacket -> IEEE154MessageLayerC;
+
+// -------- IEEE154 Message
+
+       components IEEE154MessageLayerC;
+       IEEE154MessageLayerC.SubPacket -> LowPowerListeningLayerC;
 
 // -------- UniqueLayer Send part (wired twice)
 
@@ -100,8 +109,7 @@ implementation
 
 #ifdef LOW_POWER_LISTENING
        components LowPowerListeningLayerC;
-       LowPowerListeningLayerC.PacketLplMetadata -> RF230ActiveMessageP;
-       LowPowerListeningLayerC.IEEE154PacketLayer -> IEEE154PacketLayerC;
+       LowPowerListeningLayerC.Config -> RF230ActiveMessageP;
        LowPowerListeningLayerC.PacketAcknowledgements -> SoftwareAckLayerC;
 #else  
        components LowPowerListeningDummyC as LowPowerListeningLayerC;
@@ -109,6 +117,7 @@ implementation
        LowPowerListeningLayerC.SubControl -> MessageBufferLayerC;
        LowPowerListeningLayerC.SubSend -> PacketLinkLayerC;
        LowPowerListeningLayerC.SubReceive -> MessageBufferLayerC;
+       LowPowerListeningLayerC.SubPacket -> PacketLinkLayerC;
        SplitControl = LowPowerListeningLayerC;
        LowPowerListening = LowPowerListeningLayerC;
 
@@ -117,17 +126,17 @@ implementation
 #ifdef PACKET_LINK
        components PacketLinkLayerC;
        PacketLink = PacketLinkLayerC;
-       PacketLinkLayerC.PacketLinkMetadata -> RF230ActiveMessageP;
        PacketLinkLayerC.PacketAcknowledgements -> SoftwareAckLayerC;
 #else
        components new DummyLayerC() as PacketLinkLayerC;
 #endif
        PacketLinkLayerC.SubSend -> MessageBufferLayerC;
+       PacketLinkLayerC.SubPacket -> TimeStampingLayerC;
 
 // -------- MessageBuffer
 
        components MessageBufferLayerC;
-       MessageBufferLayerC.Packet -> RF230ActiveMessageP;
+       MessageBufferLayerC.Packet -> ActiveMessageLayerC;
        MessageBufferLayerC.RadioSend -> TrafficMonitorLayerC;
        MessageBufferLayerC.RadioReceive -> UniqueLayerC;
        MessageBufferLayerC.RadioState -> TrafficMonitorLayerC;
@@ -171,27 +180,26 @@ implementation
        CsmaLayerC -> RF230DriverLayerC.RadioSend;
        CsmaLayerC -> RF230DriverLayerC.RadioCCA;
 
+// -------- TimeStamping
+
+       components TimeStampingLayerC;
+       TimeStampingLayerC.LocalTimeRadio -> RF230DriverLayerC;
+       TimeStampingLayerC.SubPacket -> MetadataFlagsLayerC;
+       PacketTimeStampRadio = TimeStampingLayerC;
+       PacketTimeStampMilli = TimeStampingLayerC;
+
+// -------- MetadataFlags
+
+       components MetadataFlagsLayerC;
+       MetadataFlagsLayerC.SubPacket -> RF230DriverLayerC;
+
 // -------- RF230 Driver
 
        components RF230DriverLayerC;
-       RF230DriverLayerC.PacketRF230Metadata -> RF230ActiveMessageP;
-       RF230DriverLayerC.RF230DriverConfig -> RF230ActiveMessageP;
+       RF230DriverLayerC.Config -> RF230ActiveMessageP;
        RF230DriverLayerC.PacketTimeStamp -> TimeStampingLayerC;
        PacketTransmitPower = RF230DriverLayerC.PacketTransmitPower;
        PacketLinkQuality = RF230DriverLayerC.PacketLinkQuality;
        PacketRSSI = RF230DriverLayerC.PacketRSSI;
        LocalTimeRadio = RF230DriverLayerC;
-
-// -------- MetadataFlags
-
-       components MetadataFlagsLayerC;
-       MetadataFlagsLayerC.PacketFlagsMetadata -> RF230ActiveMessageP;
-
-// -------- TimeStamping
-
-       components TimeStampingLayerC;
-       TimeStampingLayerC.LocalTimeRadio -> RF230DriverLayerC;
-       TimeStampingLayerC.PacketTimeStampMetadata -> RF230ActiveMessageP;
-       PacketTimeStampRadio = TimeStampingLayerC;
-       PacketTimeStampMilli = TimeStampingLayerC;
 }