File tree Expand file tree Collapse file tree 1 file changed +12
-7
lines changed
Expand file tree Collapse file tree 1 file changed +12
-7
lines changed Original file line number Diff line number Diff line change @@ -183,14 +183,19 @@ def __init__(
183183 self .descriptor = (
184184 descriptors .get_btid (self .product_id ) if self .bluetooth else descriptors .get_usbid (self .product_id )
185185 )
186- if self .number is None : # for direct-connected devices get 'number' from descriptor protocol else use 0xFF
187- if self .descriptor and self .descriptor .protocol and self .descriptor .protocol < 2.0 :
188- number = 0x00
186+ # for direct-connected devices get 'number' from descriptor protocol else use 0xFF
187+ if self .number is None and self .descriptor and self .descriptor .protocol and self .descriptor .protocol < 2.0 :
188+ self .number = 0x00
189+ elif self .number is None :
190+ self .number = 0xFF
191+ try : # determine whether a direct-connected device is online
192+ self .ping ()
193+ except exceptions .NoSuchDevice as e :
194+ if self .number == 0xFF : # guessed wrong number?
195+ self .number = 0x00
196+ self .ping ()
189197 else :
190- number = 0xFF
191- self .number = number
192- self .ping () # determine whether a direct-connected device is online
193-
198+ raise e
194199 if self .descriptor :
195200 self ._name = self .descriptor .name
196201 if self ._codename is None :
You can’t perform that action at this time.
0 commit comments