Make jump-to-bootloader.js wait for the UHK and time out.
This commit is contained in:
@@ -1,3 +1,26 @@
|
||||
#!/usr/bin/env node
|
||||
let uhk = require('./uhk');
|
||||
uhk.sendUsbPacket(new Buffer([uhk.usbCommands.jumpToBootloader]));
|
||||
|
||||
let timeoutMs = 10000;
|
||||
let pollingIntervalMs = 100;
|
||||
|
||||
console.log('Trying to jump to the bootloader...');
|
||||
setInterval(() => {
|
||||
timeoutMs -= pollingIntervalMs;
|
||||
|
||||
if (uhk.getBootloaderDevice()) {
|
||||
console.log('Bootloader is up');
|
||||
process.exit(0);
|
||||
}
|
||||
|
||||
if (timeoutMs <= 0) {
|
||||
console.log("Couldn't jump to the bootloader");
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
if (uhk.getUhkDevice()) {
|
||||
console.log('UHK found, jumping to bootloader');
|
||||
uhk.sendUsbPacket(new Buffer([uhk.usbCommands.jumpToBootloader]));
|
||||
}
|
||||
|
||||
}, pollingIntervalMs);
|
||||
|
||||
19
usb/uhk.js
19
usb/uhk.js
@@ -14,11 +14,17 @@ function bufferToString(buffer) {
|
||||
|
||||
let usbEndpoints;
|
||||
|
||||
function getUsbEndpoints() {
|
||||
let vid = 0x16d3;
|
||||
let pid = 0x05ea;
|
||||
function getUhkDevice() {
|
||||
return usb.findByIds(0x16d3, 0x05ea);
|
||||
}
|
||||
|
||||
let device = usb.findByIds(vid, pid);
|
||||
function getBootloaderDevice() {
|
||||
return usb.findByIds(0x15a2, 0x0073);
|
||||
}
|
||||
|
||||
function getUsbEndpoints() {
|
||||
let device = getUhkDevice();
|
||||
device = getUhkDevice();
|
||||
device.open();
|
||||
|
||||
let usbInterface = device.interface(0);
|
||||
@@ -87,6 +93,8 @@ function sendUsbPackets(packets) {
|
||||
exports = module.exports = {
|
||||
DelayMs,
|
||||
bufferToString,
|
||||
getUhkDevice,
|
||||
getBootloaderDevice,
|
||||
getUsbEndpoints,
|
||||
sendUsbPacket,
|
||||
sendUsbPackets,
|
||||
@@ -102,7 +110,8 @@ exports = module.exports = {
|
||||
readMergeSensor: 7,
|
||||
uploadConfig: 8,
|
||||
applyConfig: 9,
|
||||
setLedPwm: 10
|
||||
setLedPwm: 10,
|
||||
getBridgeMessageCounter: 11
|
||||
},
|
||||
leftLedDriverAddress: 0b1110100,
|
||||
rightLedDriverAddress: 0b1110111
|
||||
|
||||
Reference in New Issue
Block a user