diff --git a/packages/usb/uhk.js b/packages/usb/uhk.js index 9e144d76..340965a8 100644 --- a/packages/usb/uhk.js +++ b/packages/usb/uhk.js @@ -268,6 +268,14 @@ async function updateModuleFirmware(i2cAddress, moduleSlotId, firmwareImage) { echo('Firmware updated successfully.'); }; +async function updateFirmwares(firmwarePath) { + console.log('Updating right firmware'); + await uhk.updateDeviceFirmware(`${firmwarePath}/devices/uhk60-right/firmware.hex`, 'hex'); + await uhk.reenumerate('normalKeyboard'); + console.log('Updating left firmware'); + await uhk.updateModuleFirmware(uhk.moduleSlotToI2cAddress.leftHalf, uhk.moduleSlotToId.leftHalf, `${firmwarePath}/modules/uhk60-left.bin`); +} + uhk = exports = module.exports = moduleExports = { bufferToString, getUint16, @@ -288,6 +296,7 @@ uhk = exports = module.exports = moduleExports = { switchKeymap, waitForKbootIdle, updateModuleFirmware, + updateFirmwares, usbCommands: { getDeviceProperty : 0x00, reenumerate : 0x01, diff --git a/packages/usb/update-firmwares.js b/packages/usb/update-firmwares.js index 41ecea0f..fc3bc03d 100755 --- a/packages/usb/update-firmwares.js +++ b/packages/usb/update-firmwares.js @@ -29,11 +29,7 @@ require('shelljs/global'); firmwarePath = tmpObj.name; } config.verbose = true; - console.log('Updating right firmware'); - await uhk.updateDeviceFirmware(`${firmwarePath}/devices/uhk60-right/firmware.hex`, 'hex'); - await uhk.reenumerate('normalKeyboard'); - console.log('Updating left firmware'); - await uhk.updateModuleFirmware(uhk.moduleSlotToI2cAddress.leftHalf, uhk.moduleSlotToId.leftHalf, `${firmwarePath}/modules/uhk60-left.bin`); + await uhk.updateFirmwares(firmwarePath); if (program.overwriteUserConfig) { exec(`${__dirname}/write-config.js ${firmwarePath}/devices/uhk60-right/config.bin`);