fix(ymodem): 修正发送 ACK 重试并统一异常清理 与串口V2在控制台下使用SY失败问题 #11162
+153
−45
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.
拉取/合并请求描述:(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