I'm working with a soundcard and I'm trying to implement the isochronous
write function (libusb-win32 backend). It's not pretty, but here's what I
have so far.
# def iso_write(self, dev_handle, ep, intf, data, timeout):
# pass
# int usb_isochronous_setup_async(usb_dev_handle *dev, void **context,
unsigned char ep, int pktsize);
# int usb_submit_async(void *context, char *bytes, int size);
@methodtrace(_logger)
def iso_write(self, dev_handle, ep, intf, data, epsize,timeout):
r0 = c_void_p()
request0 = pointer(r0)
data_cnt0=0
address, buffersize = data.buffer_info()
buffersize *= data.itemsize
#setup works
print _lib.usb_isochronous_setup_async(dev_handle,request0, ep,epsize)
#submit fails
return int(_check(_lib.usb_submit_async(r0,
cast(address, c_char_p),
buffersize)))
for x in range(0,10):
data_cnt0 = _lib.usb_reap_async(request0,5000)
_lib.usb_submit_async(r0,
cast(address, c_char_p),
buffersize)
print data_cnt0
This produces the following error.
USBError: [Errno None] libusb0-dll:err [submit-async] submitting request
failed, win error: The parameter is incorrect.
It looks like it's in reference to the cast(address,c_char_p) parameter,
Could it be the pointer?
Any ideas as to what I'm doing wrong here?
Is there publicly available experimental code for libusb-win32 iso_write?
Thanks,
Spencer
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
pyusb-users mailing list
pyusb-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pyusb-users