[Tinyos-devel] TEP105: LowPowerListening Duty Cycles

David Moss dmm at rincon.com
Wed May 14 10:57:02 PDT 2008


Is anyone using the setLocalDutyCycle() and setRxDutyCycle() functions in
the LowPowerListening interface? 

 

I see lots of problems with all duty cycle related functions in the
LowPowerListening interface:

 

1.	Duty cycle functions are very inaccurate and difficult to maintain
because they require manual measurements to be performed on a node.  
2.	The correct value may even vary from platform to platform, depending
on the implementation. In some cases, like hardware-driven Wake-on Radio, it
is difficult to specify a duty cycle with any degree of accuracy.
3.	Any changes to the radio stack, including unrelated areas like
Acknowledgments, will affect the duty cycle and require the developer to
make measurements again.
4.	The limitations on the duty cycle percentage only let you get down
to 0.01%.  With the ever-increasing efficiency of receive checks, 0.01% is
not be enough.  In some implementations, I'm able to achieve numbers like
0.0001% duty cycle or lower, which makes all duty cycle functions obsolete.

 

Given these on-going problems with setLocalDutyCycle() and setRxDutyCycle(),
it is my opinion that the best thing we can do is @deprecate these functions
for now, leave them available for the next release as we ease out of them,
remove them from TEP105, and avoid using them at all costs.   

 

The setRxSleepInterval() and setLocalSleepInterval() functions are much more
reliable, predictable, cross-platform compatible, and always correct.

 

Thoughts?

 

-David

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://www.millennium.berkeley.edu/pipermail/tinyos-devel/attachments/20080514/796a3b99/attachment.htm 


More information about the Tinyos-devel mailing list