X-Git-Url: https://oss.titaniummirror.com/gitweb/?a=blobdiff_plain;f=tos%2Fchips%2Frf2xx%2Frf212%2FRF212ActiveMessageC.nc;h=65eba63c45f23477b4dd47fbb9d63f0c61ffc58d;hb=248036f967b45dd8f069bc1de84ee28489ad45ba;hp=6a79f8534e6e4d95d856f10110e4271621451c55;hpb=a4f296e45b6dca5370f596e8be299f40253eb946;p=tinyos-2.x.git diff --git a/tos/chips/rf2xx/rf212/RF212ActiveMessageC.nc b/tos/chips/rf2xx/rf212/RF212ActiveMessageC.nc index 6a79f853..65eba63c 100644 --- a/tos/chips/rf2xx/rf212/RF212ActiveMessageC.nc +++ b/tos/chips/rf2xx/rf212/RF212ActiveMessageC.nc @@ -36,7 +36,14 @@ configuration RF212ActiveMessageC interface Packet; interface AMPacket; interface PacketAcknowledgements; + + // we provide a dummy LowPowerListening interface if LOW_POWER_LISTENING is not defined interface LowPowerListening; + +#ifdef PACKET_LINK + interface PacketLink; +#endif + interface RadioChannel; interface PacketField as PacketLinkQuality; @@ -50,13 +57,13 @@ configuration RF212ActiveMessageC implementation { - components RF212ActiveMessageP, RF212PacketC, IEEE154PacketC, RadioAlarmC; + components RF212ActiveMessageP, RF212PacketC, IEEE154Packet2C, RadioAlarmC; #ifdef RADIO_DEBUG components AssertC; #endif - RF212ActiveMessageP.IEEE154Packet -> IEEE154PacketC; + RF212ActiveMessageP.IEEE154Packet2 -> IEEE154Packet2C; RF212ActiveMessageP.Packet -> RF212PacketC; RF212ActiveMessageP.RadioAlarm -> RadioAlarmC.RadioAlarm[unique("RadioAlarm")]; @@ -77,19 +84,35 @@ implementation #else components IEEE154NetworkLayerC; #endif + #ifdef LOW_POWER_LISTENING components LowPowerListeningLayerC; + LowPowerListeningLayerC.PacketSleepInterval -> RF230PacketC; + LowPowerListeningLayerC.IEEE154Packet2 -> IEEE154Packet2C; + LowPowerListeningLayerC.PacketAcknowledgements -> RF230PacketC; #else components new DummyLayerC() as LowPowerListeningLayerC; #endif + +#ifdef PACKET_LINK + components PacketLinkLayerC; + PacketLink = PacketLinkLayerC; + PacketLinkLayerC.PacketData -> RF230PacketC; + PacketLinkLayerC.PacketAcknowledgements -> RF230PacketC; +#else + components new DummyLayerC() as PacketLinkLayerC; +#endif + components MessageBufferLayerC; components UniqueLayerC; components TrafficMonitorLayerC; + #ifdef SLOTTED_MAC components SlottedCollisionLayerC as CollisionAvoidanceLayerC; #else components RandomCollisionLayerC as CollisionAvoidanceLayerC; #endif + components SoftwareAckLayerC; components new DummyLayerC() as CsmaLayerC; components RF212DriverLayerC; @@ -100,7 +123,7 @@ implementation Snoop = ActiveMessageLayerC.Snoop; ActiveMessageLayerC.Config -> RF212ActiveMessageP; - ActiveMessageLayerC.AMPacket -> IEEE154PacketC; + ActiveMessageLayerC.AMPacket -> IEEE154Packet2C; ActiveMessageLayerC.SubSend -> IEEE154NetworkLayerC; ActiveMessageLayerC.SubReceive -> IEEE154NetworkLayerC; @@ -112,13 +135,10 @@ implementation UniqueLayerC.SubSend -> LowPowerListeningLayerC; LowPowerListeningLayerC.SubControl -> MessageBufferLayerC; - LowPowerListeningLayerC.SubSend -> MessageBufferLayerC; + LowPowerListeningLayerC.SubSend -> PacketLinkLayerC; LowPowerListeningLayerC.SubReceive -> MessageBufferLayerC; -#ifdef LOW_POWER_LISTENING - LowPowerListeningLayerC.PacketSleepInterval -> RF212PacketC; - LowPowerListeningLayerC.IEEE154Packet -> IEEE154PacketC; - LowPowerListeningLayerC.PacketAcknowledgements -> RF212PacketC; -#endif + + PacketLinkLayerC.SubSend -> MessageBufferLayerC; MessageBufferLayerC.Packet -> RF212PacketC; MessageBufferLayerC.RadioSend -> TrafficMonitorLayerC;