Hello,
>On occasion(after a few days) a random mote will stop sending data and the red
>led will
>stay on until the reset button is pressed. (motes that fail do not recover).
Yes, it's annoying isn't it! I looked into this problem and couldn't decide
whether the problem was in Delta
or in the rest of the networking code.
>On a side note, can the watchdog be implemented in low-power
>mode? And would this be a possible solution of if moving to tinyos 2.0 would
>help?
Yes, implement the WDT watchdog timer. This is what I did in Delta:
void touch_watchdog(){
WDTCTL = WDT_ARST_1000;
}
Have a timer touch_watchdog() every 500ms. Since I have Delta sending messages
every 10 minutes (DELTA_TIME = 614400), I use:
uint32_t count = 0;
//DELTA_TIME plus 30 secs
uint32_t WDT_TIME = (int)(((DELTA_TIME/1000)*2)+60);
event result_t TimerWatchdog.fired() {
if(count < WDT_TIME){
touch_watchdog();
count = count + 1;
}
return SUCCESS;
}
event result_t SendDeltaMsg.sendDone(TOS_MsgPtr _msg, result_t _success) {
call Leds.redOff();
count = 0;
return SUCCESS;
}
This ensures that if a message fails to send after 10 mins and 30 secs, the
mote will reboot.
I haven't had any lock-ups since.
Regards
Simon Davis
=
_______________________________________________
Tinyos-help mailing list
[email protected]
https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help