[openbeos] Re: USB interface

  • From: "François Revol" <revol@xxxxxxx>
  • To: openbeos@xxxxxxxxxxxxx
  • Date: Mon, 28 Aug 2006 17:26:43 +0200 CEST

> The v2 API (as defined in the USB.h header in the drivers subdir) is
> source and binary compatible with the new USB stack (as said by Axel
> and Jerome). This API is a bit limited though, you might require the
> v3 API to fully utilize the hardware (it can be found in Haiku's
> subversion repository). It should/will be possible to run the new USB
> stack on your R5 installation in the near future.
> 
> In the mean time, have a look at the v2 api and try to use that one.
> Note: bulk transfers are notoriously buggy on R5's stack.
> 

It appears you are missusing an official version number.
v3 is already being used in Zeta...
and differs from what you have in USB3.h, notably queue_isochronous :

USB.h, usb_module_info_v3:
(*queue_isochronous)(usb_pipe _pipe,
void *data, size_t len,
usb_iso_packet_descriptor* packet_descriptors,
uint32 packet_count,
uint32 *starting_frame_number, /* optional, can be NULL */
uint32 flags,
usb_callback_func notify, void *cookie);

headers/os/drivers/USB3.h:
(*queue_isochronous)(usb_pipe pipe,
void *data, size_t dataLength,
rlea *rleArray,
uint16 bufferDurationMS,
usb_callback_func callback,
void *callbackCookie);

ok, noone uses it (yet, I tried but didn't find any doc anyway) and iso 
is barely implemented.
Other changes in both v3 seem to match though.
Still it would still be better using another version number.

François.


Other related posts: