On 03/02/2011, at 17:52, Hans Petter Selasky wrote: >> I am trying to get it working at the moment, however I'm only finding it >> capable of 4 or 8 Mb/sec (512 or 1024 byte EP), although perhaps I don't >> understand how to do ISO transfer properly. > > Hi, > > You need to set the multiplier to 2 or 3. Then you get 3*1024 bytes at > maximum.
OK, so I need.. usb_xf[i].xf = libusb_alloc_transfer(3); p = malloc(3 * 1024); libusb_fill_iso_transfer(usb_xf[i].xf, h, 0x82 p, 3 * 1024, 3, usbcb, &usb_xf[i], 2000); ? >> BTW do you have a feel for the latency in bulk vs iso? I currently have >> 5-10 msec of buffering in the hardware which I plan on increasing but I'm >> not sure what a reasonable amount would be :) >> >> I put a logic analyser on my board and it shows fairly regular requests >> from the hardware (16kbyte bursts every 2msec or so) however I see >> glitches occasionally - 5.5ms, 7.5ms. >> >> I am not sure if they are attributable to userland scheduling (in which >> case writing a kernel driver should help) or some subtlety in USB itself. > > Are you using two isochronous transfers or just one? It is a single in endpoint. The device also has 2 in bulk and 2 out bulk endpoints for other data but they are idle while the iso one is running. -- Daniel O'Connor software and network engineer for Genesis Software - http://www.gsoft.com.au "The nice thing about standards is that there are so many of them to choose from." -- Andrew Tanenbaum GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C _______________________________________________ [email protected] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-usb To unsubscribe, send any mail to "[email protected]"
