Just some things to try...

I'd bet that the message buffer gets reused or erased before your
second send can complete. You may also have trouble calling the
send directly from the done, since done is in an "event"
context which is sometimes tantamount to an interrupt, perhaps
try copying the message and posting a task to resend?

Another possibility is that you are walking over the "normal"
send process. You should check the result of the second send
to see if it's giving you an error. And you may need to put
in some condition variable to block simultaneous sends.

All that said, TOSBase seems to be a bit of a
hack-to-get-things-to-work so it might not be
easy to modify....

MS


ram kishore wrote:
> Hi all,
>          I am using TOS1.1.10 .In the standard receiver application
> TOSBase. I am trying to retransmit the message.I sent a message by
> calling
> 
>          call RadioSend.send(gpTxMsg);.
> 
>         For this RadioSend.sendDone(TOS_MsgPtr Msg, result_t success)
> event is generated.
>         Hoping that Msg is a pointer to the already transmitted
> message,I call
> 
>        call RadioSend.send(Msg);  to retransmit the same message again.
> 
>        But the message is not being re-transmitted .
> 
>      Can somebody tell me what is wrong   or  how to accomplish 
> retransmission?
> 
> Regards,
> Kishore
> _______________________________________________
> Tinyos-help mailing list
> Tinyos-help@millennium.berkeley.edu
> https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
_______________________________________________
Tinyos-help mailing list
Tinyos-help@millennium.berkeley.edu
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Reply via email to