Hi to everybody,
I'm sorry for my English...

I have a problem on start radio on telosb platform with TinyOs 2.1.0.
I find this message: 
http://www.mail-archive.com/[email protected]/msg29889.html 
but there isn't a solution.

I use a LPL, not the default one but a modified one that do the same 
thing to send, the problem occurs sometimes when the radio must be 
turned on. The LPL component call SplitControl.start function in 
CC2420CsmaP components, and wait for a startDone event to initialize the 
send but this event doesn't occurs.
I try to follow the code and the start procedure was:

1) in SplitControl.start Radio state is changed to S_STARTING
2) call CC2420Power.statVreg()
3) in event CC2420Power.startVRegDone() call Resource.request()
4) in event Resource.granted() call CC2420Power.startOscillator()
5) in event CC2420Power.startOscillatorDone() post startDone_task() that 
finish the initialization phase, change Radio state to S_STARTED and 
signal SplitControl.startDone() event

The problem is that sequence in some case don't finish correctly and the 
task wasn't posted. The result is the Radio State is S_STARTING and the 
following call to start method return SUCCESS without do nothing to 
resolve the situation. This reasonable because component waits the first 
start sequence finish.

I must solve the problem. I know that in old versione of TinyOs there is 
a bus concurrency problem between radio and flash memory (that I use) 
and I find it's solved in TinyOS 2.1.0. Can be a similar problem?

I compared the code for TinyOS 2.1.1 and TinyOS 2.1.0 and I didn't find 
nothing that solve this problem.

A possible solution for me can be a timeout that fired if startDone 
event isn't signal, but in this case how can I reset the radio?
I think to use a stop-start sequence but stop command when the component 
is in S_STARTING state return EBUSY without do nothing.

Someone find the same situation? Or know a solution?

Every help is appreciated
Davide
_______________________________________________
Tinyos-help mailing list
[email protected]
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Reply via email to