I've been through the timer code in TinyOS2 pretty throughly. It is very
low likelihood (via normal code execution, I am discounting a random memory
writer) that a timer can fire before it is started. There is a control cell
in the timer structure *"isrunning"* that has to be set for the fire signal
to happen. This can only get set if the timer is started. Now if this bit
is getting set through some other mechanism (like a run away) then all bets
are off.
>From tos/lib/timer/VirtualizeTimerC.nc.
typedef struct
{
uint32_t t0;
uint32_t dt;
bool isoneshot : 1;
bool isrunning : 1;
bool _reserved : 6;
} Timer_t;
On Mon, May 19, 2008 at 11:06 AM, Paul Stickney <[EMAIL PROTECTED]> wrote:
> I do not have a solid answer, but some things you may want to consider
> looking at:
> -Maybe you are calling it with a smaller timeout than you suspect or
> earlier than expected
> -The LED might be turned on by other code (internal or external)
>
>
> Paul
> _______________________________________________
> Tinyos-help mailing list
> [email protected]
> https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
>
--
Eric B. Decker
Research Associate
Autonomous Systems Lab
Jack Baskin School of Engineering
UCSC
_______________________________________________
Tinyos-help mailing list
[email protected]
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help