Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def getNextTimeout(self):
"""
Returns the next internal timeout that libusb needs to handle, in
seconds, or None if no timeout is needed.
You should not have to call this method, unless you are integrating
this class with a polling mechanism.
"""
timeval = libusb1.timeval()
result = libusb1.libusb_get_next_timeout(self.__context_p,
byref(timeval))
if result == 0:
result = None
elif result == 1:
result = timeval.tv_sec + (timeval.tv_usec * 0.000001)
else:
raise libusb1.USBError(result)
return result
values).
"""
return libusb1.libusb_get_device_speed(self.device_p)
def open(self):
"""
Open device.
Returns an USBDeviceHandle instance.
"""
handle = libusb1.libusb_device_handle_p()
result = libusb1.libusb_open(self.device_p, byref(handle))
if result:
raise libusb1.USBError(result)
return USBDeviceHandle(self.__context, handle, self)
_zero_tv = libusb1.timeval(0, 0)
_zero_tv_p = byref(_zero_tv)
class USBContext(object):
"""
libusb1 USB context.
Provides methods to enumerate & look up USB devices.
Also provides access to global (device-independent) libusb1 functions.
"""
__libusb_exit = libusb1.libusb_exit
__context_p = None
__added_cb = None
__removed_cb = None
__libusb_set_pollfd_notifiers = libusb1.libusb_set_pollfd_notifiers
def _validContext(func):
SPEED_SUPER
"""
return libusb1.libusb_get_device_speed(self.device_p)
def open(self):
"""
Open device.
Returns an USBDeviceHandle instance.
"""
handle = libusb1.libusb_device_handle_p()
mayRaiseUSBError(libusb1.libusb_open(self.device_p, byref(handle)))
result = USBDeviceHandle(self.__context, handle, self)
self.__close_set.add(result)
return result
_zero_tv = libusb1.timeval(0, 0)
_zero_tv_p = byref(_zero_tv)
class USBContext(object):
"""
libusb1 USB context.
Provides methods to enumerate & look up USB devices.
Also provides access to global (device-independent) libusb1 functions.
"""
__libusb_exit = libusb1.libusb_exit
__context_p = None
__added_cb = None
__removed_cb = None
__poll_cb_user_data = None
__libusb_set_pollfd_notifiers = libusb1.libusb_set_pollfd_notifiers
__null_pointer = POINTER(None)
def getNextTimeout(self):
"""
Returns the next internal timeout that libusb needs to handle, in
seconds, or None if no timeout is needed.
You should not have to call this method, unless you are integrating
this class with a polling mechanism.
"""
timeval = libusb1.timeval()
result = libusb1.libusb_get_next_timeout(
self.__context_p, byref(timeval))
if result == 0:
return None
elif result == 1:
return timeval.tv_sec + (timeval.tv_usec * 0.000001)
raiseUSBError(result)
@_validContext
def getNextTimeout(self):
"""
Returns the next internal timeout that libusb needs to handle, in
seconds, or None if no timeout is needed.
You should not have to call this method, unless you are integrating
this class with a polling mechanism.
"""
timeval = libusb1.timeval()
result = libusb1.libusb_get_next_timeout(self.__context_p,
byref(timeval))
if result == 0:
result = None
elif result == 1:
result = timeval.tv_sec + (timeval.tv_usec * 0.000001)
else:
raise libusb1.USBError(result)
return result
def waitForEvent(self, tv=0):
"""
See libusb_wait_for_event doc.
"""
if tv is None:
tv = 0
tv_s = int(tv)
real_tv = libusb1.timeval(tv_s, int((tv - tv_s) * 1000000))
libusb1.libusb_wait_for_event(self.__context_p, byref(real_tv))
def handleEventsTimeout(self, tv=0):
"""
Handle any pending event.
If tv is 0, will return immediately after handling already-pending
events.
Othewire, defines the maximum amount of time to wait for events, in
seconds.
"""
if tv is None:
tv = 0
tv_s = int(tv)
tv = libusb1.timeval(tv_s, int((tv - tv_s) * 1000000))
result = libusb1.libusb_handle_events_timeout(self.__context_p,
byref(tv))
if result:
raise libusb1.USBError(result)