Hi Phil,

I have a problem with Mate' on TelosB. I set up a small MultiHop data
collection script. Everything runs fine in the beginning, but after
some time (e.g. around 500 messages), the SerialForwarder will not
receive any new messages. I currently have Mate' installed on 3 motes.
The scripts seem to still run on the motes (according to debug LEDs),
so it doesn't look like a deadlock. I use two timers and a broadcast
handler; the first timer acquires a totalsolar() reading every second,
the second timer is used to acquire link estimates: Upon receipt of a
broadcast message, I'll set a bit in some buffer to flag that a
message from node i was received; the second timer sends out a message
every 2 seconds containing the recorded bit string. The exact code
used is attached.
Do you have any idea what can cause the SerialForwarder to fail to
receive any more messages?
Thanks for your help,

Andreas


This is the programs.txt file:

// Generated  at Mon Nov 07 01:02:27 EST 2005
<HANDLER name="reboot" version="82" code="settimer0(20);
settimer1(10);" >
<HANDLER name="bcast" version="2" code="buffer received;
buffer heardfrom;
private val;

received = bcastbuf();
val = int(received[0]);
heardfrom[val]=1;" >
<HANDLER name="broadcast" version="76" code="buffer received;
buffer heardfrom;
private val;
private pos;
private i;
private setbit;
private bufsz;
private modval;

received = bcastbuf();
val = int(received[0]);
pos = val / 8;
modval = val % 8;
setbit = int(modval^2);
bufsz = bsize(heardfrom);
if (pos < bufsz) then
  val = int(heardfrom[pos]);
  val = val | setbit;
  heardfrom[pos]= val;
  led(4);
else
  heardfrom[pos]=setbit;
  led(2);
end if
!heardfrom[]=setbit;" >
<HANDLER name="timer1" version="51" code="buffer data;
data[] = totalsolar();
if bfull(data) then
  led(26);
  send_lqi(data);
  bclear(data);
end if" >
<HANDLER name="timer0" version="34" code="buffer buf;
buffer heardfrom;

bclear(buf);
buf[]= id();
bcast(buf);

if (bsize(heardfrom)>0) then
  led(17);
else
  led(0);
end if
send_lqi(heardfrom);
bclear(heardfrom);" >
<BUFFER name="buf" val="0" >
<BUFFER name="heardfrom" val="1" >
<BUFFER name="data" val="3" >
<BUFFER name="received" val="2" >

_______________________________________________
Tinyos-help mailing list
[email protected]
https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Reply via email to