]> oss.titaniummirror.com Git - tinyos-2.x.git/blobdiff - tos/lib/mac/tkn154/RadioClientC.nc
bugfix: radio token was not properly transferred when MLME_SCAN/_RX_ENABLE was called...
[tinyos-2.x.git] / tos / lib / mac / tkn154 / RadioClientC.nc
index 4412d21a79de89b43efd5df59f8fc0a86e7fc737..a9fd02cf81f144a4fe16d94eba9a9d00dd1303c1 100644 (file)
@@ -34,7 +34,7 @@
  */
 
 #include "TKN154_MAC.h"
-generic configuration RadioClientC() 
+generic configuration RadioClientC(uint8_t clientID
 {
   provides
   {
@@ -43,38 +43,19 @@ generic configuration RadioClientC()
     interface RadioTx;
     interface SlottedCsmaCa;
     interface UnslottedCsmaCa;
-    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 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];
-  SlottedCsmaCa = RadioControlP.SlottedCsmaCa[CLIENT];
-  UnslottedCsmaCa = RadioControlP.UnslottedCsmaCa[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];
 }