From: Edwin H. <edw...@gm...> - 2012-09-06 10:48:32
|
In the hope of getting a response in a timely fashion, I've also asked this same question here: http://robovero.org/lab/questions/how-fast-is-communication-between-the-overo-and-the-roboverolpc-expected-to-be/ Anyway. I've got myself a Robovero, with a Overo FireSTORM sitting on top. No issues with talking to the Overo nor the Robovero/LPC, nor with getting the Python Client Library to work. However, the performance of the Python Client Library seems lack-lustre: Basically all the functions in the Python Client Library boil down to a call to robocaller() (in internals.py), which sends a request via serial link to the LPC, and gets a response (consisting of a single int) back the same way. Hence, the fastest you can get data from the LPC back to your computer depends on how long each individual call to robocaller() takes. If I talk to the Robovero from my desktop PC, a single call to (for example) the uart receive function takes about 0.3ms; plenty quick. If I do the same thing from my Overo, a single call takes about 15ms; fifty times slower. This seriously limits the usability of the whole thing, because you couldn't possibly get back more than about 60 characters worth of data from the LPC per second, even if you followed the instructions on the 'advanced workflow' page to optimize your code to the bare minimum set of requests. Anyway, I assume that something is wrong here, because the Robovero would seem to be almost totally useless if you can't even read a NMEA GPS via UART fast enough. So, could somebody either indicate that they experience faster calls to the LPC (and hence something is wrong with my setup), or explain how I am being foolish? Cheers! |
From: Juan D. H. V. <ju...@gm...> - 2012-09-06 11:08:47
|
Well .. I have been working with Robovero+OveroFire for almost a year (http://robovero.org/lab/projects/rosphere/). Unfortunately, what you have noted is not new for me and other Robovero's users. The problem is the firmware and the bottleneck generated in USB communications. In my case, the solution I found was to code new routines/functions for Robovero's firmware. In the particular case of my robot's GPS, I have coded a new firmware function that asks Robovero for whole GPS information, while I have programed Robovero's processor to use its interruptions to collect GPS information continuously. Hope this help :-) Any doubt, please do not hesitate to contact me :-) ... Regards, -- Juan David Hernández Vega PhD. Student in Automation and Robotics Robotics and Automation Center (CAR) UPM-CSIC Universidad Politécnica de Madrid On Sep 6, 2012, at 12:48 PM, Edwin Hayes wrote: > In the hope of getting a response in a timely fashion, I've also asked this same question here: http://robovero.org/lab/questions/how-fast-is-communication-between-the-overo-and-the-roboverolpc-expected-to-be/ > > Anyway. I've got myself a Robovero, with a Overo FireSTORM sitting on top. No issues with talking to the Overo nor the Robovero/LPC, nor with getting the Python Client Library to work. However, the performance of the Python Client Library seems lack-lustre: > > Basically all the functions in the Python Client Library boil down to a call to robocaller() (in internals.py), which sends a request via serial link to the LPC, and gets a response (consisting of a single int) back the same way. > > Hence, the fastest you can get data from the LPC back to your computer depends on how long each individual call to robocaller() takes. > > If I talk to the Robovero from my desktop PC, a single call to (for example) the uart receive function takes about 0.3ms; plenty quick. If I do the same thing from my Overo, a single call takes about 15ms; fifty times slower. This seriously limits the usability of the whole thing, because you couldn't possibly get back more than about 60 characters worth of data from the LPC per second, even if you followed the instructions on the 'advanced workflow' page to optimize your code to the bare minimum set of requests. > > Anyway, I assume that something is wrong here, because the Robovero would seem to be almost totally useless if you can't even read a NMEA GPS via UART fast enough. So, could somebody either indicate that they experience faster calls to the LPC (and hence something is wrong with my setup), or explain how I am being foolish? > > > > Cheers! ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/_______________________________________________ > gumstix-users mailing list > gum...@li... > https://lists.sourceforge.net/lists/listinfo/gumstix-users |