edit | blame | history | raw

2026-06-24 MLV6 晃动触摸 QA

用户目标

  • 在 MLV6 静止 0x30 误触发修复后,继续验证 Round5 剩余能力:
  • 有效晃动/撞击仍能进入 /engine/input 并按间隔触发对应音频。
  • 触摸片慢/中/快三档能被 App 收到、计算速度并端到端播放音频。
  • 如果需要用户真实操作设备,必须先播放 /Users/ar/.codex/audioalert/Langmei-真机测试提醒.mp3

已完成事项

  • 使用 Android 真机 cec384cb、App 2.1.0 / 20100、MLV6 在辛灵通话页做 QA。
  • 首次晃动测试前已出现 连接失败,App 进入扫描状态,未收到 BLE notify,因此该次 Q1 结论标记为 INVALID。
  • 重连 MLV6 并重新进入辛灵通话页后,用户再次完成真实晃动;日志已采集并统计。
  • 用户连续触摸触摸片约 20 秒的日志已采集并统计。
  • retry 后重新截图确认通话页视觉正常,不是白页。

关键结论

  • 静止误触发修复仍有效:retry 期间没有 /engine/input,没有本地 0x45 震动下行,也没有 triggerImpactDeviceVibration
  • 有效晃动回归当前不通过:重连后的 retry 收到 BLE notify 和 22 次 sdk.hardwareImpact.gate,但全部 accepted:false,没有 mlv6_confirmed_hardware_impact,没有形成合法 CMD_SCREAM
  • MLV6 retry 中收到的 0x30 仍表现为约 5 秒一组、组内 15-53ms 重复的静置误报形态;当前 gate 将其全部拦截。
  • 触摸端到端当前不通过:20 秒连续触摸期间没有收到独立触摸命令 0x31/0x32/0x33,也没有 sdk.touch.sample
  • 日志中出现的 0x44 ... 0x32 ... 不能作为触摸腿部命令;按 SDK heartBeat.fromBytes() 和 MLV5 协议,它是 0x44 心跳包 offset 11 的 vibStrength
  • 通话页视觉通过:retry 后截图为辛灵紫色通话页,头像和挂断按钮可见,无白页、无诊断面板遮挡。

文件变更

  • 更新 /Users/ar/Projects/langmei/.worktrees/lm-app-MV6touch-210/docs/round5/QA_RUN_20260624_1244.md
  • Q1 标记为 FAIL。
  • Q2/Q3/Q4 保持 FAIL:未收到有效触摸命令。
  • Q5 标记为 PASS。
  • 增加重连后晃动 retry 统计和视觉截图结论。
  • 更新 /Users/ar/Projects/langmei/.worktrees/lm-app-MV6touch-210/docs/round5/TODO.md
  • 追加 2026-06-24 有效晃动 retry 结论。
  • 保留“有效晃动回归”为未完成状态。

证据文件

  • /Users/ar/Projects/langmei/.worktrees/lm-app-MV6touch-210/docs/round5/evidence/android-2.1.0-q1-real-shake-retry-20260624-1300.log
  • /Users/ar/Projects/langmei/.worktrees/lm-app-MV6touch-210/docs/round5/evidence/android-2.1.0-after-q1-shake-retry-pull.png
  • /Users/ar/Projects/langmei/.worktrees/lm-app-MV6touch-210/docs/round5/evidence/android-2.1.0-q1-shake-20260624-1244.log
  • /Users/ar/Projects/langmei/.worktrees/lm-app-MV6touch-210/docs/round5/evidence/android-2.1.0-touch-ignored-embedded-20260624-1244.log

未决问题

  • MLV6 的真实晃动是否能输出区别于静置误报的上报模式仍未证明。
  • 当前 gate 规则能压住静置误触发,但对本次真实晃动没有放行;需要重新定义 MLV6 有效撞击判定规则,或确认固件侧是否存在更可靠字段/命令。
  • 触摸片未输出独立 0x31/0x32/0x33,需要确认 MLV6 固件、硬件触摸功能开关或协议版本是否与当前 SDK 假设一致。

后续建议

  • 下一步先不要宣称 MLV6 晃动能力通过;应把“防误触发”和“有效晃动回归”拆成两个验收项。
  • 对 MLV6 晃动可继续做更强动作采样,但每次都必须先播放提醒音频并明确操作方式;如果采样仍只有 5 秒周期和组内重复,需调整产品策略或固件协议,而不是单纯放宽 gate。
  • 触摸功能应先解决 BLE 上行是否有独立触摸命令的问题,再继续验证快/中/慢速度计算和后端音频播放。