From 68ce5741ccbcc17ec48236c82a1965f3bcb3b590 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kiss=20R=C3=B3bert?= Date: Sat, 14 Dec 2024 23:35:21 +0100 Subject: [PATCH] chore: wait for devices in usb script --- packages/usb/factory-update-uhk80.ts | 7 +++++-- packages/usb/factory-update.ts | 2 ++ packages/usb/wait-for-device.ts | 1 + 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/usb/factory-update-uhk80.ts b/packages/usb/factory-update-uhk80.ts index 697ded38e27..a5b0bf7f182 100755 --- a/packages/usb/factory-update-uhk80.ts +++ b/packages/usb/factory-update-uhk80.ts @@ -17,10 +17,10 @@ import { getDeviceFirmwarePath, getFirmwarePackageJson, TmpFirmware, - snooze, UhkHidDevice, UhkOperations, UsbVariables, + waitForDevices, waitForUhkDeviceConnected, } from 'uhk-usb'; @@ -71,7 +71,10 @@ try { // just wait until devices be ready. After the reenumeration the halves start to communicate with each other // give them some time to finish - await snooze(5000); + await Promise.all([ + waitForDevices(UHK_80_DEVICE.keyboard), + waitForDevices(UHK_80_DEVICE_LEFT.keyboard), + ]); // Need to reload hid devices because after the reenumeration maybe the HID device path changed connectedDevices = await getHidDevices(); diff --git a/packages/usb/factory-update.ts b/packages/usb/factory-update.ts index 00b9b8e5380..4149b17b249 100755 --- a/packages/usb/factory-update.ts +++ b/packages/usb/factory-update.ts @@ -16,6 +16,7 @@ import { getFirmwarePackageJson, getModuleFirmwarePath, isUhkDeviceConnected, + waitForDevices, waitForUhkDeviceConnected, } from 'uhk-usb'; @@ -80,6 +81,7 @@ const devicesOptions = getDevicesOptions(DEVICES); const { operations } = Uhk(argv); await operations.updateDeviceFirmware(rightFirmwarePath, uhkDeviceProduct); + await waitForDevices(uhkDeviceProduct.keyboard); if (uhkDeviceProduct.firmwareUpgradeMethod === FIRMWARE_UPGRADE_METHODS.MCUBOOT) { if (!(await isUhkDeviceConnected(UHK_80_DEVICE_LEFT))) { console.log(`[DeviceService] Please connect your ${UHK_80_DEVICE_LEFT.logName} keyboard with USB cable.`); diff --git a/packages/usb/wait-for-device.ts b/packages/usb/wait-for-device.ts index fce32c8ae4a..e0600e95e8f 100755 --- a/packages/usb/wait-for-device.ts +++ b/packages/usb/wait-for-device.ts @@ -105,6 +105,7 @@ while (new Date().getTime() - startTime.getTime() < timeout && !found) { } if (found) { + await snooze(1000); process.exit(0); } else {