[Tinyos-help] Alternative to TimerC when you need timing less than 4ms.

Philip Levis pal at cs.stanford.edu
Sun Jan 21 23:28:52 PST 2007


On Jan 21, 2007, at 7:33 PM, Nick Soldner wrote:

> Hello,
> I am using Tinyos-1.x with a MicaZ mote and trying to measure RSSI  
> at high rates, I've posted about this before and am slowly getting  
> closer to my goal. Right now when I use TimerC, I am unable to get  
> a measurement any faster than 4ms. Clearly I'm running into a  
> limitation of TimerC or need to modify something or use another  
> timing function (should I use AlarmC?)
>
> Here is the relevant code:
>
>     command result_t StdControl.start() {
>     // Start a repeating timer that fires every 1000ms
>     return call Timer.start(TIMER_REPEAT, 1);
>       }
>
> basically what happens is the timer simply doesn't work, i.e.  
> Timer.fired() isn't triggered. I'm trying to understand why this  
> happens, is it linked to the micaz's timer or what is it that  
> limits TimerC from going much faster than 4ms.
>
> Thanks,
>

Please check the archives; the TinyOS 1.x timer won't fire faster  
than every 3ms due to how the atmega128 hardware works. If you check  
the return value of the call to Timer.start() you will find it is FAIL.

Phil



More information about the Tinyos-help mailing list