]> oss.titaniummirror.com Git - tinyos-2.x.git/blobdiff - tos/lib/mac/tkn154/dummies/NoDeviceCfpP.nc
- re-designed the radio driver interfaces, restructured/improved the CC2420 radio...
[tinyos-2.x.git] / tos / lib / mac / tkn154 / dummies / NoDeviceCfpP.nc
index 0d672ce6bc0ac8c5b63f6e847811c70073e41297..9f6f87e63377c486075a2439cf085fbb6765f651 100644 (file)
@@ -51,18 +51,12 @@ module NoDeviceCfpP
     interface FrameTx as CfpTx;
     interface Purge;
   } uses {
-    interface Resource as Token;
     interface ResourceTransferred as TokenTransferred;
     interface ResourceRequested as TokenRequested;
     interface ResourceTransfer as TokenToBeaconSync;
-    interface GetNow<ieee154_reftime_t*> as CapStartRefTime; 
-    interface GetNow<bool> as IsSendingBeacons; 
-    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 Alarm<TSymbolIEEE802154,uint32_t> as CfpSlotAlarm;
     interface Alarm<TSymbolIEEE802154,uint32_t> as CfpEndAlarm;
+    interface SuperframeStructure as IncomingSF; 
     interface RadioTx;
     interface RadioRx;
     interface RadioOff;
@@ -92,14 +86,10 @@ implementation
 
   async event void TokenTransferred.transferred()
   { 
-    // the CFP has started, this component now owns the token. 
-    // because GTS is not implemented we release the token
-    // (or pass it back to BeaconSynchronizeP if 
-    // we are not transmitting beacons)
-    if (call IsSendingBeacons.getNow())
-      call Token.release();  
-    else
-      call TokenToBeaconSync.transfer();
+    // the CFP has started, this component now owns the token -  
+    // because GTS is not implemented we pass it back to the
+    // BeaconTransmitP component
+    call TokenToBeaconSync.transfer();
   }
 
   async event void CfpEndAlarm.fired() {}
@@ -108,19 +98,16 @@ implementation
 
   async event void RadioOff.offDone() {}
 
-  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 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()
   {
-    // someone requested access to the radio, you might
-    // consider releasing it...
+    // someone (e.g. SCAN component) requested access to the radio, we 
+    // should pass the token back to BeaconSynchronizeP, which can release it
+    // call TokenToBeaconSync.transfer();
   }
 
   async event void TokenRequested.immediateRequested(){ }
-  event void Token.granted(){ }
 }