[Tinyos-help] How to enableACK on tmote
Ole Bischoff
s01item2 at item.uni-bremen.de
Fri Nov 3 10:00:18 PST 2006
Hy Lee Ee Foong,
I never tried to read the ack element in my message before sending, but I successfully checked the
fcfhi element (after sending) from a received messages.
fcfhi is the high byte of the FrameControlField (IEEE 802.15.4), if this is equal to 0x21 your message
requests ACK.
You could make a check (on a receiving mote) like:
event TOS_MsgPtr ReceiveMsg.receive(TOS_MsgPtr _msg) {
if (_msg->fcfhi & (1 << CC2420_DEF_FCF_BIT_ACK)) // with ACK
call Leds.redToggle();
else // without ACK
call Leds.greenToggle();
}
The condition of the if statement (_msg->fcfhi & (1 << CC2420_DEF_FCF_BIT_ACK))
checks bit number 5 of fcfhi, because this indicates a requested ACK (2^5=32=0x20).
The following defines can be found in CC2420Const.h:
CC2420_DEF_FCF_BIT_ACK 0x05 // bitposition in fcfhi
CC2420_DEF_FCF_HI 0x01 // without ACK
CC2420_DEF_FCF_HI_ACK 0x21 // with ACK
Regards,
OLE
----- Original Message -----
From: Lee Ee Foong
To: Tinyos-help at Millennium.Berkeley.EDU
Sent: Friday, November 03, 2006 5:11 AM
Subject: [Tinyos-help] How to enableACK on tmote
I'm trying to test the ack in the sendDone( ) but the ack field always set to zero. I call MacControl.enableACK( ) in the StdControl.start( ). Is there something that I did wrong or missing?
I wired the components as following:
Main.StdControl -> CC2420RadioC;
MultiHopEngineM.MacControl -> CC2420RadioC;
command result_t StdControl.start()
{
call MacControl.enableAck();
return SUCCESS;
}
event result_t SendMsg.sendDone[uint8_t id](TOS_MsgPtr pMsg, result_t success)
{
dbg(DBG_TEMP, "ack is %d \n", pMsg->ack);
if (pMsg->ack == 1)
call Leds.redToggle();
else
call Leds.greenToggle();
return SUCCESS;
}
Thank you.
Andre
------------------------------------------------------------------------------
We have the perfect Group for you. Check out the handy changes to Yahoo! Groups.
------------------------------------------------------------------------------
_______________________________________________
Tinyos-help mailing list
Tinyos-help at Millennium.Berkeley.EDU
https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.millennium.berkeley.edu/pipermail/tinyos-help/attachments/20061103/35537d66/attachment.htm
More information about the Tinyos-help
mailing list