-
Notifications
You must be signed in to change notification settings - Fork 42
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ZMODEM send: Disable window if receiver does not set CANFDX flag #408
Conversation
If the receiver does not set CANFDX, then the sender should wait for the receiver to send ZACK for each data subpacket before sending more data.
Thanks for pull request. In what environment have you tested this? |
I have a small embedded device with small serial RX buffer and slow Flash writes. Serial speed is 115200 bps. I send a firmware file to it. I could not compile my modified source code myself. I have done these tests with Tera Term 5.3:
|
Would you like me to send you ZMODEM.LOG files for tests 1 and 2? If you compile my code change and send me the |
I would not be able to test PR in my environment. I built Tera Term from zmodem-rinit-canfdx branch (2d47c21). Please test this. |
ありがとうございます。
|
I found a problem: I tried testing with TERATERM.INI setting
Then I found that my code change didn't work. The problem seems to be the
|
This ensures that the CANFDX test is effective even if ZSINIT needs to be sent.
Move it before the code that checks CtlEsc, so it works even if ZSINIT needs to be sent.
😀👍
I built binary from zmodem-rinit-canfdx branch (006167b). Please use this. |
ありがとうございます。 |
👍 I would like to add the fix for this PR to history. Is this okay? Changes
In Japanese
|
That sounds mostly good. I would suggest
That hopefully clarifies that the change is for ZModem Send, not Receive. |
If the receiver does not set CANFDX, then the sender should wait for the receiver to send ZACK for each data subpacket before sending more data.
This allows ZMODEM to be used with a small embedded device that needs ZMODEM to pause while it writes to Flash memory.