Skip to content

feat(device): support PABotBase2 serial controllers (Pico W) - #88

Draft
yciu wants to merge 1 commit into
EasyConNS:devfrom
yciu:codex/pabotbase2-serial
Draft

yciu wants to merge 1 commit into
EasyConNS:devfrom
yciu:codex/pabotbase2-serial

Conversation

@yciu

@yciu yciu commented Nov 8, 2026

Copy link
Copy Markdown

变更说明

刷入 PABotBase2 的 Pico W / Pico 2 W 可以直接选择 COM / tty 串口,在 EasyCon 中进行 NS1 无线 Pro Controller 在线控制。适配器注册到 #85 的通用 SerialConnectionProvider,自动探测 921600 / 115200,不增加 GUI、CLI 或端点格式中的固件分支。

  • 实现会话 CRC32C、ACK 重传、串流重组与去重、乱序接收窗口、接收额度及序号/偏移回绕。
  • 转换按钮、十字键、双摇杆;查询手柄模式与 NS 连接状态;切换模式保留配对设置。
  • 保留输入边沿,刷新长按状态;停止时取消固件队列并释放。ACK 超时后先重建可靠串流,再尝试释放,避免复用未确认序号。
  • 补充接线、配对和验收说明,保留协议来源许可;不分发固件二进制。

范围为 RSC/MLC 20260618xx 和无线 Pro Controller(0x1180)。PABotBase 第一代、非 W Pico 的有线模式、Joy-Con 专有操作、NS2、陀螺仪及 EasyCon 离线烧录不在本次支持范围。

关联 Issue

沿用已合并的 #85 通用协议注册设计。尚无单独的 Pico 适配提案 Issue;此 PR 保持 Draft,供维护者确认适配范围、贡献者逐行审核并完成实物验收。

变更类型

  • Bug 修复
  • 小幅改进(不涉及核心功能与架构)
  • 功能 / 架构类变更(本项为新增协议适配;独立提案及维护者确认待补)
  • 文档 / 其他(适配说明与协议来源许可)

人工审核声明

  • 我已逐行审核本 PR 的全部代码(包括 AI 生成的部分),理解并认可每一处改动
  • 我对本 PR 内容负责,它不是全由 Agent 决策产出

AI 辅助实现;以上人工审核未代为勾选。

自查清单

  • dotnet build EasyCon2.slnx -c Release 通过
  • dotnet test EasyCon2.slnx -c Release 全部通过(见下方上游基线失败)
  • dotnet format EasyCon2.slnx --verify-no-changes --no-restore 无差异
  • 新功能附带 NUnit 测试
  • 更新对应连接与使用文档

验证方式

  • Device 项目 108 项全部通过,其中新增 PABotBase2 专项 43 项。覆盖 CRC 官方 C 实现固定向量、拆包/乱序/重复包、ACK 丢失或序号不符、协议拒绝、8 位序号及 16 位流偏移回绕、未配对连接、按下/释放、长按、停止清队列、溢出及断开释放。
  • 全量 Release 回归:2138 项通过、4 项失败;原生 C VM 使用 Clang 并设置 ECSVM_REQUIRE_CC=1。
  • 4 项失败均为 ModuleProjectTests.ExplicitImportCycle_IsRejected 的 Windows 路径断言(预期保留 '/',实际规范化为 '\')。在不含本 PR 的干净 upstream/dev 1d742f24 上单独复现了相同的 4 项失败,未改动这些测试或模块编译器。
  • 尚无 Pico W / Pico 2 W + NS 实物测试。需验证串口枚举、配对、常用脚本时序、停止/重连、断电后行为;不承诺主机唤醒或游戏帧级精度。

使用步骤见 docs/PABotBase2.md。

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.

1 participant