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

Omprakash Gnawali gnawali at usc.edu
Sat Jun 27 18:38:24 PDT 2009


On Sat, Jun 27, 2009 at 4:18 PM, Razvan Musaloiu-E.<razvanm at cs.jhu.edu> wrote:
> Hi!
>
> On Sat, 27 Jun 2009, Razvan Musaloiu-E. wrote:
>
>> Hi!
>>
>> On Sat, 27 Jun 2009, Philip Levis 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.
>>
>> Good point. I'll make this change.
>>
>>> 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).
>>>
>>
>> I'm going to try to add this too by hooking up to the SplitControl of the
>> ActiveMessageC and and tracking the startDone/stopDone.
>>
>
> I made the above two changes:
>        http://hinrg.cs.jhu.edu/git/?p=razvanm/tinyos-2.x.git;a=shortlog;h=default-lpl-new
> So now the SystemLowPowerListening is like this:
>
>   interface SystemLowPowerListening
>   {
>     command error_t setLocalSleepInterval(uint16_t interval);
>     command void setDefaultDestinationSleepInterval(uint16_t interval);
>     command void setDelayAfterReceive(uint16_t interval);
>
>     command uint16_t getDefaultDestinationSleepInterval();
>     command uint16_t getDelayAfterReceive();
>   }
>
> Note that I renamed setRxSleepInterval to DefaultDestinationSleepInterval
> only in SystemLowPowerListening. The LowPowerListening interface still
> carries the setRxSleepInterval command. Should I also change it there?

Are you going to somehow force this to be singleton?

- om_p



More information about the Tinyos-devel mailing list