CC2420 sends out HW ACK, but it doesn't check if a packet has been ACKed. However, both SW and HW ACKs look the same, and include DSN only.
While including only DSN in the ACK seems broken, it is interesting in the same sense that simultaneous ACKs generated from the same data packet don't always collide. One paper that leverages this is "Design and Evaluation of a Versatile and Efficient Receiver-Initiated Link Layer for Low-Power Wireless" from SenSys 2010. Thanks Mike On Aug 28, 2011, at 3:54 PM, Eric Decker wrote: > > > On Sun, Aug 28, 2011 at 12:41 AM, Chieh-Jan (Mike) Liang <[email protected]> > wrote: > I believe the check is there to make sure software ACK mimic CC2420's > hardware ACK, because CC2420 acks broadcast packets (if requested). > > And does the h/w (cc2420) also just look at the DSN too? This seems broken. > > > > Mike > > On Aug 27, 2011, at 3:04 AM, Xiaohui Liu wrote: > > > Hi everyone, > > > > Why should broadcast be acknowledged? If multiple recipients receive a > > broadcast packet, they will ack it at very close time instant, which can > > cause ack collision. But the following snippet is found in CC2420ReceiveP. > > Can anyone help me understand why broadcast can be acked? Thanks. > > > > 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; > > } > > } > > > > -- > > -Xiaohui Liu > > _______________________________________________ > > Tinyos-help mailing list > > [email protected] > > https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help > > > _______________________________________________ > Tinyos-help mailing list > [email protected] > https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help > > > > -- > Eric B. Decker > Senior (over 50 :-) Researcher > > _______________________________________________ Tinyos-help mailing list [email protected] https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
