* @author Jan Hauer <hauer@tkn.tu-berlin.de>
* ========================================================================
*/
+
#include "TKN154_MAC.h"
-generic configuration RadioClientC()
+generic configuration RadioClientC(uint8_t clientID)
{
provides
{
+ interface RadioOff;
interface RadioRx;
interface RadioTx;
- interface RadioOff;
- interface Resource as Token;
- interface ResourceRequested as TokenRequested;
- interface ResourceTransfer;
- interface ResourceTransferred;
- interface ResourceTransferConnector as TransferFrom;
- interface GetNow<bool> as IsResourceRequested;
- } uses {
- interface ResourceTransferConnector as TransferTo;
+ interface SlottedCsmaCa;
+ interface UnslottedCsmaCa;
+ interface TransferableResource as RadioToken;
+ interface ResourceRequested as RadioTokenRequested;
}
}
implementation
{
- enum {
- CLIENT = unique(IEEE802154_RADIO_RESOURCE),
- };
-
components RadioControlP;
- RadioRx = RadioControlP.RadioRx[CLIENT];
- RadioTx = RadioControlP.RadioTx[CLIENT];
- RadioOff = RadioControlP.RadioOff[CLIENT];
- Token = RadioControlP.Token[CLIENT];
- IsResourceRequested = RadioControlP.IsResourceRequested;
- TokenRequested = RadioControlP.TokenRequested[CLIENT];
-
- components new TransferClientP(CLIENT);
- ResourceTransfer = TransferClientP;
- ResourceTransferred = TransferClientP;
- TransferTo = TransferClientP;
- TransferFrom = TransferClientP;
- TransferClientP.ResourceTransferControl -> RadioControlP;
- TransferClientP.Leds -> RadioControlP;
+ RadioRx = RadioControlP.RadioRx[clientID];
+ RadioTx = RadioControlP.RadioTx[clientID];
+ RadioOff = RadioControlP.RadioOff[clientID];
+ SlottedCsmaCa = RadioControlP.SlottedCsmaCa[clientID];
+ UnslottedCsmaCa = RadioControlP.UnslottedCsmaCa[clientID];
+ RadioToken = RadioControlP.TransferableResource[clientID];
+ RadioTokenRequested = RadioControlP.ResourceRequested[clientID];
}