Resources shouldn't be an issue--the same message slots already used by a FIFO are going to exist (unless the number is changed) and there is minimal RAM overhead otherwise. However, O(n) only comes into play for n > C. It may be faster (and easier) simply to perform a sequential scan.
HTH, Paul On Mon, Jun 16, 2008 at 10:22 PM, Abhishek Anand <[EMAIL PROTECTED]> wrote: > > 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 > _______________________________________________ Tinyos-help mailing list Tinyos-help@millennium.berkeley.edu https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help