]> oss.titaniummirror.com Git - tinyos-2.x.git/blobdiff - tos/lib/mac/tkn154/dummies/NoDeviceCfpP.nc
Merge TinyOS 2.1.1 into master.
[tinyos-2.x.git] / tos / lib / mac / tkn154 / dummies / NoDeviceCfpP.nc
index 4cbc46899c272456afc97e91abd322c6f15983d6..545c89ade8bb4235fdff3adedb2ff05aebccb3d0 100644 (file)
@@ -51,16 +51,10 @@ module NoDeviceCfpP
     interface FrameTx as CfpTx;
     interface Purge;
   } uses {
-    interface Resource as Token;
-    interface ResourceTransferred as TokenTransferred;
-    interface ResourceRequested as TokenRequested;
-    interface GetNow<ieee154_reftime_t*> as CapStartRefTime; 
-    interface GetNow<uint32_t> as CfpEnd; 
-    interface GetNow<uint8_t*> as GtsField; 
-    interface GetNow<uint32_t> as SfSlotDuration; 
-    interface GetNow<uint8_t> as FinalCapSlot; 
+    interface TransferableResource as RadioToken;
     interface Alarm<TSymbolIEEE802154,uint32_t> as CfpSlotAlarm;
     interface Alarm<TSymbolIEEE802154,uint32_t> as CfpEndAlarm;
+    interface SuperframeStructure as IncomingSF; 
     interface RadioTx;
     interface RadioRx;
     interface RadioOff;
@@ -88,37 +82,29 @@ implementation
     return IEEE154_INVALID_HANDLE; 
   } 
 
-  event void TokenTransferred.transferred()
+  async event void RadioToken.transferredFrom(uint8_t fromClient)
   { 
     // the CFP has started, this component now owns the token -  
-    // because GTS is not implemented we release the token
-    // immediately; the general rule is: as long as a component
-    // owns the token it has exclusive access to the radio
-    call Token.release();
+    // because GTS is not implemented we pass it on
+#ifndef IEEE154_BEACON_TX_DISABLED
+    call RadioToken.transferTo(RADIO_CLIENT_BEACONTRANSMIT);
+#else
+    call RadioToken.transferTo(RADIO_CLIENT_BEACONSYNCHRONIZE);
+#endif
   }
 
-  async event void CfpEndAlarm.fired() { }
+  async event void CfpEndAlarm.fired() {}
 
   async event void CfpSlotAlarm.fired() {}
 
-  async event void RadioOff.offDone()
-  {
-    call Token.release();
-  }
-
-  async event void RadioTx.loadDone(){}
-  async event void RadioTx.transmitDone(ieee154_txframe_t *frame, 
-      ieee154_reftime_t *referenceTime, bool ackPendingFlag, error_t error){}
+  async event void RadioOff.offDone() {}
 
-  async event void RadioRx.prepareDone(){} 
-  event message_t* RadioRx.received(message_t *frame, ieee154_reftime_t *timestamp){return frame;}
+  async event void RadioTx.transmitDone(ieee154_txframe_t *frame, const ieee154_timestamp_t *timestamp, error_t result){}
+  async event void RadioRx.enableRxDone(){} 
+  event message_t* RadioRx.received(message_t *frame, const ieee154_timestamp_t *timestamp){return frame;} 
 
-  async event void TokenRequested.requested()
+  event void RadioToken.granted()
   {
-    // someone requested access to the radio, you might
-    // consider releasing it...
-  }
-
-  async event void TokenRequested.immediateRequested(){ }
-  event void Token.granted(){ }
+    ASSERT(0); // should never happen, because we never call RadioToken.request()
+  }   
 }