From d789b6d6278854ef81cecd9a7b7010d0c7b0a854 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 16 Jan 2007 20:33:15 +0000 Subject: [PATCH] Added a set configuration call to device initialization as this is needed in windows and doesn't seem to matter in linux. Fixed BBeBook. --- src/libprs500/communicate.py | 11 +++++++++ src/libprs500/libusb.py | 36 +++++++++++++++++++++++++++--- src/libprs500/lrf/BBeBook-0.2.jar | Bin 4195512 -> 4195513 bytes 3 files changed, 44 insertions(+), 3 deletions(-) diff --git a/src/libprs500/communicate.py b/src/libprs500/communicate.py index 8965519fe0..047be80e7e 100755 --- a/src/libprs500/communicate.py +++ b/src/libprs500/communicate.py @@ -233,6 +233,17 @@ class PRS500Device(Device): raise DeviceError() try: self.handle = self.device.open() + configs = self.device.configurations + cfg = configs[0] + for config in configs: + if config.MaxPower > cfg.MaxPower: + cfg = config + try: + self.handle.set_configuration(cfg) + except USBError: + for config in configs: + if config.Value != cfg.Value: + self.handle.set_configuration(config) self.handle.claim_interface(self.INTERFACE_ID) except USBError, err: raise DeviceBusy(str(err)) diff --git a/src/libprs500/libusb.py b/src/libprs500/libusb.py index 5538e8a764..4d751d2e56 100644 --- a/src/libprs500/libusb.py +++ b/src/libprs500/libusb.py @@ -97,7 +97,7 @@ class ConfigDescriptor(Structure): ('DescriptorType', c_ubyte), \ ('TotalLength', c_ushort), \ ('NumInterfaces', c_ubyte), \ - ('ConfigurationValue', c_ubyte), \ + ('Value', c_ubyte), \ ('Configuration', c_ubyte), \ ('Attributes', c_ubyte), \ ('MaxPower', c_ubyte), \ @@ -105,6 +105,14 @@ class ConfigDescriptor(Structure): ('extra', POINTER(c_char)), \ ('extralen', c_int) \ ] + + def __str__(self): + ans = "" + for field in self._fields_: + ans += field[0] + ": " + str(eval('self.'+field[0])) + '\n' + return ans.strip() + + class Error(Exception): pass @@ -117,6 +125,17 @@ class Device(Structure): if not handle: raise Error("Cannot open device") return handle.contents + + @apply + def configurations(): + doc = """ List of device configurations. See L{ConfigDescriptor} """ + def fget(self): + ans = [] + ans.append(self.config_descriptor.contents) + for config in range(self.device_descriptor.NumConfigurations): + ans.append(self.config_descriptor[config]) + return tuple(ans) + return property(doc=doc, fget=fget) class Bus(Structure): @apply @@ -153,10 +172,20 @@ class DeviceHandle(Structure): """ Close this DeviceHandle """ _libusb.usb_close(byref(self)) - def set_configuration(self, num): + def set_configuration(self, config): + """ + Set device configuration. This has to be called on windows before + trying to claim an interface. + @param config: A L{ConfigDescriptor} or a integer (the ConfigurationValue) + """ + try: + num = config.Value + except AttributeError: + num = config ret = _libusb.usb_set_configuration(byref(self), num) if ret < 0: - raise Error('Failed to set device configuration to: ' + num) + raise Error('Failed to set device configuration to: ' + str(num) + \ + '. Error code: ' + str(ret)) def claim_interface(self, num): """ @@ -313,6 +342,7 @@ def busses(): def get_device_by_id(idVendor, idProduct): """ Return a L{Device} by vendor and prduct ids """ + ans = [] buslist = busses() for bus in buslist: devices = bus.device_list diff --git a/src/libprs500/lrf/BBeBook-0.2.jar b/src/libprs500/lrf/BBeBook-0.2.jar index 75390c82e98160a9b5528a2adfaa72f0011248ba..5075281029b39e7b28b440e5cf0f87994697e948 100644 GIT binary patch delta 18989 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 delta 19006 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