This is an automated email from the ASF dual-hosted git repository.

jiuzhudong pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx-apps.git

commit 8804f086b3186d40c4708ba0ef9cff801a0fb9ac
Author: anjiahao <[email protected]>
AuthorDate: Mon Feb 10 12:14:07 2025 +0800

    ymodem:sbrb.py send command need flush and reset input buffer
    
    These changes fix reliability issues when initiating ymodem transfers
    over serial connections.
    
    Signed-off-by: anjiahao <[email protected]>
---
 system/ymodem/sbrb.py | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/system/ymodem/sbrb.py b/system/ymodem/sbrb.py
index 0b9767384..a5c90930f 100755
--- a/system/ymodem/sbrb.py
+++ b/system/ymodem/sbrb.py
@@ -822,7 +822,9 @@ if __name__ == "__main__":
                 recvfile += i + " "
 
             fd_serial.write(("sb %s\r\n" % (recvfile)).encode())
-            tmp = fd_serial.read(len(("sb %s\r\n" % (recvfile)).encode()))
+            fd_serial.flush()
+            tmp = fd_serial.read(len(("sb %s\r\n" % (recvfile)).encode()) - 1)
+            fd_serial.reset_input_buffer()
         else:
             if args.sendto:
                 cmd = ("rb -f %s\r\n" % (args.sendto[0])).encode()
@@ -830,6 +832,7 @@ if __name__ == "__main__":
                 cmd = ("rb\r\n").encode()
 
             fd_serial.write(cmd)
+            fd_serial.flush()
             fd_serial.read(len(cmd))
 
             fd_serial.reset_input_buffer()

Reply via email to