On Mon, Jun 20, 2011 at 10:03 PM, Xiaofan Chen <[email protected]> wrote: > On Tue, Jun 21, 2011 at 8:09 AM, Caleb Kemere <[email protected]> wrote: > > If you use synchronous API, the main way to help is to increase > the bufferSize but then there is a limit. After all, the internal buffer > of FTDI chips are limited (two buffers, each 512Bytes in the FIFO > mode, for FT2232H, even though the RX/TX buffer is 4KB). So if > the host fails to fire one USB IN request for 512B, you are still > fine but if the host fails to fire two USB IN requests, you are done.
Interesting, so the FT2232H is only using 512B of it's FIFO's? I don't fully understand the frames and microframes of USB 2.0 - does the kernel generate a schedule based on the frame clock (1 kHz)? That could explain a lot - that would mean that if I ever missed scheduling a frame, I'd be locked out for 1 ms (and would buffer overflow).... > If you use the async API, I believe the bufferSize can be reduced. Yup - now that I understand that the sync interface is built on top of the async interface, I should be able to get at least as good async as sync. this is really helpful! – caleb -- libftdi - see http://www.intra2net.com/en/developer/libftdi for details. To unsubscribe send a mail to [email protected]
