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 ).                             
       
_______________________________________________
Tinyos-help mailing list
[email protected]
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Reply via email to