升级
示例代码
js
// 第一步 判断键盘运行状态
const ret0 = await service.getDeviceInfo();
console.log('获取设备信息结果:', ret0);
if (ret0.runMode === 1) {
// app模式,需要跳boot
const ret1 = await service.enterBoot();
console.log('跳转boot结果:', ret1);
// 跳转boot后要等待1.5s才能连接键盘
await delay(1500);
// 重新连接设备,因为跳转boot后,设备会断开
const devices = await service.getDevices();
console.log('获取到待连接设备:', devices);
const ret2 = await service.connectDevice(devices[0].id);
console.log('连接设备结果:', ret2);
}
const ret3 = await service.update(FWData.value, (progress) => {
// console.log("升级进度:", progress * 100);
// 取整数
updateProgress.value = Math.floor(progress * 100);
});
console.log('升级结果:', ret3);
// 计算固件数据的crc
const crcRet = service.crc(FWData.value);
// 获取键盘的crc值
const ret4 = await service.check(FWData.value.length);
console.log(crcRet, ret4);
// 两个crc对比,如果一致,则跳转app
if (crcRet === ret4) {
const ret5 = await service.jumpApp();
console.log('跳转app结果:', ret5);
}