Repository navigation
feat(device): 完善 pokeldn 串口控制并支持 ESP32-S3 服务连接 - #84
Merged
Merged
Conversation
Contributor
|
建议分别提供通用的串口支持协议和蓝牙桥接方案 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
变更说明
完善
dev已有的 pokeldn 串口适配,并加入 ESP32-S3 的官方本地手柄服务连接。普通 ESP32 使用 921600 串口直连;S3 通过pokeldn.pad.service桥接 BLE,板子原生 USB 接 NS。PokeldnSerialClient的公开接口、CreatePokeldnConnection接缝、原有协议回退顺序及专用设备写线程。BytesSent继续返回原始 7-bit HID,兼容 Maa 对中立报告写出的确认。pokeldn:COM3、pokeldn:/dev/ttyUSB0、pokeldn://service。端点别名共享来源占用锁。实现基于上游
dev的8787f0bda441f85848ad0f978f780d6ebd82c93e,固件协议依据Decryptu/pokeldn@30cbb0a47541a4293ca92152838b03cd7c8b9615的 pad 1.3.0。关联 Issue
暂无关联 Issue。本 PR 扩展已有的实验性串口适配,S3 服务桥接属于新增能力,先作为草稿供维护者确认方案;尚未取得贡献指南所要求的 Issue 讨论共识。
变更类型
人工审核声明
实现和自动化验证由 Codex 辅助完成。用户确认了两种板子的需求,并反馈早期适配构建在 ESP32E 上可连接和控制 NS;以下人工代码审核声明尚未确认。
自查清单
dotnet build EasyCon2.slnx -c Release --no-restore通过dotnet test EasyCon2.slnx -c Release --no-build --no-restore通过dotnet format EasyCon2.slnx --verify-no-changes --no-restore无差异验证方式
Windows / .NET SDK 10.0.403:全量测试 1,883 通过、182 跳过、0 失败,另有 29 项显式测试未选择运行。跳过项主要依赖本机未安装的 C99 编译器、OCR 模型/资料或其他平台环境;构建仍有现存警告。
设备测试覆盖独立构造的 UART 帧、所有按钮/HAT/摇杆边界、分片和噪声恢复、启动重试、拒绝/缺失 ACK、断开释放,以及真实本机 TCP 上的官方服务协议。另验证延迟 ACK 时释放不能提前报告成功、Maa 固件能力透传和端点别名独占;上游既有串口回退测试继续通过。
实机状态:用户反馈早期适配构建的 ESP32E 控制可用;本次对齐最新
dev后尚未复测实机,ESP32-S3 和 Switch 2 仍待实测。短按吞吐及严格帧计时需要实际蓝牙环境验证。唤醒限制:普通 ESP32 的 HOME 输入只更新普通 HID 报告,当前固件在蓝牙断开后不会因该输入发起重连/唤醒。请先用 NS 电源键或原装手柄唤醒。依据固件蓝牙连接与发送实现;本 PR 不更改板上固件。