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,與新按鍵語義對齊