fix(ymodem): 修正发送 ACK 重试并统一异常清理 与串口V2在控制台下使用SY失败问题#11162
fix(ymodem): 修正发送 ACK 重试并统一异常清理 与串口V2在控制台下使用SY失败问题#11162wdfk-prog wants to merge 2 commits intoRT-Thread:masterfrom
Conversation
|
👋 感谢您对 RT-Thread 的贡献!Thank you for your contribution to RT-Thread! 为确保代码符合 RT-Thread 的编码规范,请在你的仓库中执行以下步骤运行代码格式化工作流(如果格式化CI运行失败)。 🛠 操作步骤 | Steps
完成后,提交将自动更新至 如有问题欢迎联系我们,再次感谢您的贡献!💐 |
📌 Code Review Assignment🏷️ Tag: componentsReviewers: Maihuanyi Changed Files (Click to expand)
🏷️ Tag: components_driver_serial_v2Reviewers: Ryan-CW-Code Changed Files (Click to expand)
🏷️ Tag: components_utilities_ymodemReviewers: wdfk-prog Changed Files (Click to expand)
📊 Current Review Status (Last Updated: 2026-02-01 17:06 CST)
📝 Review Instructions
|
- Accumulate short reads, mark finishing on EOF - Track begin/end callback states and cleanup on error paths - Add ACK handling with retry/error counting in send flow
拉取/合并请求描述:(PR description)
[
为什么提交这份PR (why to submit this PR)
本 PR 主要修复/增强 YMODEM 发送与会话清理流程,并调整串口 poll tx 的 CRLF 行为:
你的解决方案是什么 (what is your solution)
YMODEM 发送:改为循环读取文件数据,正确处理短读/EOF
YMODEM 会话:新增 begin/end 回调状态并统一 cleanup,避免 buf 泄漏
YMODEM 发送:增加 ACK 错误计数与重试逻辑
串口:poll tx 不再对 console 设备做额外 CR 插入,仅在 STREAM 模式下转换
\n优化发送一帧\r;导致sy 一帧1024的数据包长度超出标准协议与CRC校验失败请提供验证的bsp和config (provide the config and bsp)
sy file_path [uartX]发送大文件与小文件各一次ry file_path [uartX]接收,验证异常中断后资源释放/文件句柄关闭是否正常\n的日志,验证终端是否仍显示正常换行(确认 console open_flag 是否含 STREAM)]
当前拉取/合并请求的状态 Intent for your PR
必须选择一项 Choose one (Mandatory):
代码质量 Code Quality:
我在这个拉取/合并请求中已经考虑了 As part of this pull request, I've considered the following:
#if 0代码,不包含已经被注释了的代码 All redundant code is removed and cleaned up