Files
agent/packages/usb/jump-to-bootloader.js
Róbert Kiss 30c74c06d3 refactor(usb): Use hid-api instead of lib-usb (#404)
* refactor(usb): Rewrite jump-to-bootloder to node-hid

* refactor(usb): Rewrite the whole usb packages to HID-API

* refactor(usb): Deleted not valid usb command files

* refactor(usb): Deleted not supported usb commands

* Remove obsolete script.

* Remove obsolete script.

* Fix script.

* Fix script.

* No need to assign the silent property because it has been removed.

* This workaround may work on other platforms, but it certainly doesn't work on Linux. It makes some scripts not work, so I'm commenting it out.

* Fix bootloader VID and PID.
2017-09-06 14:32:58 +02:00

32 lines
744 B
JavaScript
Executable File

#!/usr/bin/env node
let uhk = require('./uhk');
let timeoutMs = 10000;
let pollingIntervalMs = 100;
let jumped = false;
console.log('Trying to jump to the bootloader...');
setInterval(() => {
timeoutMs -= pollingIntervalMs;
let device = uhk.getBootloaderDevice();
if (device) {
console.log('Bootloader is up');
process.exit(0);
}
if (timeoutMs <= 0) {
console.log("Couldn't jump to the bootloader");
process.exit(1);
}
device = uhk.getUhkDevice();
if (device && !jumped) {
console.log('UHK found, jumping to bootloader');
device.write(uhk.getTransferData(new Buffer([uhk.usbCommands.jumpToBootloader])));
jumped = true;
}
}, pollingIntervalMs);