Hi folks, I'm new on pyusb programming and to learn how to get data i'm trying to get data sent from my mouse. I've download a program called usbview( http://www.kroah.com/linux/usb/ ) to display the device descriptors of any USB device pluged to my computer. I made a peace of code that was supposed to get the data sent from my mouse but when i try to run it there is an error saying that the device is busy =S


Code:
=======================================================================================

import sys
import usb
import time
import struct
import array
import math


class DeviceDescriptor(object) :
   def __init__(self, vendor_id, product_id, interface_id) :
       self.vendor_id = vendor_id
       self.product_id = product_id
       self.interface_id = interface_id
def getDevice(self) :

       busses = usb.busses()

for bus in busses: for device in bus.devices :
               if device.idVendor == self.vendor_id :
                   if device.idProduct == self.product_id :
                       return device
       return None






class PlugUSBDevice(object) :
PLUG_VENDOR_ID = 0x1c4f # mouse vendor id
   PLUG_PRODUCT_ID = 0x0003        # mouse product id
   PLUG_INTERFACE_ID = 0        # mouse interface number
   PLUG_INTERRUPT_IN_EP = 0x81L    # mouse end point address

   def __init__(self) :
self.device_descriptor = DeviceDescriptor(PlugUSBDevice.PLUG_VENDOR_ID, PlugUSBDevice.PLUG_PRODUCT_ID, PlugUSBDevice.PLUG_INTERFACE_ID)
       self.device = self.device_descriptor.getDevice()
       self.handle = None

   def open(self) :
       self.device = self.device_descriptor.getDevice()
       self.handle = self.device.open()
       self.handle.claimInterface(self.device_descriptor.interface_id)

   def close(self) :
       self.handle.releaseInterface()

   def getDataPacket(self, bytesToGet) :
return self.handle.interruptRead(PlugUSBDevice.PLUG_INTERRUPT_IN_EP, bytesToGet, 15)


if __name__ == "__main__":
   device = PlugUSBDevice()
   device.open()
   print device.getDataPacket(4)


The error:
************************************************************
 File "readusb.py", line 61, in <module>
   device.open()
 File "readusb.py", line 50, in open
   self.handle.claimInterface(self.device_descriptor.interface_id)
usb.USBError: could not claim interface 0: Device or resource busy
************************************************************
==================================================================================================

What am i doing wrong? =S
_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to