From: Xiaofan C. <xia...@gm...> - 2016-02-25 05:40:38
|
On Thu, Feb 25, 2016 at 1:31 PM, Xiaofan Chen <xia...@gm...> wrote: > I am not so sure if pyusb will allow you to reach the full potential. Since this ticker is still open. https://github.com/walac/pyusb/issues/63 > In order to have better speed, increase the transfer size, use async I/O > and then use an external HUB. > > libusb async I/O: http://libusb.sourceforge.net/api-1.0/group__asyncio.html > > I think you will have a good idea by reading the answers from Tsuneo here. > +++++++++++++++++++++++ > http://www.microchip.com/forums/tm.aspx?m=417509 > ... > ++++++++++++++++++++++ > Another advise from another USB expert: Tim Roberts. ++++++++++++++++++ Repeating a speech I give relatively often, remember that USB traffic is all scheduled in advance. The whole frame is laid out ahead of time, and the schedule is sent to the hardware. So, the only requests that will be present in a frame are those that were already pending when the host controller driver started to create the schedule. After it is submitted, any new requests will be scheduled into the NEXT frame. A full-speed frame can transfer about 1200 bytes. If you expect to be able to transfer that much data, then you must submit 1200 bytes worth of requests before the frame begins. ++++++++++++++++++ -- Xiaofan |