X-Git-Url: https://oss.titaniummirror.com/gitweb/?a=blobdiff_plain;f=tos%2Fchips%2Frf2xx%2Frf212%2FRF212ActiveMessageC.nc;h=e75824e5c3981fb237a65f7603f9c024c8d9daf4;hb=9d7e3ad7a39e567bb854afe46e24f544618e34fa;hp=bd5fe3c01372fc4e7c7c35388a727326d7f18c90;hpb=fb06e38f2c4372980a983a3d79f584221d475a36;p=tinyos-2.x.git diff --git a/tos/chips/rf2xx/rf212/RF212ActiveMessageC.nc b/tos/chips/rf2xx/rf212/RF212ActiveMessageC.nc index bd5fe3c0..e75824e5 100644 --- a/tos/chips/rf2xx/rf212/RF212ActiveMessageC.nc +++ b/tos/chips/rf2xx/rf212/RF212ActiveMessageC.nc @@ -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; @@ -56,39 +57,47 @@ configuration RF212ActiveMessageC implementation { - components RF212ActiveMessageP, IEEE154PacketLayerC, RadioAlarmC; + components RF212ActiveMessageP, RadioAlarmC; #ifdef RADIO_DEBUG components AssertC; #endif - RF212ActiveMessageP.IEEE154PacketLayer -> IEEE154PacketLayerC; + RF212ActiveMessageP.IEEE154MessageLayer -> IEEE154MessageLayerC; RF212ActiveMessageP.RadioAlarm -> RadioAlarmC.RadioAlarm[unique("RadioAlarm")]; RF212ActiveMessageP.PacketTimeStamp -> TimeStampingLayerC; + RF212ActiveMessageP.ActiveMessagePacket -> ActiveMessageLayerC; + RF212ActiveMessageP.RF212Packet -> RF212DriverLayerC; - Packet = RF212ActiveMessageP; - -// -------- ActiveMessage +// -------- Active Message components ActiveMessageLayerC; ActiveMessageLayerC.Config -> RF212ActiveMessageP; - 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 -> RF212ActiveMessageP; - LowPowerListeningLayerC.IEEE154PacketLayer -> IEEE154PacketLayerC; + LowPowerListeningLayerC.Config -> RF212ActiveMessageP; 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 -> RF212ActiveMessageP; PacketLinkLayerC.PacketAcknowledgements -> SoftwareAckLayerC; #else components new DummyLayerC() as PacketLinkLayerC; #endif PacketLinkLayerC.SubSend -> MessageBufferLayerC; + PacketLinkLayerC.SubPacket -> TimeStampingLayerC; // -------- MessageBuffer components MessageBufferLayerC; - MessageBufferLayerC.Packet -> RF212ActiveMessageP; + MessageBufferLayerC.Packet -> ActiveMessageLayerC; MessageBufferLayerC.RadioSend -> TrafficMonitorLayerC; MessageBufferLayerC.RadioReceive -> UniqueLayerC; MessageBufferLayerC.RadioState -> TrafficMonitorLayerC; @@ -171,27 +180,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; }