|
From: Kitsok <ko...@ki...> - 2007-08-07 10:38:06
|
Hello All! I'm developing gaming device for flight simulation. Part of the device is HID joystick, another part is custom input(encoders, DACs, rotary switches, etc) and output (LED displays, PWM controlled gauges, lamps, etc). Originally it was pure HID device with input and output reports defind, but I've found that I need more data to be transferred in and out. So my goal is to use Windows driver for HID part and LibUSB for custom part. In host application I'm going to use bulk read and writes. The first (and major) question is - it is possible to write the inf file in a way where the HID part(&MI_00) is served by windows driver and the custom part is served by LibUSB? The second question is actually regarding bulk transfer. The device(AT91SAM7S256) has 4 endpoints, 2 of them (planned to be used by custom part) has size of 64 bytes. Also the endpoints support ping-pong transfer. I plan to bulk transfer 256-512 bytes in one usb_bulk_write/read call so I suppose that there will be 4-8 consequentive data out/in transactions. The question is - will it work as expected or I can send no more than maximum EP size in a time? Thanks! Best regards, Konstantin Klubnichkin -- View this message in context: http://www.nabble.com/Composite-device---HID-%2B-custom-tf4229374.html#a12031879 Sent from the LibUSB Dev - Win32 mailing list archive at Nabble.com. |
|
From: Stephan M. <ste...@we...> - 2007-08-08 18:52:45
|
> > > Hello All! > > I'm developing gaming device for flight simulation. > Part of the device is HID joystick, another part is custom input(encoders, > DACs, rotary switches, etc) and output (LED displays, PWM controlled gauges, > lamps, etc). > > Originally it was pure HID device with input and output reports defind, but > I've found that I need more data to be transferred in and out. > > So my goal is to use Windows driver for HID part and LibUSB for custom part. > In host application I'm going to use bulk read and writes. > > The first (and major) question is - it is possible to write the inf file in > a way where the HID part(&MI_00) is served by windows driver and the custom > part is served by LibUSB? Yes that's possible. See http://msdn2.microsoft.com/en-us/library/ms791091.aspx for details. > > The second question is actually regarding bulk transfer. > The device(AT91SAM7S256) has 4 endpoints, 2 of them (planned to be used by > custom part) has size of 64 bytes. Also the endpoints support ping-pong > transfer. > > I plan to bulk transfer 256-512 bytes in one usb_bulk_write/read call so I > suppose that there will be 4-8 consequentive data out/in transactions. The > question is - will it work as expected or I can send no more than maximum > EP size in a time? The amount of data you can send or receive at once is only limited by the OS and/or your system's RAM. > > Thanks! > > Best regards, > Konstantin Klubnichkin > -- > View this message in context: http://www.nabble.com/Composite-device---HID-%2B-custom-tf4229374.html#a12031879 > Sent from the LibUSB Dev - Win32 mailing list archive at Nabble.com. > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. > Still grepping through log files to find problems? Stop. > Now Search log events and configuration files using AJAX and a browser. > Download your FREE copy of Splunk now >> http://get.splunk.com/ > _______________________________________________ > Libusb-win32-devel mailing list > Lib...@li... > https://lists.sourceforge.net/lists/listinfo/libusb-win32-devel > ______________________________________________________________________________ Jetzt neu! Im riesigen WEB.DE Club SmartDrive Dateien freigeben und mit Freunden teilen! http://www.freemail.web.de/club/smartdrive_ttc.htm/?mc=021134 |
|
From: Kitsok <ko...@ki...> - 2007-08-13 09:59:13
|
Hello Stephan! Stephan Meyer wrote: > > Yes that's possible. See > http://msdn2.microsoft.com/en-us/library/ms791091.aspx > for details. > Well, as far as I understood I need an inf-file for the part of the composite device. Firstly I've installed libUSB as filter and had unknown device + HID device. After that I've modified an inf file made by the wizard from binary driver distribution. I've removed .cat parts and added "&MI_01" to "devices" part: [Devices] -"PTJoy Composite Device"=LIBUSB_DEV, USB\VID_ffff&PID_3015 +"PTJoy Custom Device"=LIBUSB_DEV, USB\VID_ffff&PID_3015&MI_01 [Devices.NT] -"PTJoy Composite Device"=LIBUSB_DEV, USB\VID_ffff&PID_3015 +"PTJoy Custom Device"=LIBUSB_DEV, USB\VID_ffff&PID_3015&MI_01 [Devices.NTAMD64] -"PTJoy Composite Device"=LIBUSB_DEV, USB\VID_ffff&PID_3015 +"PTJoy Custom Device"=LIBUSB_DEV, USB\VID_ffff&PID_3015&MI_01 After that my device was recognized as "PTJoy Custom Device". The test application successfully seen my devices, but the bulk example failed on if(usb_set_configuration(dev, 1) < 0) If I do usb_set_configuration(dev,0) then I fail on usb_claim_interface(dev, 0) After that I've de-installed libusb filter and tried to install libusb as pure driver for my custom part. In this case the test application doesn't see libusb buses at all... Could you please point me where to dig? Thanks! Best regards, Konstantin Klubnichkin -- View this message in context: http://www.nabble.com/Composite-device---HID-%2B-custom-tf4229374.html#a12123666 Sent from the LibUSB Dev - Win32 mailing list archive at Nabble.com. |