It feels like some incompatibility bug with python 3. Try this:

epin.read(64, 100)

2010/9/27 Igor Mohor <igor.mo...@gmail.com>:
> Dear Gentleman,
>
> I need your help. I'm trying to read some data from the USB by using the
> folowing code and I get the error.
>
>
> PythonWin 3.1.2 (r312:79147, Mar 22 2010, 12:20:29) [MSC v.1500 32 bit
> (Intel)] on win32.
> Portions Copyright 1994-2008 Mark Hammond - see 'Help/About PythonWin' for
> further copyright information.
>>>> import usb.core
>>>> import usb.util
>>>> dev =usb.core.find(idVendor=0x04d8, idProduct=0x0204)
>>>> dev.set_configuration()
>>>> interface = dev.get_interface_altsetting()
>>>> ep = usb.util.find_descriptor(interface,
> ... custom_match = \
> ... lambda e: \
> ... usb.util.endpoint_direction(e.bEndpointAddress) == \
> ... usb.util.ENDPOINT_OUT)
>>>> epin = usb.util.find_descriptor(
> ... interface,
> ... custom_match = \
> ... lambda e: \
> ... usb.util.endpoint_direction(e.bEndpointAddress) == \
> ... usb.util.ENDPOINT_IN)
>>>> ep.write([0x80])
> 1
>>>> ep.write([0x80])
> 1
>>>> ep.write([0x80])
> 1
>>>> ep.write([0x81])
> 1
>>>> epin.read(64)
> Traceback (most recent call last):
>   File "<interactive input>", line 1, in <module>
>   File "C:\Python31\lib\site-packages\usb\core.py", line 273, in read
>     return self.device.read(self.bEndpointAddress, size, self.interface,
> timeout)
>   File "C:\Python31\lib\site-packages\usb\core.py", line 624, in read
>     self.__get_timeout(timeout)
>   File "C:\Python31\lib\site-packages\usb\_debug.py", line 53, in do_trace
>     return f(*args, **named_args)
>   File "C:\Python31\lib\site-packages\usb\backend\libusb01.py", line 448, in
> bulk_read
>     timeout)
>   File "C:\Python31\lib\site-packages\usb\backend\libusb01.py", line 524, in
> __read
>     buffer = array.array('B', '\x00' * size)
> TypeError: an integer is required
>>>>
>
>
> When I execute the same code on the following system:
>
> Python 2.6.6 (r266:84297, Aug 24 2010, 18:46:32) [MSC v.1500 32 bit (Intel)]
> on win32
> Type "copyright", "credits" or "license()" for more information.
>
> I get the correct response which is:
>
>>>> epin.read(64)
> array('B', [129, 1, 133, 74, 20, 208, 66, 49, 65, 160, 28, 16, 2, 88, 146,
> 82, 4, 0, 64, 8, 4, 131, 20, 108, 130, 30, 1, 37, 1, 84, 138, 23, 146, 2,
> 214, 0, 74, 96, 6, 76, 32, 220, 19, 68, 128, 200, 32, 6, 44, 148, 10, 9, 22,
> 128, 58, 96, 34, 132, 0, 2, 109, 0, 2, 50])
>>>>
>
>
>
> Can somebody help me to get the data also with version 3.1.2.
>
> Thanks and best regards,
>       Igor
>
>
>
>
> ------------------------------------------------------------------------------
> Start uncovering the many advantages of virtual appliances
> and start using them to simplify application deployment and
> accelerate your shift to cloud computing.
> http://p.sf.net/sfu/novell-sfdev2dev
> _______________________________________________
> pyusb-users mailing list
> pyusb-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/pyusb-users
>
>



-- 
Best Regards,
Wander Lairson Costa

------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
pyusb-users mailing list
pyusb-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pyusb-users

Reply via email to