2 releases

0.1.1 May 17, 2024
0.1.0 May 17, 2024

#795 in Hardware support

Download history 155/week @ 2024-05-12 45/week @ 2024-05-19

200 downloads per month

MIT/Apache

1MB
818 lines

zmodem2 - ZMODEM transfer protocol crate

This a library crate that implements ZMODEM transfer protocol, and is continued development from zmodem crate by Aleksei Arbuzov. The crate does not use heap and can be compiled for no_std.

Contributing

  1. For larger changes, please create an issue. For small and cosmetic PR's just a PR is good enough.
  2. Use Closes: #<issue> when the issue exists.
  3. For large singular commits, preferably write also a description to the commit message.
  4. Add Signed-off-by: Firstname Lastname <email@address.com> to the commmits (i.e. git commit -s).
  5. Try to separate changes into logical pieces in a pull requests with multiple commits.

lib.rs:

ZMODEM file transfer protocol crate. zmodem2::receive and zmodem2::send provide a synchronous and sequential API for sending and receiving files with the ZMODEM protocol. Each step corresponds to a single ZMODEM frame transaction, and the state between the calls is kept in a zmodem2::State instance.

The usage can be described in the high-level with the following flow:

  1. Create zmodem2::State.
  2. Call either zmodem2::send or zmodem2::receive.
  3. If the returned zmodem2::Stage is not yet zmodem2::Stage::Done, go back to step 2.

Dependencies