STATE_UNINITIALIZED = -1 STATE_CONNECTING = 0 STATE_CONNECTION_FAILED = 2 STATE_DRIVER_LIBUSB = 3 STATE_DRIVER_CH341 = 4 STATE_DRIVER_MOCK = 5 STATE_DRIVER_FINDING_DEVICES = 10 STATE_DRIVER_NO_BACKEND = 20 STATE_DRIVER_NO_LIBUSB = 21 STATE_DEVICE_FOUND = 30 STATE_DEVICE_NOT_FOUND = 50 STATE_DEVICE_REJECTED = 60 STATE_USB_SET_CONFIG = 100 STATE_USB_DETACH_KERNEL = 200 STATE_USB_DETACH_KERNEL_SUCCESS = 210 STATE_USB_DETACH_KERNEL_FAIL = 220 STATE_USB_DETACH_KERNEL_NOT_IMPLEMENTED = 230 STATE_USB_SET_ACTIVE_CONFIG = 250 STATE_USB_SET_ACTIVE_CONFIG_SUCCESS = 260 STATE_USB_SET_ACTIVE_CONFIG_FAIL = 270 STATE_USB_CLAIM_INTERFACE = 300 STATE_USB_CLAIM_INTERFACE_SUCCESS = 310 STATE_USB_CLAIM_INTERFACE_FAIL = 320 STATE_USB_CONNECTED = 400 STATE_CH341_PARAMODE = 160 STATE_CH341_PARAMODE_FAIL = 170 STATE_CH341_PARAMODE_SUCCESS = 180 STATE_CONNECTED = 600 INFO_USB_CHIP_VERSION = 0x100000 INFO_USB_DRIVER = 0x200000 STATE_USB_SET_DISCONNECTING = 1000 STATE_USB_ATTACH_KERNEL = 1100 STATE_USB_ATTACH_KERNEL_SUCCESS = 1110 STATE_USB_ATTACH_KERNEL_FAIL = 1120 STATE_USB_RELEASE_INTERFACE = 1200 STATE_USB_RELEASE_INTERFACE_SUCCESS = 1210 STATE_USB_RELEASE_INTERFACE_FAIL = 1220 STATE_USB_DISPOSING_RESOURCES = 1300 STATE_USB_DISPOSING_RESOURCES_SUCCESS = 1310 STATE_USB_DISPOSING_RESOURCES_FAIL = 1320 STATE_USB_RESET = 1400 STATE_USB_RESET_SUCCESS = 1410 STATE_USB_RESET_FAIL = 1420 STATE_USB_DISCONNECTED = 1500 def get_name_for_status(code, obj=None, translation=lambda e: e): _ = translation if code == STATE_UNINITIALIZED: return _("Uninitialized.") elif code == STATE_CONNECTING: return _("Attempting connection to USB.") elif code == STATE_CONNECTION_FAILED: return _("Connection to USB failed.\n") elif code == STATE_DRIVER_LIBUSB: return _("Using LibUSB to connect.") elif code == STATE_DRIVER_CH341: return _("Using CH341 Driver to connect.") elif code == STATE_DRIVER_MOCK: return _("Using Mock Driver.") elif code == STATE_DRIVER_FINDING_DEVICES: return _("Finding devices.") elif code == STATE_DRIVER_NO_BACKEND: return _("PyUsb detected no backend LibUSB driver.") elif code == STATE_DRIVER_NO_LIBUSB: return _("PyUsb is not installed. Skipping.") elif code == STATE_DEVICE_FOUND: return _("K40 device detected:") elif code == STATE_DEVICE_NOT_FOUND: return _("Devices Not Found.") elif code == STATE_DEVICE_REJECTED: return _("K40 devices were found but they were rejected.") elif code == STATE_USB_SET_CONFIG: return _("Config Set") elif code == STATE_USB_DETACH_KERNEL: return _("Attempting to detach kernel.") elif code == STATE_USB_DETACH_KERNEL_SUCCESS: return _("Kernel detach: Success.") elif code == STATE_USB_DETACH_KERNEL_FAIL: return _("Kernel detach: Failed.") elif code == STATE_USB_DETACH_KERNEL_NOT_IMPLEMENTED: return _("Kernel detach: Not Implemented.") elif code == STATE_USB_SET_ACTIVE_CONFIG: return _("Setting Active Config") elif code == STATE_USB_SET_ACTIVE_CONFIG_SUCCESS: return _("Active Config: Success.") elif code == STATE_USB_SET_ACTIVE_CONFIG_FAIL: return _("Active Config: Failed.") elif code == STATE_USB_CLAIM_INTERFACE: return _("Attempting to claim interface.") elif code == STATE_USB_CLAIM_INTERFACE_SUCCESS: return _("Interface claim: Success") elif code == STATE_USB_CLAIM_INTERFACE_FAIL: return _("Interface claim: Failed. (Interface is in use.)") elif code == STATE_USB_CONNECTED: return _("USB Connected.") elif code == STATE_CH341_PARAMODE: return _("Sending CH341 mode change to EPP1.9.") elif code == STATE_CH341_PARAMODE_SUCCESS: return _("CH341 mode change to EPP1.9: Success.") elif code == STATE_CH341_PARAMODE_FAIL: return _("CH341 mode change to EPP1.9: Fail.") elif code == STATE_CONNECTED: return _("Device Connected.\n") elif code == STATE_USB_SET_DISCONNECTING: return _("Attempting disconnection from USB.") elif code == STATE_USB_ATTACH_KERNEL: return _("Attempting kernel attach") elif code == STATE_USB_ATTACH_KERNEL_SUCCESS: return _("Kernel attach: Success.") elif code == STATE_USB_ATTACH_KERNEL_FAIL: return _("Kernel attach: Fail.") elif code == STATE_USB_RELEASE_INTERFACE: return _("Attempting to release interface.") elif code == STATE_USB_RELEASE_INTERFACE_SUCCESS: return _("Interface released.") elif code == STATE_USB_RELEASE_INTERFACE_FAIL: return _("Interface did not exist.") elif code == STATE_USB_DISPOSING_RESOURCES: return _("Attempting to dispose resources.") elif code == STATE_USB_DISPOSING_RESOURCES_SUCCESS: return _("Dispose Resources: Success") elif code == STATE_USB_DISPOSING_RESOURCES_FAIL: return _("Dispose Resources: Fail") elif code == STATE_USB_RESET: return _("Attempting USB reset.") elif code == STATE_USB_RESET_FAIL: return _("USB connection did not exist.") elif code == STATE_USB_RESET_SUCCESS: return _("USB connection reset.") elif code == STATE_USB_DISCONNECTED: return _("USB Disconnection Successful.\n") elif code & INFO_USB_CHIP_VERSION != 0: return _("CH341 Chip Version: %d") % (code & 0xFFFF) elif code == (INFO_USB_DRIVER | STATE_DRIVER_LIBUSB): return _("Driver Detected: LibUsb") elif code == (INFO_USB_DRIVER | STATE_DRIVER_CH341): return _("Driver Detected: CH341") return _("Unknown") def convert_to_list_bytes(data): if isinstance(data, str): # python 2 return [ord(e) for e in data] else: return [e for e in data]