Hi, I removed the default resource arbitration of SPI bus. More specifically, all SPI resources are provided by a single instance of CC2420SpiC. SPI resource is only requested for the first time, after that, it is never released.
But CC2420ReceiveP gets stuck. In particular, calls to RXFIFO.beginRead() or RXFIFO.continueRead() sometimes fail to signal RXFIFO.readDone() later. Can anyone please give me some hint on where things may go wrong? Thanks very much in advance. On Tue, Sep 11, 2012 at 2:31 AM, Eric Decker <[email protected]> wrote: > > > On Mon, Sep 10, 2012 at 11:28 PM, Eric Decker <[email protected]> wrote: > >> >> you might try getting rid of the arbitration that is used by default. >> >> That is make sure that the only thing hanging off USART0 is the CC2420 >> and then get rid of the resource arbiter that by default is used on the >> TelosB code. >> > > The simplest way to do this is to use Resource.immediateRequest and then > never release it. > > >> >> As long as your code is running as a task (the default programming >> paradigm in TinyOS (for very good reasons)) you will have potentially >> non-deterministic timing. >> >> It depends on what else has already been posted to the task queue. >> > > The current architecture of the code may not be capable of doing what you > are trying to do. I said "MAY NOT". It depends on the timing > constraints/requirements that you need for your algorithm to work > properly. > > > >> eric >> >> >> On Mon, Sep 10, 2012 at 8:44 PM, Xiaohui Liu <[email protected]> wrote: >> >>> Hi, >>> >>> To be precise, my channel switch delay is defined as the interval from >>> when CC2420Config.sync() is called to CC2420Config.syncDone() event is >>> triggered. >>> >>> On Mon, Sep 10, 2012 at 11:02 PM, Xiaohui Liu <[email protected]> wrote: >>> >>>> Hi everyone, >>>> >>>> I'm developing a protocol which requires fast switch between two >>>> channels. But I find the channel switch delay varies significantly from 16 >>>> to 600 jiffies, causing the sender and receiver out of sync. The major >>>> cause is the non-deterministic delay to access the SPI bus, whose >>>> distribution is long-tailed. Can anyone please share his/her experience on >>>> how to make channel switch delay more deterministic? This may be a basic >>>> issue for multi-channel protocols as discussed in related threads >>>> here<http://mail.millennium.berkeley.edu/pipermail/tinyos-help/2012-May/054737.html> >>>> and >>>> here<https://www.millennium.berkeley.edu/pipermail/tinyos-help/2010-October/048160.html> >>>> . >>>> >>>> One way I'm trying is to circumvent the resource arbitration of SPI bus >>>> since it is merely used to access cc2420 in TelosB as seen in the >>>> schematic<http://webs.cs.berkeley.edu/tos/hardware/telos/telos-revb-2004-09-27.pdf> >>>> . >>>> >>>> Any hint will be sincerely appreciated. >>>> >>>> Cheers, >>>> -Xiaohui Liu >>>> >>> >>> >>> >>> -- >>> -Xiaohui Liu >>> >> >> >> >> -- >> Eric B. Decker >> Senior (over 50 :-) Researcher >> >> >> > > > -- > Eric B. Decker > Senior (over 50 :-) Researcher > > > -- -Xiaohui Liu
_______________________________________________ Tinyos-help mailing list [email protected] https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
