- # get a HID device
- self._hid = hid.device()
- # open and reset
- self._hid.open(Pico_u2if.VID, Pico_u2if.PID)
- resp = self._hid_xfer(bytes([self.SYS_RESET]), True)
- if resp[1] != self.RESP_OK:
- raise RuntimeError("Reset error.")
- # reopen
- max_retry = 10
- retries = 0
- while True:
+ self._hid_xfer(bytes([self.SYS_RESET]), False)
+ time.sleep(PICO_U2IF_RESET_DELAY)
+ start = time.monotonic()
+ while time.monotonic() - start < 5: