Hi,
In the task SendPacket() you always set pending to FALSE. Try to set it
only to false if there was an error:
task void SendPacket() {
IkTestMsg *message = (IkTestMsg *)local_msg.data;
if (!pending)
{
pending = TRUE;
message->addr = TOS_BCAST_ADDR;
message->cnt = counter;
atomic {
message->src = TOS_LOCAL_ADDRESS;
}
if (call SendMsg.send(TOS_BCAST_ADDR, sizeof(IkTestMsg), &local_msg))
{
dbg(DBG_USR1, "Sending Message\n");
dbg(DBG_USR1, "Source address = %d\n", message->src);
dbg(DBG_USR1, "Value = %d\n", counter);
pending = FALSE;
}
}
dbg(DBG_USR1, "Pending message in buffer!\n");
}
Cheers,
Urs
Ittipong Khemapech schrieb:
> Hi,
>
> I have some problems with the SendMsg.sendDone() as it's not signaled. My
> files/modules are as follows:
>
> [..]
> task void SendPacket() {
> IkTestMsg *message = (IkTestMsg *)local_msg.data;
> if (!pending)
> {
> pending = TRUE;
> message->addr = TOS_BCAST_ADDR;
> message->cnt = counter;
> atomic {
> message->src = TOS_LOCAL_ADDRESS;
> }
> if (call SendMsg.send(TOS_BCAST_ADDR, sizeof(IkTestMsg), &local_msg))
> {
> dbg(DBG_USR1, "Sending Message\n");
> dbg(DBG_USR1, "Source address = %d\n", message->src);
> dbg(DBG_USR1, "Value = %d\n", counter);
> }
> pending = FALSE;
> }
> dbg(DBG_USR1, "Pending message in buffer!\n");
> }
> [..]
>
>
> I am running my modules in TOSSIM (TinyOS 1.x) and Cygwin. Seems to me that
> after the first sending, there is a message pending in the buffer.
>
> Any suggestions would be appreciated.
>
> Many thanks,
> Ittipong
_______________________________________________
Tinyos-help mailing list
[email protected]
https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help