Skip to content

升级

示例代码

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);
}