-/* tab:4
+/*
* "Copyright (c) 2005 Stanford University. All rights reserved.
*
* Permission to use, copy, modify, and distribute this software and
*/
#include "CC2420.h"
+#include "AM.h"
configuration CC2420ActiveMessageC {
provides {
interface Packet;
interface CC2420Packet;
interface PacketAcknowledgements;
+ interface LinkPacketMetadata;
interface RadioBackoff[am_id_t amId];
interface LowPowerListening;
interface PacketLink;
+ interface SendNotifier[am_id_t amId];
}
}
implementation {
components CC2420ActiveMessageP as AM;
components CC2420CsmaC as CsmaC;
- components ActiveMessageAddressC as Address;
+ components ActiveMessageAddressC;
components UniqueSendC;
components UniqueReceiveC;
components CC2420TinyosNetworkC;
components CC2420PacketC;
+ components CC2420ControlC;
#if defined(LOW_POWER_LISTENING) || defined(ACK_LOW_POWER_LISTENING)
- components CC2420AckLplC as LplC;
-#elif defined(NOACK_LOW_POWER_LISTENING)
- components CC2420NoAckLplC as LplC;
+ components DefaultLplC as LplC;
#else
- components CC2420LplDummyC as LplC;
+ components DummyLplC as LplC;
#endif
#if defined(PACKET_LINK)
#endif
- RadioBackoff = CsmaC;
- Packet = AM;
- AMSend = AM;
- Receive = AM.Receive;
- Snoop = AM.Snoop;
+ RadioBackoff = AM;
+ Packet = AM;
+ AMSend = AM;
+ SendNotifier = AM;
+ Receive = AM.Receive;
+ Snoop = AM.Snoop;
AMPacket = AM;
PacketLink = LinkC;
LowPowerListening = LplC;
CC2420Packet = CC2420PacketC;
PacketAcknowledgements = CC2420PacketC;
-
+ LinkPacketMetadata = CC2420PacketC;
// SplitControl Layers
SplitControl = LplC;
UniqueReceiveC.SubReceive -> CC2420TinyosNetworkC.Receive;
CC2420TinyosNetworkC.SubReceive -> CsmaC;
- AM.amAddress -> Address;
+ AM.ActiveMessageAddress -> ActiveMessageAddressC;
AM.CC2420Packet -> CC2420PacketC;
+ AM.CC2420PacketBody -> CC2420PacketC;
+ AM.CC2420Config -> CC2420ControlC;
+
+ AM.SubBackoff -> CsmaC;
}