Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CC2420/LPL: shorten the inter-packet interval #341

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

tim-ist
Copy link
Contributor

@tim-ist tim-ist commented May 14, 2015

A fix for the issue #338 .

I tested it using the TestLpl application (which I had to fix as well) in both Cooja and real TMotes.
I've found the suitable value for CC2420_ACK_WAIT_DELAY = 50 (by trial and error), it works for both HW and SW acknowledgements.

According to my observations it increases the chances of successful packet delivery significantly.

The inter-packet intervals in the packet trains are too long
resulting in missed transmissions as the channel probing often
happens between two packets when the channel is empty.

This fix resolves the problem by shortening CC2420_ACK_WAIT_DELAY from
256 (7.8ms) to 50 (1.5ms). Lower values break software acknowledgements,
larger may result in too long intervals.

The fix was tested both in Cooja and real TMotes increasing the
reliability of packet delivery significantly.

Note that only acknowledged unicast transmissions are affected because
broadcasts are sent much more densely (no need to wait for the ACK).
@gnawali
Copy link
Member

gnawali commented May 14, 2015

Could you describe the test a bit more on the hardware Tmotes?

@tim-ist
Copy link
Contributor Author

tim-ist commented May 15, 2015

I use a modified TestLpl with one node sending 300 packets and the other one receiving. I attach the receiving node to the PC to log the serial output and put the sender right next to it.

Without the fix, the PDR is around 80%, with the fix it is 100%.

You can find the modified TestLpl here:
https://github.com/tim-ist/tinyos-main/tree/current_ackfix_new_test

MBradbury added a commit to MBradbury/tinyos-main that referenced this pull request Jun 6, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants