X-Git-Url: https://oss.titaniummirror.com/gitweb/?a=blobdiff_plain;f=tos%2Fchips%2Frf2xx%2Frf212%2FRF212ActiveMessageC.nc;h=65eba63c45f23477b4dd47fbb9d63f0c61ffc58d;hb=248036f967b45dd8f069bc1de84ee28489ad45ba;hp=d7b0f3aa5ec232a05b3c81715cc5d0322b7568ba;hpb=a651cc27b07fdde5e3e894d4ea3374cee451efcc;p=tinyos-2.x.git diff --git a/tos/chips/rf2xx/rf212/RF212ActiveMessageC.nc b/tos/chips/rf2xx/rf212/RF212ActiveMessageC.nc index d7b0f3aa..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; @@ -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; @@ -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.IEEE154Packet2 -> IEEE154Packet2C; - LowPowerListeningLayerC.PacketAcknowledgements -> RF212PacketC; -#endif + + PacketLinkLayerC.SubSend -> MessageBufferLayerC; MessageBufferLayerC.Packet -> RF212PacketC; MessageBufferLayerC.RadioSend -> TrafficMonitorLayerC;