def delete_usb_serial(timeout=1): usb.disable() usb.uninit() start_us = clock.gettime_us(clock.CLOCK_MONOTONIC) now_us = start_us timeout_us = timeout * 1000000 while glob_file(dev_pattern_usb) is not None and (now_us - start_us) < timeout_us: now_us = clock.gettime_us(clock.CLOCK_MONOTONIC) time.sleep(0.001) end_us = clock.gettime_us(clock.CLOCK_MONOTONIC) if glob_file(dev_pattern_usb) is None: logger.debug("%s deleted in %0.3f sec", dev_pattern_usb, (end_us - start_us) / 1000000.0) return True else: logger.error("deleting device %s", dev_pattern_usb) return False
def create_usb_serial(timeout=5): usb.init() usb.enable() start_us = clock.gettime_us(clock.CLOCK_MONOTONIC) now_us = start_us timeout_us = timeout * 1000000 while glob_file(dev_pattern_usb) is None and (now_us - start_us) < timeout_us: now_us = clock.gettime_us(clock.CLOCK_MONOTONIC) time.sleep(0.001) end_us = clock.gettime_us(clock.CLOCK_MONOTONIC) dev_name = glob_file(dev_pattern_usb) if os.path.exists(dev_name): logger.info("%s created in %0.3f sec", dev_name, (end_us - start_us) / 1000000.0) else: logger.info("error creating %s", dev_pattern_usb) usb.disable() usb.uninit() return dev_name