From df14e2d569aa9a5986067cc1a8651b6710ebbed0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A1szl=C3=B3=20Monda?= Date: Wed, 31 Jan 2018 01:17:28 +0100 Subject: [PATCH] Extract uhk.jumpToModuleBootloader() and use it. --- packages/usb/jump-to-module-bootloader.js | 2 +- packages/usb/uhk.js | 5 +++++ packages/usb/update-module-firmware.js | 3 ++- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/usb/jump-to-module-bootloader.js b/packages/usb/jump-to-module-bootloader.js index b99138c1..8a589f6f 100755 --- a/packages/usb/jump-to-module-bootloader.js +++ b/packages/usb/jump-to-module-bootloader.js @@ -11,5 +11,5 @@ const moduleSlotId = uhk.checkModuleSlot(moduleSlot, uhk.moduleSlotToId); const device = uhk.getUhkDevice(); (async function() { - await uhk.writeDevice(device, [uhk.usbCommands.jumpToModuleBootloader, moduleSlotId]); + await uhk.jumpToModuleBootloader(device, moduleSlotId); })(); diff --git a/packages/usb/uhk.js b/packages/usb/uhk.js index 5936bc10..6b34a591 100644 --- a/packages/usb/uhk.js +++ b/packages/usb/uhk.js @@ -200,6 +200,10 @@ async function sendKbootCommandToModule(device, kbootCommandId, i2cAddress) { return await uhk.writeDevice(device, [uhk.usbCommands.sendKbootCommandToModule, kbootCommandId, parseInt(i2cAddress)]) }; +async function jumpToModuleBootloader(device, moduleSlotId) { + await uhk.writeDevice(device, [uhk.usbCommands.jumpToModuleBootloader, moduleSlotId]); +}; + uhk = exports = module.exports = moduleExports = { bufferToString, getUint16, @@ -216,6 +220,7 @@ uhk = exports = module.exports = moduleExports = { updateDeviceFirmware, reenumerate, sendKbootCommandToModule, + jumpToModuleBootloader, usbCommands: { getDeviceProperty : 0x00, reenumerate : 0x01, diff --git a/packages/usb/update-module-firmware.js b/packages/usb/update-module-firmware.js index 9c46f5dd..2832f2c8 100755 --- a/packages/usb/update-module-firmware.js +++ b/packages/usb/update-module-firmware.js @@ -11,6 +11,7 @@ program .parse(process.argv) let moduleSlot = program.args[0]; +const moduleSlotId = uhk.checkModuleSlot(moduleSlot, uhk.moduleSlotToId); const i2cAddress = uhk.checkModuleSlot(moduleSlot, uhk.moduleSlotToI2cAddress); const firmwareImage = program.args[1]; @@ -24,8 +25,8 @@ const blhostBuspal = `${blhostUsb} --buspal i2c,${i2cAddress}`; config.verbose = true; let device = uhk.getUhkDevice(); await uhk.sendKbootCommandToModule(device, uhk.kbootCommands.ping, i2cAddress); + await uhk.jumpToModuleBootloader(device, moduleSlotId); device.close(); - exec(`${usbDir}/jump-to-module-bootloader.js ${moduleSlot}`); exec(`${usbDir}/wait-for-kboot-idle.js`); await uhk.reenumerate('buspal');