[Tinyos-help] Resource.reserve returns EBUSY forever after some time
Sandip Bapat
sandipbapat at yahoo.com
Wed Mar 26 07:18:45 PDT 2008
Hi
I am using MultiChannel sampling on the msp430 ADC as shown in tinyos-2.x/apps/tests/msp430/Adc12. When I run the program, it runs correctly for a non-deterministic length of time (sometimes minutes, sometimes a day) and then appears to be stuck. Debugging with LEDs and UART shows that the timer for sampling continues to fire, but the Resource.reserve call returns an EBUSY error type after this time and no more granted events are signalled.
Also, there's no other ADC client in my application. I only use the timer, UART and this ADC getData call. The MultiChannel interface is wired to the Msp430Adc12ClientAutoRVGC component. I've seen this happen for sampling rates of 1kHz down to 167 Hz, but haven't tested for lower sampling rates.
The code I am using looks like this
event Timer.fired(){ // this fires every 6ms
result = call Resource.request(); // returns SUCCESS upto some non-deterministic time, during which Resource is granted and I can read ADC correctly, after which always returns EBUSY, no more Resource.granted events are signalled
}
task void releaseResource(){
call Resource.release();
}
task void processData(){
.. send samples to UART
}
event Resource.granted(){
if (MultiChannel.configure(&config, &memCtl, 1, buffer, BUFFER_SIZE, 0) == SUCCESS)
if (call MultiChannel.getData() != SUCCESS)
post releaseResource();
else
post releaseResource();
}
event MultiChannel.dataReady(bufptr){
call Resource.release();
...make local copy;
post processData();
}
If anyone has observed this or notices something I'm doing wrong, please let me know.
Thank you
Sandip
____________________________________________________________________________________
Never miss a thing. Make Yahoo your home page.
http://www.yahoo.com/r/hs
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://www.millennium.berkeley.edu/pipermail/tinyos-help/attachments/20080326/60046290/attachment-0001.html
More information about the Tinyos-help
mailing list