[Tinyos-devel] Patches to FTSP and CC2420 for 32kHz sync and LPL functionality

Razvan Musaloiu-E. razvanm at cs.jhu.edu
Sat Jun 27 12:27:03 PDT 2009


Hi!

On Sat, 27 Jun 2009, Omprakash Gnawali wrote:

> On Sat, Jun 27, 2009 at 10:41 AM, Philip Levis<pal at cs.stanford.edu> wrote:
>>
>> On Jun 26, 2009, at 6:35 PM, Razvan Musaloiu-E. wrote:
>>
>>> I update the default-lpl-new branch to use a
>>> SystemLowPowerListeningC instead of DefaultLplSettingsC. The new
>>> interface is like this:
>>>
>>> interface SystemLowPowerListening
>>> {
>>> 	command void setLocalSleepInterval(uint16_t interval);
>>> 	command void setRxSleepInterval(uint16_t interval);
>>> 	command void setDelayAfterReceive(uint16_t interval);
>>>
>>> 	command uint16_t getRxSleepInterval();
>>> 	command uint16_t getDelayAfterReceive();
>>> }
>>>
>>> The setX calls are used by the user application while the getX are
>>> used by LplAMSenderP and DefaulLplP. One drawback of this is the
>>> fact that it doesn't prevent the user from calling the setX at the
>>> wrong time. :|
>>
>> This looks good -- I think my one comment would be to change
>> RxSleepInterval to DefaultDestinationSleepInterval. That seems clearer
>> to me.
>>
>> I agree on the issues with the set calls. One solution here is that
>> you have an error_t return value, with can return FAIL if done at the
>> wrong time (e.g., radio is on).
>
> This might preclude something like NoSE which sets different sleep
> intervals at different times. Here is a link:
> http://www.tik.ee.ethz.ch/~beutel/pub/MWWBT2009.pdf
>

An application can still use the normal LowPowerListening interface to 
tweek the settings for each packet. So NoSE should still be able to do 
its job.

My initial idea of a default lpl was to make it very easy for an 
application to be compiled either in lpl or non-lpl mode. My initial 
proposal was exactly that. This SystemLowPowerListening we end up with is 
more complicated and more open to interpretation and misuse.

--
Razvan ME


More information about the Tinyos-devel mailing list