Hi!
On Wed, 8 Nov 2006, David Moss wrote:
> Hi Razvan,
>
> Interesting - broadcasts are never supposed to be acknowledged, as you
> pointed out. I see what the issue is though - line 276 in
> CC2420LowPowerListeningP is forcing acknowledgements on, and the lower level
> radio stack isn't checking addresses before ack'ing. Therefore, line 276
> should be surrounded by an if-statement that verifies the destination
> address of the message is not the broadcast address.
Thanks for the quick reply! Now it works fine. :-) Below are the changes
you describe above.
Index: CC2420LowPowerListeningP.nc
===================================================================
RCS file:
/cvsroot/tinyos/tinyos-2.x/tos/chips/cc2420_lpl/CC2420LowPowerListeningP.nc,v
retrieving revision 1.1.2.1
diff -c -i -r1.1.2.1 CC2420LowPowerListeningP.nc
*** CC2420LowPowerListeningP.nc 24 Oct 2006 20:37:35 -0000 1.1.2.1
--- CC2420LowPowerListeningP.nc 8 Nov 2006 17:35:35 -0000
***************
*** 340,346 ****
if(call LowPowerListening.getRxSleepInterval(currentSendMsg)
> ONE_MESSAGE) {
// Send it repetitively within our transmit window
! call PacketAcknowledgements.requestAck(currentSendMsg);
call SendDoneTimer.startOneShot(
call LowPowerListening.getRxSleepInterval(currentSendMsg) * 2);
}
--- 340,348 ----
if(call LowPowerListening.getRxSleepInterval(currentSendMsg)
> ONE_MESSAGE) {
// Send it repetitively within our transmit window
! if (call AMPacket.destination(currentSendMsg) != AM_BROADCAST_ADDR) {
! call PacketAcknowledgements.requestAck(currentSendMsg);
! }
call SendDoneTimer.startOneShot(
call LowPowerListening.getRxSleepInterval(currentSendMsg) * 2);
}
>
> This is why the cc2420_lpl is not the default stack yet. Thanks for your
> bug find,
Welcome! :P
Razvan ME
> > From: "Razvan Musaloiu-E." <[EMAIL PROTECTED]>
> > Date: November 7, 2006 5:36:20 PM PST
> > To: <[email protected]>
> > Subject: [Tinyos-help] acks in T2
> >
> > Hi!
> >
> > I'm playing a little with the CC2420 LPL and I noticed that the messages
> > send to the broadcast address are getting acknowledged. What is even more
> > puzzling for me is this is still happening even after I tried to disabled
> > them using the noAck() function from the PacketAcknowledgements interface.
> > Can someone clarify this behavior? :-)
> >
> > I attached a small program that shows the problem. The green led is
> > toggled each time a packed is send and acknowledged and the red led is
> > on between a send and sendDone. I'm using TelosB.
> >
> > --
> > Razvan ME
>
>
_______________________________________________
Tinyos-help mailing list
[email protected]
https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help