>I thought that when the timer goes off, a hardware interrupt >is generated which causes the currently executing task to be >preempted, then the timer.fired event runs and when finished, >the preempted task will resume.
Not exactly. You're right that when the timer goes off, a hardware interrupt is generated which causes the currently executing task to be preempted. However, the Timer.fired event is not signaled directly from this interrupt handler. Instead, the interrupt hander posts a task and returns, letting the interrupted task complete. The Timer.fired event will be signaled from the task posted by the interrupt handler. Janos -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Jamie Coates Sent: Sunday, March 02, 2008 2:24 PM To: [email protected] Subject: Tasks and Alarms Hello everyone, I have a question about tasks and alarms. I am using a Crossbow WSN starter kit, MICAz. To give some context, I am attempting to test a preemptive scheduler that allows for a single background task to run that is not atomic w.r.t other regular Tiny tasks. I am finding that when I use TimerMilli, fired events are only delivered after the background task has finished. I am using the timer to periodically toggle an led on the base station on and off. I wanted the timer to go off during the background task's execution. I thought that when the timer goes off, a hardware interrupt is generated which causes the currently executing task to be preempted, then the timer.fired event runs and when finished, the preempted task will resume. Can anyone tell me if I am correct, even in the case that I use a regular Tiny task instead of background? Regards, Jamie _______________________________________________ Tinyos-help mailing list [email protected] https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
