Vikram, It's probably best to look at the code yourself to determine if your platform turns on acks by default or not.
In general it is radio hardware specific, for example the CC1000 doesn't perform MAC level acks. Other hardware such as the CC2420 have mac acks enabled by default for unicast packets and disabled on broadcast packets. As for your first question, normally acks are only enabled for unicast packets.(If they were enabled for broadcast packets, all the acks from multiple receiving nodes would likely collide) For your second question the requestAck() function sets a field in the packet header that indicates the sender requests an ack for this packet. In general only when the intended node receives a packet with this field set, will it send an ACK. Once the sender receives an ack for this packet(with the ACK field set), only then will the sendDone function be called. -Paul On Mon, Dec 7, 2009 at 9:53 PM, Vikram vik76 <[email protected]> wrote: > Hello, > > I would like to understand better the working of acknowledgments in tinyos. > First, > Is MAC level acknowledgment implemented by default? for Unicast or > Broadcast? > > I also used the PacketAcknowledgements interface. When I use call > PacketAcknowledgements.requestAck(&pkt) does it explicitly request the > receivers to send an acknowledgement, or it just captures the > acknowledgement that is sent by default by the receiver to the sender? > > > Thanks > Vikram > > > > _______________________________________________ > 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
