X-Git-Url: https://oss.titaniummirror.com/gitweb/?p=tinyos-2.x.git;a=blobdiff_plain;f=tos%2Flib%2Fmac%2Ftkn154%2Fdummies%2FNoDeviceCfpP.nc;h=545c89ade8bb4235fdff3adedb2ff05aebccb3d0;hp=4cbc46899c272456afc97e91abd322c6f15983d6;hb=e9bfab607e051bae6afb47b44892ce37541d1b44;hpb=adf1de6c009d13b7b52e68535c63b28f59c97400 diff --git a/tos/lib/mac/tkn154/dummies/NoDeviceCfpP.nc b/tos/lib/mac/tkn154/dummies/NoDeviceCfpP.nc index 4cbc4689..545c89ad 100644 --- a/tos/lib/mac/tkn154/dummies/NoDeviceCfpP.nc +++ b/tos/lib/mac/tkn154/dummies/NoDeviceCfpP.nc @@ -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 as CapStartRefTime; - interface GetNow as CfpEnd; - interface GetNow as GtsField; - interface GetNow as SfSlotDuration; - interface GetNow as FinalCapSlot; + interface TransferableResource as RadioToken; interface Alarm as CfpSlotAlarm; interface Alarm 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() + } }