I think it' s probably due to the fact that you post too many task
and the task queue of TinyOS fill up .
Try to post one task, wait for a while then post the following task
and so on.
Andrea
Alex Mason wrote:
Hi,
Probably a very simple question (as usual!) but I can't seem to find an
understandable answer.
I was creating a small demo with my motes to show radio comms receiving,
performing a task and then acknowledging completion. In doing this, I
wanted to flash the Leds quickly in succession. So, I created a task to do
this - for example:
task void flashGreen() {
call Leds.greenOn();
call greenTimer.start(TIMER_ONE_SHOT, 25);
}
...
event result_t greenTimer.fired() {
call Leds.greenOff();
return SUCCESS;
}
Then, I can just use "post flashGreen" to flash the Led. However, the
problem I have is that I want to flash the Led 'n' number of times so I
tried:
for (i = 0; i < n; i++) {
post flashGreen;
}
However, this just flashes the Led once, regardless of the value of 'n'. I
have the feeling the problem is because of the task being posted too many
times in quick succession - but on the other hand I was under the impression
that tasks are processed FIFO, so I'm a little confused. Of course, this
isn't a major problem (I don't need the Leds to flash in practice) but it
would be nice to know what is causing the problem for future reference. I
have tried atomic execution also, but this made no difference (unless I am
using it incorrectly).
Cheers,
----------
Alex Mason
Postgraduate Research
RFID & Wireless Sensor Networks
Liverpool John Moores University
Email: [EMAIL PROTECTED]
Phone: +447886389484
_______________________________________________
Tinyos-help mailing list
[email protected]
https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
_______________________________________________
Tinyos-help mailing list
[email protected]
https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help