Hi,
     I did the following:

            event result_t RsendMsg.sendDone(TOS_MsgPtr msg, result_t success)
  {
       result_t txmode,sndmsg;

                TOSH_uwait(1000);

                do{                                                             
   /*LOOP 1*/
                  txmode = call CC1000Control.RxMode();
                  }while(!txmode);
                  if ( txmode == SUCCESS )
                  call CLeds.yellowOff();

                 do{                                                            
   /* LOOP2*/
                  sndmsg = call RsendMsg.send(TOS_BCAST_ADDR,12,msg);
                  }while(!sndmsg);
                 if ( sndmsg == SUCCESS )
                 call CLeds.yellowOn();
                
   return SUCCESS;
  }

If I remove LOOP 1, then retransmissions occur.But, when LOOP 1 is
included no retransmissions occur.
What could be the reason.?

Regards,
Kishore
On Mon, Jul 28, 2008 at 11:44 PM, Michael Schippling <[EMAIL PROTECTED]> wrote:
> 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
>> [email protected]
>> https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
>
_______________________________________________
Tinyos-help mailing list
[email protected]
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Reply via email to