Skip to content

Add SWARMOO MO3 PRO core integration maintenance - #126

Merged
silverpoetry merged 2 commits into
mainfrom
codex/issue97-swarmoo-maintenance
Nov 13, 2026
Merged

silverpoetry merged 2 commits into
mainfrom
codex/issue97-swarmoo-maintenance

Conversation

@silverpoetry

@silverpoetry silverpoetry commented Nov 8, 2026 •

Copy link
Copy Markdown
Owner

范围

关联 #97,依据 ZaneZhang111 的实机抓包与传输补充资料,独立实现 SWARMOO MO3 PRO 的核心系统集成。保留来源署名及协议贡献,未复制附件测试应用代码。

  • 完整名称选择候选,FFF0 / 2A19 不作为品牌身份依据。初始保留系统整机电量,合法模式、电量响应分别解锁。
  • 左右耳与盒电量、降噪/关闭/通透/抗风噪,复用原生三态卡片和既有抗风噪开关;盒 0/255 保持未知,完整未知电量报告清除旧值。
  • 轻链智能加入 Adapter、控制 App 目录、可见性与作用域;详细配置继续交给厂商应用。

必需的传输支持

该设备使用同一 FFF0 服务内两条 Write+Notify 特征,状态通知 23 字节。新增可选逻辑路由、通知边界保留、顺序 CCCD 订阅和最低 MTU;其他设备默认仍为主通道、平台 MTU。MO3 的物理写入最短间隔为 300ms,包含跨批次写入。

仅 MO3 Adapter 允许已记录命令在对应特征返回 ATT 状态 1 后继续等协议报告,保留原错误日志。其他错误、提交失败、超时与断连照常失败。不扩大全局超时,不扫描未知特征,不重发控制或切换未验证写方式。

模式控制使用 DEVICE_REPORT。Adapter 内按既有 HOLD / requestState 事件处理暂态回报,最多 250/500/700ms 三次查询;目标到达或预算耗尽时接受真实报告。无回报不会乐观显示切换成功。

验证与合入范围

抓包向量、短 MTU/错路由拒绝、能力独立开放、旧电量清除、模式收敛、未知错误传播、默认协议路由、卡片注册、目录及文档检查通过。

最终提交 be6152e47fc44b54e42cc78ceec705684375ccde 的官方签名构建通过:下载维护包(登录 GitHub 下载 ZIP,解压 APK);构建记录。签名已核对与正式版一致,APK SHA-256:85c0a76c29dfea3956c15a8e4b3ce40f13d8d3a351c75abe1de98d24b6ec14e9。

最终包已于 2026-11-08 获贡献者确认:双耳使用时电量和全部模式正常;所附日志确认 MTU 512、两特征、电量、四态写入及回读和重连。收尾只合并主线、解决更新日志冲突并更新证据,保留已确认的协议实现。合并后 CI 43411289543 通过,2026-11-13 已合入并发布 3.3.0。单耳控制尚无专门日志,#97 继续开放跟踪;导航和退避不记为该日志独立验证项。

Co-authored-by: ZaneZhang <50073444+ZaneZhang111@users.noreply.github.com>
@silverpoetry
silverpoetry marked this pull request as ready for review November 13, 2026 10:48
Copilot AI balanced review requested due to automatic review settings November 13, 2026 10:48
@silverpoetry
silverpoetry merged commit a399167 into main Nov 13, 2026
1 check passed

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants