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
|
#!/usr/bin/env node
|
||||||
let uhk = require('./uhk');
|
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;
|
let usbEndpoints;
|
||||||
|
|
||||||
function getUsbEndpoints() {
|
function getUhkDevice() {
|
||||||
let vid = 0x16d3;
|
return usb.findByIds(0x16d3, 0x05ea);
|
||||||
let pid = 0x05ea;
|
}
|
||||||
|
|
||||||
let device = usb.findByIds(vid, pid);
|
function getBootloaderDevice() {
|
||||||
|
return usb.findByIds(0x15a2, 0x0073);
|
||||||
|
}
|
||||||
|
|
||||||
|
function getUsbEndpoints() {
|
||||||
|
let device = getUhkDevice();
|
||||||
|
device = getUhkDevice();
|
||||||
device.open();
|
device.open();
|
||||||
|
|
||||||
let usbInterface = device.interface(0);
|
let usbInterface = device.interface(0);
|
||||||
@@ -87,6 +93,8 @@ function sendUsbPackets(packets) {
|
|||||||
exports = module.exports = {
|
exports = module.exports = {
|
||||||
DelayMs,
|
DelayMs,
|
||||||
bufferToString,
|
bufferToString,
|
||||||
|
getUhkDevice,
|
||||||
|
getBootloaderDevice,
|
||||||
getUsbEndpoints,
|
getUsbEndpoints,
|
||||||
sendUsbPacket,
|
sendUsbPacket,
|
||||||
sendUsbPackets,
|
sendUsbPackets,
|
||||||
@@ -102,7 +110,8 @@ exports = module.exports = {
|
|||||||
readMergeSensor: 7,
|
readMergeSensor: 7,
|
||||||
uploadConfig: 8,
|
uploadConfig: 8,
|
||||||
applyConfig: 9,
|
applyConfig: 9,
|
||||||
setLedPwm: 10
|
setLedPwm: 10,
|
||||||
|
getBridgeMessageCounter: 11
|
||||||
},
|
},
|
||||||
leftLedDriverAddress: 0b1110100,
|
leftLedDriverAddress: 0b1110100,
|
||||||
rightLedDriverAddress: 0b1110111
|
rightLedDriverAddress: 0b1110111
|
||||||
|
|||||||
Reference in New Issue
Block a user