Hi,
I'm working on the imote2 motes using cygwin (on windows 7). I want to add
changes to the Mac layer; I want to use the Ack packet to transfer some
informations.I disabled the AutoAck using the command noAck(). And now I'm
using my own Ack.But I still have some difficulties in understanding
CC2420ReceiveP;
if(call CC2420Config.isAutoAckEnabled() && !call
CC2420Config.isHwAutoAckDefault()) { if (((( header->fcf >>
IEEE154_FCF_ACK_REQ ) & 0x01) == 1) && ((header->dest == call
CC2420Config.getShortAddr()) || (header->dest ==
AM_BROADCAST_ADDR)) && ((( header->fcf >> IEEE154_FCF_FRAME_TYPE ) &
7) == IEEE154_TYPE_DATA)) { // CSn flippage cuts off our FIFO; SACK
and begin reading again call CSN.set(); call CSN.clr();
call SACK.strobe(); call CSN.set(); call CSN.clr();
call RXFIFO.beginRead(buf + 1 + SACK_HEADER_LENGTH,
rxFrameLength - SACK_HEADER_LENGTH); return; } }
As I understood, the call SACK.strobe(); is the sending ACK call. But when I
searched the source of this command, I didn't find the construction of the Ack
frame, I found that at the end it writes a byte on the SACK address (0x0A). I
just want to undertand the default Ack.
My second question is: I'm using now my own Ack (after disabling the default
one ) and I want to have command to enable/disable it. I noticed - in the file
IEEE802154.h - that the field ( FCF -> Type ) is on three (3) bits and all the
fcf-types are just 4 (BEACON, DATA, ACK and MAC_CMD). So here we have an unused
bit that I want to use it to enable/disable my own Ack.Can I do this? I want to
know if this is possible (there's no other types ).Thanks in advance .
_______________________________________________
Tinyos-help mailing list
[email protected]
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help