pyusb backend: select the iface with the right bInterfaceClass right away

This commit is contained in:
Philipp Klaus
2018-08-14 23:05:23 +02:00
parent d209040b92
commit fe55344d32

View File

@@ -98,8 +98,8 @@ class BrotherQLBackendPyUSB(BrotherQLBackendGeneric):
self.dev.set_configuration()
cfg = self.dev.get_active_configuration()
intf = cfg[(0,0)] # (bInterfaceNumber, bAlternateSetting)
assert intf.bInterfaceClass == 7 # 'Printer' not 'Vendor Specific' or the likes...
intf = usb.util.find_descriptor(cfg, bInterfaceClass=7)
assert intf is not None
ep_match_in = lambda e: usb.util.endpoint_direction(e.bEndpointAddress) == usb.util.ENDPOINT_IN
ep_match_out = lambda e: usb.util.endpoint_direction(e.bEndpointAddress) == usb.util.ENDPOINT_OUT