From: TJ <tho...@gm...> - 2011-02-17 18:17:03
|
I changed the libusb_alloc_transfer() to allocate more memory and still have same problem. ====> transfer_response_in = libusb_alloc_transfer(20); //Allocation is done with the libusb_alloc_transfer() Looking over the documentation I need to... We can view asynchronous I/O as a 5 step process: 1. *Allocation*: allocate a libusb_transfer<http://libusb.sourceforge.net/api-1.0/structlibusb__transfer.html> 2. *Filling*: populate the libusb_transfer<http://libusb.sourceforge.net/api-1.0/structlibusb__transfer.html>instance with information about the transfer you wish to perform 3. *Submission*: ask libusb to submit the transfer 4. *Completion handling*: examine transfer results in the libusb_transfer<http://libusb.sourceforge.net/api-1.0/structlibusb__transfer.html>structure 5. *Deallocation*: clean up resources Any insight? On Wed, Feb 16, 2011 at 9:59 PM, Thomas J Cramer <tho...@gm...>wrote: > I'm sorry about the formatting, let me try again. > > > *AsynchEx.c => *http://www.filefactory.com/file/b5706ac/n/AsynchEx.c > > PIC's firmware is from Microchips's "LibUSB Simple Demo - Firmware" and the > main files are => > > *usb_descriptors.c => * > http://www.filefactory.com/file/b5706ad/n/usb_descriptors.c ** > > *usb_device.c => *http://www.filefactory.com/file/b5706af/n/usb_device.c > > *main.c => *http://www.filefactory.com/file/b5706ag/n/main.c > > *usb_function_generic.c => * > http://www.filefactory.com/file/b5706ah/n/usb_function_generic.c > > *usb.h => *http://www.filefactory.com/file/b5706b0/n/usb.h ** > > > I get error -1 from libusb_submit_transfer() shown below... > -------Start output-- > # gcc AsynchEx.c -L/lib/libusb-1.0.so.0 -lusb-1.0 -lm > # ./a.out > device found > ret_value from libusb_open=0 > Claimed interface > return value from libusb_submit_transfer(for transfer_response_in)= -1 > return value from libusb_submit_transfer(for transfer_command_out)=-1 > Entering loop to process callbacks... > do_exit=0, shutting down... > at out_deinit > End > -------End output--- > > > > On Wed, Feb 16, 2011 at 6:49 PM, Thomas J Cramer <tho...@gm...>wrote: > >> I'm trying to make asynchronous calls based off "AsynchEx.c" from => >> http://libusb.6.n5.nabble.com/porting-from-0-1-to-0-93-example-code-td5589.html >> >> >> *AsynchEx.c => *http://www.filefactory.com/file/b5706ac/n/*AsynchEx.c * >> >> PIC's firmware is from Microchips's "LibUSB Simple Demo - Firmware" and >> the main files are => >> >> *usb_descriptors.c => *http://www.filefactory.com/file/b5706ad/n/* >> usb_descriptors.c * >> >> *usb_device.c => *http://www.filefactory.com/file/b5706af/n/*usb_device.c >> * >> >> *main.c => *http://www.filefactory.com/file/b5706ag/n/*main.c * >> >> *usb_function_generic.c => *http://www.filefactory.com/file/b5706ah/n/*usb_function_generic.c >> * >> >> *usb.h => *http://www.filefactory.com/file/b5706b0/n/*usb.h * >> >> >> I get error -1 from libusb_submit_transfer() shown below... >> -------------------------------------------Start >> output--------------------------------------------- >> # gcc AsynchEx.c -L/lib/libusb-1.0.so.0 -lusb-1.0 -lm >> # ./a.out >> device found >> ret_value from libusb_open=0 >> Claimed interface >> return value from *libusb_submit_transfer(for transfer_response_in)= -1* >> return value from *libusb_submit_transfer(for transfer_command_out)=-1* >> Entering loop to process callbacks... >> do_exit=0, shutting down... >> at out_deinit >> End >> -------------------------------------------End >> output--------------------------------------------- >> >> >> From reading other posts I think it might be an endpoint address error but >> I need to read a lot more and hopefully posting here would be more helpful. >> >> >> Any insight would be great, I looked thorough the API for the error code >> and no luck :) >> >> Thanks. >> > > |