Ejemplo n.º 1
0
    def __asyc_detect_new_device_handle(self, device):
        device_name = device[1]
        prefixPath = r"/dev/"
        if device_name[:len(prefixPath)] == prefixPath:
            device_name = device_name[len(prefixPath):]
        self.__set_all_button(False)
        self.info.has_firmware = False
        self.info.board_id = None
        self.info.board_name = device_name
        port = QSerialPortInfo(device_name)

        def match(pvid, ids):
            for valid in ids:
                if pvid == valid:
                    self.info.board_id = str(valid)
                    return True
            return False

        pvid = (port.vendorIdentifier(), port.productIdentifier())
        print(device_name, pvid)

        # need match the seeed board pid vid
        if match(pvid, self.info.board_normal):
            self.invoke.in_bootload_mode = False
            self.invoke.detected = True
            print("detect a normal mode borad")
        if match(pvid, self.info.board_boot):
            self.invoke.in_bootload_mode = True
            self.invoke.detected = True
            print("detect a bootload mode borad")