beats me...why are you doing loop 1? by the time you get to done()
transmission should be complete. Also I would put the re-transmit
into a separate task and post it from done()...
MS
ram kishore wrote:
> 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