I agree with Phil. Nonetheless, I used Jan's idea and now the mote gets stuck in a state where the Resource.request is no longer called. This means that I reach a state where I am still the owner of the resource when the Timer fires.
Is it possible for Resource.release to either fail or not do the housekeeping its supposed to do? If a release fails for some reason, it would explain what I am seeing - the ADC still thinks I'm the owner but all of my subsequent requests are enqueued but never granted. Thanks Sandip ----- Original Message ---- From: Philip Levis <[EMAIL PROTECTED]> To: Jan Hauer <[EMAIL PROTECTED]> Cc: Sandip Bapat <[EMAIL PROTECTED]>; [email protected] Sent: Friday, March 28, 2008 5:20:05 PM Subject: Re: [Tinyos-help] Resource.reserve returns EBUSY forever after some time On Mar 28, 2008, at 7:34 AM, Jan Hauer wrote: > You should make sure that you don't call Resource.request() while > you're still owner. You could do it by keeping state in some module > variable, but you could also do it through "if (!call > Resource.isOwner()) call Resource.request();" in your Timer.fired(). > Note that this means, that your samples might not be taken at regular > intervals (you lose a sample when isOwner() returns FALSE) That's not right. It should be valid to request while owner: this enqueues a request, which will be serviced (after possibly others) once release() is called. TEP 108 is very clear on this. Phil ____________________________________________________________________________________ You rock. That's why Blockbuster's offering you one month of Blockbuster Total Access, No Cost. http://tc.deals.yahoo.com/tc/blockbuster/text5.com _______________________________________________ Tinyos-help mailing list [email protected] https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
