Yeah, I'm considering that. But that involves some major changes in the
BasStation app.
Currently it stores the packets received from the pc in queue and sends thru
radio them in a FIFO faishon.
But this doesnt suit me. I want the packets to be sent according to the
timestamp when they are scheduled to be sent.
And those timestamps can change dynamically if sending fails due to
congestion.

Is it wise to implement a priority queue using a minheap(key=timestamp of
the instant the packet is supposed to be sent) in such limited resources?
On Tue, Jun 17, 2008 at 12:53 AM, Janos Sallai <[EMAIL PROTECTED]>
wrote:

>  Abhishek:
>
>
>
> There is just too much jitter in the delays in the pc->mote communication,
> especially if you use java. Most of this jitter you just can't control (JVM,
> OS, USB, etc.)
>
>
>
> Have you considered moving the timing-sensitive code to the mote?
>
>
>
> Janos
>
>
>
> *From:* [EMAIL PROTECTED] [mailto:
> [EMAIL PROTECTED] *On Behalf Of *Abhishek Anand
> *Sent:* Monday, June 16, 2008 11:22 AM
> *To:* Andrey Gursky; tinyos-help@millennium.berkeley.edu
>
> *Subject:* Re: [Tinyos-help] Mote-PC serial speed increasing
>
>
>
> Hi,
>
>
>
> I'm facing a similar problem!
>
> My protocol requires a strict time control on when the the packets are
> actually transmitted from the base station.
>
> I have programmed by base-station-mote with the BaseStation app in
> /$TOSROOT/apps/ folder.
>
> On the PC, my java program uses a the MoteIF class to send the packets
>
> But unfortunately, it takes randomly a value b/w 8 to 25ms for the packets
> to be ultimately broadcasted thru radio.
>
> I mean the call to
>
>      MoteIF.send(MoteIF.TOS_BCAST_ADDR, smsg);
> in java takes anything b/w 8-25ms to return.
>
>
>
> This is causing a lot of problem for me because my application requires
> fine timing control
>
> I'm okay with a delay of 20ms but is there any way to remove the randomness
> of the time taken?
>
> In other words, is it possible to do something so that there is a FIXED gap
> of few ms b/w call to MoteIF.send
>
> and the the commencement of the radio transmission of the packet at the
> Base-station mote?
>
>
>
> Regards,
>
> Abhishek Anand
>
> IIT Guwahati
>
> On Mon, Jun 16, 2008 at 9:00 PM, Andrey Gursky <[EMAIL PROTECTED]>
> wrote:
>
> Hi!
>
> Thanks Janos for your advices!
>
> I've changed the serial speed to 230400 (because of serial speed
> declarations in GNU/Linux). It works :)
> After simple test with printf() there is about 1 Kbyte/s :(
> Than I've changed printf() test application. I supply printf() a string
> with about 250 characters, then flush(). I could read about 8.5 Kbyte/s.
> It's really more than standard for IRIS 57600 Kbit/s, but it is still less
> than standard for other platforms. I've used PrintfClient to get the data.
>
> What do you think, is there a bottleneck easy to reprogram? I haven't
> tested yet how much traffic I can transmit throw ZigBee. If this will not
> more than 8.5 Kbyte/s then there is no sense to work around serial
> communication.
>
> Best regards,
> Andrey
>
>
>
> > Andrey:
> >
> > I think the code change you're proposing should work.
> >
> > >So atm128 doesn't have speed enough to guarantee 256 KBit/s
> > >data connection pc<->mote? If one want this, one should
> > >implement a different platform with another microcontroller?
> >
> > There's a good chance that it works. Just give it a try. BTW, I bet
> you'll never
> >  be getting 250kbps worth of zigbee payload in through the radio...
> >
> > >By the way, MIB520 has also a microcontroller on board.
> > >Is USART of Mote directly connected to FTDI chip or
> > >throw this microcontroller?
> >
> > It's hooked up directly to the FTDI chip.
> >
> > >It seems to be not so easy even at the standard serial speed :(
> > Obviously, 57600bps might not be sufficient to push through all the
> incoming
> >  radio traffic...
> >
> > Janos
> >
> > -----Original Message-----
> > From: [EMAIL PROTECTED] [mailto:
> [EMAIL PROTECTED]
> >  On Behalf Of Andrey Gursky
> > Sent: Thursday, June 12, 2008 6:00 AM
> > To: tinyos-help@millennium.berkeley.edu
> > Subject: Re: [Tinyos-help] Mote-PC serial speed increasing
> >
> > Thanks Janos!
> >
> > > On the iris, the ubrr0 register is set, at initialization time, to a
> calibrated
> > >  value for 57600bps. You can change the baud rate by writing this
> register.
> > >
> >
> > I've found in $TOSROOT/tos/chips/atm128 this code:
> >
> >   command error_t Init.init() {
> >     if (PLATFORM_BAUDRATE == 19200UL)
> >       m_byte_time = 200; // 1 TMicor ~= 2.12 us, one byte = 417us ~= 200
> >     else if (PLATFORM_BAUDRATE == 57600UL)
> >       m_byte_time = 68;  // 1 TMicor ~= 2.12 us, one byte = 138us ~= 65
> >     return SUCCESS;
> >   }
> >
> > I could add the line like this (or I should seek on to find ubrr0?)
> > ..
> >     else if (PLATFORM_BAUDRATE == 256000UL)
> >       m_byte_time = ----->15<-----;  // 1 TMicor ~= 2.12 us, one byte
> >  = ----->31us<----- ~= ----->15<-----
> > ..
> >
> > >
> > > This should work with a MIB520, but it is problematic with a MIB510.
> Should
> > >  you have the former programming board, the bottleneck will probably be
> the
> > >  interrupt load on the mote in the pc->mote direction. Note that the
> serial
> > >  stack doesn't buffer outgoing packets (mote->pc), so the app must
> assume
> > >  a lossy mote->pc link.
> > >
> >
> > I have MIB520 (with usb) :)
> > So atm128 doesn't have speed enough to guarantee 256 KBit/s data
> connection
> >  pc<->mote? If one want this, one should implement a different platform
> >  with another microcontroller?
> >
> > By the way, MIB520 has also a microcontroller on board. Is USART of Mote
> directly
> >  connected to FTDI chip or throw this microcontroller?
> >
> > There is one post seems to achieve similar goal: the highest speed :)
> >
> https://www.millennium.berkeley.edu/pipermail/tinyos-help/2008-June/034218.html
> >
> > It seems to be not so easy even at the standard serial speed :(
> >
> > Could someone point me to reference where I can read about what the
> atm128x
> >  has yet free to use as quick and reliable communication with PC (SPI,
> I2C)?
> >  Or the best idea were to use other small design to exchange messages
> between
> >  PC and ZigBee motes?
> >
> >
> >
> > >
> > > -----Original Message-----
> > > From: [EMAIL PROTECTED] [mailto:
> [EMAIL PROTECTED]
> > >  On Behalf Of Andrey Gursky
> > > Sent: Tuesday, June 03, 2008 6:16 AM
> > > To: tinyos-help@millennium.berkeley.edu
> > > Subject: [Tinyos-help] Mote-PC serial speed increasing
> > >
> > > Hi tinyOS-community!
> > >
> > > It seems possible (according datasheet) to use USART of ATmega128x in
> >57600
> > >  speed mode. Thus ZigBee functions of 250 Kbit/s it would be nice to
> have this
> > >  speed also between basestation and PC.
> > > Does somebody know exactly, whether it would be as of some other
> reasons not
> > >  possible? Or have I to alter configuration in .../chip/atm1281 to get
> this
>
> > >  working?
> > >
> > >
> > > Best regards,
> > > Andrey
> > >
> > > P.S. Particularly I'm interesting in iris-motes.
> > > _______________________________________________
> > > 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
> >
> _______________________________________________
> 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