Sounds like the mica timer bug in 2.0.0. Have you tried 2.0.1?
David Gay
On 6/1/07, Pedro Almeida <[EMAIL PROTECTED]> wrote:
Hello;
So I've been working over the TestNetwork application, and now have two
timers implemented, both doing exactly the same, except for the periods of
the timers and some fields in the message. Both go like:
task void sendKeepAlive() {
TestNetworkMsg* msg = (TestNetworkMsg*)call Send.getPayload(&packet);
uint16_t metric;
am_addr_t parent;
call CtpInfo.getParent(&parent);
call CtpInfo.getEtx(&metric);
msg->source = TOS_NODE_ID;
msg->seqno = seqno;
msg->datah = 0x20;
msg->datal = 0x00;
msg->parent = parent;
msg->hopcount = 0;
msg->metric = metric;
if (call Send.send(&packet, sizeof(TestNetworkMsg)) != SUCCESS) {
failedSend();
dbg("TestNetworkC", "%s: Transmission failed.\n", __FUNCTION__);
}
else {
sendBusy = TRUE;
seqno++;
call Leds.led2Toggle();
dbg("TestNetworkC", "%s: Transmission succeeded.\n", __FUNCTION__);
}
}
the task above is ran when the timer triggers here:
event void Timer1.fired(){
if (!sendBusy) {
post sendKeepAlive();
}
}
and the timer is created with
call Timer1.startPeriodic(TIMER_PERIOD_KEEP_ALIVE);
where the period is around 5 seconds.
the sendDone is as follows:
event void Send.sendDone(message_t* msg, error_t err) {
if (err != SUCCESS) {
}
sendBusy = FALSE;
dbg("TestNetworkC", "Send completed.\n");
}
and the failedSend is:
void failedSend() {
dbg("App", "%s: Send failed.\n", __FUNCTION__);
call CollectionDebug.logEvent(NET_C_DBG_1);
}
both tasks use the same sendDone/failedSend (since both taks have just about
the same code).
what happens is that a few timer cycles after the program has started (where
everything works fine), the yellow led (led2) starts blinking continuously
as if the timer was only of a few miliseconds, which indicates the
associated task with the timer is being called repeatedly, without apparent
respect for the timer.
the only solution is to shut down and on the mica z mote (after a while,
the problem again arises). This happens even when the other timer is
disabled!
What may be causing this?
Thanks in advance,
Pedro
_______________________________________________
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