X-Git-Url: https://oss.titaniummirror.com/gitweb/?a=blobdiff_plain;f=tos%2Fchips%2Frf2xx%2Frf230%2FRF230ActiveMessageC.nc;h=deb5412be333991420203e67ba98db8efe0224d8;hb=54538a754044acac23adbda11567f0e774ea1b80;hp=b11d0e2378b230f3a04256ad42170c5af5f79575;hpb=fb06e38f2c4372980a983a3d79f584221d475a36;p=tinyos-2.x.git diff --git a/tos/chips/rf2xx/rf230/RF230ActiveMessageC.nc b/tos/chips/rf2xx/rf230/RF230ActiveMessageC.nc index b11d0e23..deb5412b 100644 --- a/tos/chips/rf2xx/rf230/RF230ActiveMessageC.nc +++ b/tos/chips/rf2xx/rf230/RF230ActiveMessageC.nc @@ -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,48 @@ 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 -> IEEE154MessageLayerC; + LowpanNetworkLayerC.SubReceive -> LowPowerListeningLayerC; + LowpanNetworkLayerC.SubPacket -> IEEE154MessageLayerC; + +// -------- IEEE154 Message + + components IEEE154MessageLayerC; + IEEE154MessageLayerC.SubPacket -> LowPowerListeningLayerC; + IEEE154MessageLayerC.SubSend -> UniqueLayerC; // -------- UniqueLayer Send part (wired twice) @@ -99,9 +109,9 @@ implementation // -------- Low Power Listening #ifdef LOW_POWER_LISTENING + #warning "*** USING LOW POWER LISTENING LAYER" components LowPowerListeningLayerC; - LowPowerListeningLayerC.PacketLplMetadata -> RF230ActiveMessageP; - LowPowerListeningLayerC.IEEE154PacketLayer -> IEEE154PacketLayerC; + LowPowerListeningLayerC.Config -> RF230ActiveMessageP; LowPowerListeningLayerC.PacketAcknowledgements -> SoftwareAckLayerC; #else components LowPowerListeningDummyC as LowPowerListeningLayerC; @@ -109,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 -> RF230ActiveMessageP; PacketLinkLayerC.PacketAcknowledgements -> SoftwareAckLayerC; #else components new DummyLayerC() as PacketLinkLayerC; #endif PacketLinkLayerC.SubSend -> MessageBufferLayerC; + PacketLinkLayerC.SubPacket -> TimeStampingLayerC; // -------- MessageBuffer components MessageBufferLayerC; - MessageBufferLayerC.Packet -> RF230ActiveMessageP; MessageBufferLayerC.RadioSend -> TrafficMonitorLayerC; MessageBufferLayerC.RadioReceive -> UniqueLayerC; MessageBufferLayerC.RadioState -> TrafficMonitorLayerC; @@ -171,27 +182,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; }