GORAN RADIVOJEVIC wrote: > Interval is 1 and I think something is wrong in calculation routine. > I did more tests and result is ~1.5MB/s for 3072 packet size (~2MB/s > for 4096).
I'm confused by this statement. You can't have 4096-byte packets in high speed. You can have 3072 (1024-byte packets with 3 transfers per microframe), which gives you 24MB/s. > Now after > one week testing receiver works without problem but I have another question: > how to control IN endpoint buffers? I'm using 16 for IsoPacketsPerTransfer and > MaxOutstandingTransfers with 4096 buffers and for OUT Ep I can analyze 16 > buffer > and discard empty one, put correct packet into ring buffer and perform DSP > function. > When I try to return data to USB device how to use only 12 (for 256 Ep size) > or only > 6 (for 512 Ep size)? How to skip packets? Is it possible on Host side or my > USB > device must do the job? There seem to be several questions mixed together in there. On the IN side, you must provide room for one packet for EVERY interval you are going to encounter. Each packet in your packet array is mapped to one interval. So, if your endpoint has 1024 packets with an interval of 1, and you submit a request with 8x 1024-byte packets, that will cover exactly one frame, no matter how much data is sent. If your device sends something during an interval, it will be copied into the corresponding packet. If your device skips an interval, that packet will be left EMPTY. It is up to your application to decode this. On the output side, you don't get to control the scheduling. You just send a buffer. It will be sent to the hardware as fast as possible. So, using the previous example, if you send 4096 bytes, that will be sent as 4x 1024-byte packets during the first four microframes. You can't skip intervals, and of course there is no retrying if your device isn't ready (whereas there IS with an interrupt pipe). Seriously, isochronous is much less convenient that interrupt. -- Tim Roberts, t...@probo.com Providenza & Boekelheide, Inc. ------------------------------------------------------------------------------ CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments & Everything In Between. Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk _______________________________________________ libusbx-devel mailing list libusbx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libusbx-devel