Bug 2169 - State Transition time is wrong
State Transition time is wrong
Status: RESOLVED INVALID
Product: ns-3
Classification: Unclassified
Component: lr-wpan
ns-3-dev
All All
: P5 critical
Assigned To: Tom Henderson
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2015-08-14 14:13 UTC by Tommaso Pecorella
Modified: 2015-08-15 10:28 UTC (History)
1 user (show)

See Also:


Attachments
patch (2.61 KB, patch)
2015-08-14 14:13 UTC, Tommaso Pecorella
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Tommaso Pecorella 2015-08-14 14:13:25 UTC
Created attachment 2118 [details]
patch

It seems that there is a great deal of confusion in the literature. To make the long story short, there are two timers in an 802.15.4 chip.
The first is how much the chip takes to "warm up" from a complete power off, and it can be damn long (milliseconds), and one from one state to another, in particular from TRX_OFF to RX or TX.
This second delay is in the order of microseconds.

Vishwesh, as part of his GSoC, found that there is no indication of how much it is for a CC2420, but we have a number for the ATMEL AT86RF231 (or RF231 for short): 110 us.
This delay is much more logical, considering that a CCA is performed in 128 us.
Still long, and one must consider it for proper timings, but it's a decent number (at least).

The attached patch fixes this. The only issue is: should we keep the "old" attribute and change its value, or define a new one ?
In the second case (I like it more), should we deprecate the old attribute ?
Note that the old attribute is still relevant for really deep sleep cases, where the radio is really turned off. However, there's no 802.15.4 primitive to do such a deep sleep, as it's not part of the standard.
Comment 1 Tom Henderson 2015-08-14 20:43:00 UTC
Can you check that this patch is against ns-3-dev?  I think it may be against Vishwesh's repository.
Comment 2 Tommaso Pecorella 2015-08-15 10:28:58 UTC
Right.
Sorry about that, I was sure the attribute was in the actual the code (it isn't).
Fixing the bug as invalid.