QuickVibeHost v2.7.8 2026-09-26
- 统一 Mac App 与官网下载版本信息,更新简体、繁体和英文下载说明。
- 本次仅更新 Mac App 与网站,MicStick 固件保持不变。
固件 + Mac App 版本更新记录
M5Unified 库被降级到 0.1.17 时编出来的,对 StickS3(board=26)的 LCD panel init 和 BMI270 IMU 驱动不完整,用户网页刷完后屏幕不亮、IMU 初始化失败。本次用 M5Unified 0.2.13 重新编译发布,解决该问题。固件源码本身未变,v1.6.1 Arduino IDE 本地刷出来的设备不受影响arduino-cli lib list 校验 M5Unified>=0.2.13 / M5GFX>=0.2.19,不达标直接 exit 1,彻底阻止错误 bin 上传;并增加 app bin size < 920KB 的 sanity check 作为第二道防线(坏 bin ~910KB、好 bin ~927KB)cd 到脚本目录(从任意目录调用都 OK);上传前列出每个 bin 的 mtime + size 辅助人工确认;自动清理服务端遗留的 merged.bintasmota-esp-web-tools@11.2.0 回到原版 esp-web-tools@10,去掉 fork 版本多弹的"擦除 / 安装"选择框isCharging() 在电池满/涓流/USB 线无电时会返 false 导致误进 SCREEN_OFF。改用 M5.Power.getVBUSVoltage() > 4000mV 作为供电判断,新增 usbPowered 全局 + 2s 独立轮询;onDisconnect / POWER_IDLE / POWER_DIM / POWER_SCREEN_OFF 四个息屏分支全部切到 usbPoweredcheckPickup() 从未调 M5.Imu.update(),而 M5.update() 不刷新 IMU,导致 getImuData() 永远返回缓存 ax=ay=az=0,mag/delta 恒为 0。补一行即修复,实机验证静置 mag≈1.0、拿起 delta 跳到 0.27+ 正确触发唤屏onDisconnect 时 sleepTimeout 从 1h 瞬切到 5min,stale idleMs 立即超阈触发深睡。修复:onDisconnect 重置 lastActivityTime、DEEP_SLEEP_TIMEOUT_DISC 5→15min、POWER_SCREEN_OFF 下 usbPowered 永不深睡wakeMask 原错用 GPIO_NUM_0,StickS3 实际 BtnA=GPIO11、BtnB=GPIO12。修复为 BTN_A_PIN | BTN_B_PIN + rtc_gpio_pullup_enloop 外层"一刀切"下沉到各 handler 短按分支(wasClicked 仅在 wakeFromScreenOffMs==0 时生效),长按(wasHold / btnBHeld)可穿透进 PTT / HotDog;IMU 唤屏不置 wakeFromScreenOffMs,拿起即可立即操作merged.bin 改为 4 段分别烧到 0x0 / 0x8000 / 0xe000 / 0x10000,与 Arduino IDE 烧法字节级一致(注:v1.6.1 该改动因编译库版本问题未能生效,v1.6.2 才真正解决网页刷机问题)wasClicked() 替代 wasSingleClicked() 消除 250ms 双击判定延迟,短按在释放瞬间即生效sendPermissionResponse 仅在 BLE 送达成功时启动 cooldown 窗口,期间丢弃按键事件防连按残留;BLE 瞬断时保留 hasPendingPermission 让用户重试DoubaoASRClient 新增 asrStartedAt / wsReadyMs / isEmpty / totalMs / text 双路日志,下次"空结果"可直接按三元组分流"豆包返空 vs Mac 前几帧被吞"processButtonAAudio 空结果分支 markCompleted → markFailed("ASR 返空结果"),与 Button B 语义一致,历史记录可直接回放 WAV 定性typeText() 加三点结构化日志(tid 贯穿 + pasteboard.changeCount + flagsState + 前台 App + 输入法 ID + FNV-1a hash 不记明文),Feature-gated CGEventFlagsChanged([]) 清 modifier 残留(默认关)——为后续定位"幽灵粘贴 + 中文乱码"副作用提供证据基线1x/2x → A/B,与新按键语义对齐