Hi All,
   Is the same behaviour observed by anyone on TinyOS 2.x or Boomerang ?
Regards,
Harish

On 10/18/06, harish prabhu < [EMAIL PROTECTED]> wrote:
Hi Cory and Michael,
  The problem I am facing does not seem to be about the UART or TOSBase.
  I changed the baud rate of TOSBase to 262144.
  Yet, I see the packet loss.
  I am not sending too many packets to run out of the 240 kbs bandwith either.
  I am just sending three 44 byte packets in succession ( after the Send.sendDone
  of the previous packet is got) in one second.
  That is why I wonder if we need to have any delay after send.SendDone - before
  sending another packet.
  If we do, would this not be a bug in the radio library ?

Thanks and Regards,
Harish



On 10/18/06, Michael Schippling <[EMAIL PROTECTED]> wrote:
You know, I'm just not sure about that...
There are separate Tx&Rx lines, so it _should_ be possible
to do 56Kb in both directions simultaneously. But it never
occurred to me to look. Anybody know for sure?

I have been counting each message (send-command and recv-
reply in my tests) in coming up with my 100msg/sec ballpark.
I don't think TOSBase radio and UART interrupts are mutually
exclusive, so the relaying of messages should interleave fairly
transparently. Is your 21Kbps number for a total roundtrip?
Can you describe your test methodology?

In any case I should do some more testing on the 'Z's to
see if my speed estimates are more than misleading due
to the host-UART speed issue...

MS


Raghu Ganti wrote:
> Also consider the fact that the TOSBase has to interleave the reception
> of the packet and the transmission on the serial port. This reduces your
> transmission rate further on the serial port. I had done experiments
> earlier to measure this and found about 21 Kbps was the max rate I could
> achieve without losing any packets.
>
> Raghu
>
>
>     Message: 3
>     Date: Tue, 17 Oct 2006 10:31:23 -0600
>     From: Michael Schippling < [EMAIL PROTECTED] <mailto: [EMAIL PROTECTED]>>
>     Subject: Re: [Tinyos-help] Packet loss on Tmote (using TinyOS 1.x)
>     To: Cory Sharp <[EMAIL PROTECTED] <mailto: [EMAIL PROTECTED]>>
>     Cc: tinyos-help_list < [email protected]
>     <mailto:[email protected] >>
>     Message-ID: < [EMAIL PROTECTED]
>     <mailto:[EMAIL PROTECTED]>>
>     Content-Type: text/plain; charset=ISO-8859-1; format=flowed
>
>     huh, I hadn't considered that...good point. However...
>     at ~40 bytes (320 bits) per message, 100 messages is
>     32000 bits which _should_ still fit pretty easily
>     and I seem to remember pooping out around that rate.
>     Also I had the same-only-worse problem on the mica2,
>     needing a 20ms "retraction period" to minimize lost
>     messages. Has anyone actually measured the message
>     rate with a faster UART? Or between two micaz's
>     without UART overhead?
>
>     thx
>     MS
>
>     Cory Sharp wrote:
>      > It is packet loss at the TOSBase where the serial port operating at
>      > 56kbps cannot keep up with the radio operating up to
>     250kbps.  You could
>      > try chaning the UART baudrate:
>      > http://www.moteiv.com/community/Change_the_default_UART_baud_rate .
>      >
>      > Cory
>      >
>      > On 10/16/06, *harish prabhu* < [EMAIL PROTECTED]
>     <mailto: [EMAIL PROTECTED]>
>      > <mailto:[EMAIL PROTECTED]
>     <mailto: [EMAIL PROTECTED] >>> wrote:
>      >
>      >     Hi folks,
>      >
>      >       I find that on Tmotes (tinyos 1.x - latest CVS files for
>      >     CC2420RadioM.nc and CC2420RadioC.nc )
>      >       there is significant packet loss (while sending) under the
>      >     following conditions :
>      >
>      >       a) There is only one mote on the channel
>      >       b) Multiple packets are sent one after the other.
>      >       c) The packets are sent by posting a task in the
>     send.SendDone of
>      >          the previous packet.The posted task calls Send.send.
>      >       d) The Radio does not return FAIL in the Send.sendDone
>      >
>      >       The packet loss rate increases with size of the packets.
>      >
>      >        I changed CntToRfm( Counter.nc < http://Counter.nc>
>     < http://counter.nc/> ) to send 3
>      >     packets in a manner described above.
>      >        I also  hacked IntToRfmM.nc to send a packet of size 44
>      >     (including TOS header) - with dummy bytes
>      >        and changed the TOSH_DATA_LENGTH to 60.
>      >
>      >
>      >       I wonder if this is a bug in the CC2420 radio library.
>      >       Adding a delay after Send.sendDone seems to reduce the
>     packet loss.
>      >
>      >       I think this is not a problem with TOSBase missing packets -
>      >     because when
>      >       I changed CntToRfm to send a packet every 20 ms, TOSBase
>     still did
>      >     not seem to
>      >       be losing any packets.
>      >
>      >
>      >       Here is the TOSBase log:
>      >
>      >       SAPP: 1E 01 08 30 FF FF FF FF 04 7D 30 07 01 00 00 00 00 00
>     00 00
>      >     00 00 00 00 00 00 00 00 00 00 00 00
>      >     SAPP: 1E 01 08 31 FF FF FF FF 04 7D 31 07 01 00 00 00 00 00
>     00 00 00
>      >     00 00 00 00 00 00 00 00 00 00 00
>      >     SAPP: 1E 01 08 32 FF FF FF FF 04 7D 32 07 01 00 00 00 00 00
>     00 00 00
>      >     00 00 00 00 00 00 00 00 00 00 00
>      >     SAPP: 1E 01 08 33 FF FF FF FF 04 7D 33 07 01 00 00 00 00 00
>     00 00 00
>      >     00 00 00 00 00 00 00 00 00 00 00
>      >     SAPP: 1E 01 08 35 FF FF FF FF 04 7D 35 07 01 00 00 00 00 00
>     00 00 00
>      >     00 00 00 00 00 00 00 00 00 00 00
>      >     SAPP: 1E 01 08 37 FF FF FF FF 04 7D 37 07 01 00 00 00 00 00
>     00 00 00
>      >     00 00 00 00 00 00 00 00 00 00 00
>      >     SAPP: 1E 01 08 39 FF FF FF FF 04 7D 39 07 01 00 00 00 00 00
>     00 00 00
>      >     00 00 00 00 00 00 00 00 00 00 00
>      >     SAPP: 1E 01 08 3B FF FF FF FF 04 7D 3B 07 01 00 00 00 00 00
>     00 00 00
>      >     00 00 00 00 00 00 00 00 00 00 00
>      >     SAPP: 1E 01 08 3D FF FF FF FF 04 7D 3D 07 01 00 00 00 00 00
>     00 00 00
>      >     00 00 00 00 00 00 00 00 00 00 00
>      >     SAPP: 1E 01 08 3F FF FF FF FF 04 7D 3F 07 01 00 00 00 00 00
>     00 00 00
>      >     00 00 00 00 00 00 00 00 00 00 00
>      >     SAPP: 1E 01 08 40 FF FF FF FF 04 7D 40 07 01 00 00 00 00 00
>     00 00 00
>      >     00 00 00 00 00 00 00 00 00 00 00
>      >     SAPP: 1E 01 08 41 FF FF FF FF 04 7D 41 07 01 00 00 00 00 00
>     00 00 00
>      >     00 00 00 00 00 00 00 00 00 00 00
>      >     SAPP: 1E 01 08 42 FF FF FF FF 04 7D 42 07 01 00 00 00 00 00
>     00 00 00
>      >     00 00 00 00 00 00 00 00 00 00 00
>      >     SAPP: 1E 01 08 44 FF FF FF FF 04 7D 44 07 01 00 00 00 00 00
>     00 00 00
>      >     00 00 00 00 00 00 00 00 00 00 00
>      >     SAPP: 1E 01 08 45 FF FF FF FF 04 7D 45 07 01 00 00 00 00 00
>     00 00 00
>      >     00 00 00 00 00 00 00 00 00 00 00
>      >     SAPP: 1E 01 08 46 FF FF FF FF 04 7D 46 07 01 00 00 00 00 00
>     00 00 00
>      >     00 00 00 00 00 00 00 00 00 00 00
>      >     SAPP: 1E 01 08 47 FF FF FF FF 04 7D 47 07 01 00 00 00 00 00
>     00 00 00
>      >     00 00 00 00 00 00 00 00 00 00 00
>      >     SAPP: 1E 01 08 48 FF FF FF FF 04 7D 48 07 01 00 00 00 00 00
>     00 00 00
>      >     00 00 00 00 00 00 00 00 00 00 00
>      >     SAPP: 1E 01 08 49 FF FF FF FF 04 7D 49 07 01 00 00 00 00 00
>     00 00 00
>      >     00 00 00 00 00 00 00 00 00 00 00
>      >
>      >      The code for Counter.nc < http://Counter.nc>
>     <http://counter.nc/ > :
>      >
>      >      module Counter {
>      >       provides {
>      >         interface StdControl;
>      >       }
>      >       uses {
>      >         interface Timer;
>      >         interface IntOutput;
>      >       }
>      >     }
>      >     implementation {
>      >       int state;
>      >       uint8_t num;
>      >       command result_t StdControl.init()
>      >       {
>      >         state = 1;
>      >         atomic num = 0;
>      >         return SUCCESS;
>      >       }
>      >
>      >       command result_t StdControl.start ()
>      >       {
>      >         return call Timer.start (TIMER_REPEAT, 1000);
>      >       }
>      >
>      >       command result_t StdControl.stop()
>      >       {
>      >         return call Timer.stop();
>      >       }
>      >       task void intOutput()
>      >       {
>      >           if (call IntOutput.output (state))
>      >           state++;
>      >       }
>      >
>      >
>      >       event result_t Timer.fired()
>      >       {
>      >         post intOutput();
>      >     #if 0
>      >         if (call IntOutput.output(state))
>      >           state++;
>      >           dbg(DBG_TEMP|DBG_USR1, "Counter: Value is %i\n",
>     (int)state);
>      >     #endif
>      >         return SUCCESS;
>      >       }
>      >
>      >       event result_t IntOutput.outputComplete(result_t success)
>      >       {
>      >         uint8_t temp;
>      >         if(success == 0) state --;
>      >
>      >         atomic temp = num;
>      >         if (temp < 3)
>      >         {
>      >             post intOutput();
>      >             atomic num++;
>      >         }
>      >         else
>      >         {
>      >             atomic num = 0;
>      >         }
>      >         return SUCCESS;
>      >       }
>      >     }
>      >
>      >
>      >
>      >     Regards,
>      >     Harish
>      >     _______________________________________________
>
_______________________________________________
Tinyos-help mailing list
[email protected]
https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help


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

Reply via email to