[Tinyos-help] CC2420Config.syncDone() may not get called after sync() return SUCCESS

Philip Levis pal at cs.stanford.edu
Wed Oct 25 08:40:34 PDT 2006


On Oct 25, 2006, at 2:11 AM, Tie Luo wrote:

> if (call CC2420Config.sync()==SUCCESS) var=1;
> ....
> and in RadioConfig.syncDone(error_t err) I reset var=2 regardless  
> of the value of err.
>
> However, sometimes the var is always 1, even if I check var  
> periodically.
>
> This shows syncDone may not be called.  Is that a bug? I recall  
> previously a similar bug (not releasing resource) has been fixed.   
> Is this a similar problem?
>

Tie,

Did you run the tests I mentioned on the list? Or this part of that?

CC2420Config.sync is a split-phase operation; it might signal  
completion a little while later, especially if there is contention  
for the SPI bus. However, if sync were to never signal done, then it  
is unlikely that the radio is receiving/transmitting packets. Which  
not releasing resource bug are you referring to?

Are you using the SPI bus for anything else? E.g., large storage  
operations?

Phil



More information about the Tinyos-help mailing list