21 releases (4 breaking)

0.5.0 Feb 8, 2026
0.4.7 Jan 26, 2026
0.4.6 Nov 19, 2025
0.1.2 Jun 19, 2024

#440 in Hardware support


Used in 2 crates

MIT/Apache

82KB
2K SLoC

ZMODEM file transfer protocol library. zmodem2::Sender and zmodem2::Receiver provide stream alike state machines for sending and receiving files with the ZMODEM protocol.

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

  1. Create zmodem2::Sender or zmodem2::Receiver.
  2. Drain drain_outgoing() returned bytes into the wire and call advance_outgoing() after writing. Then, feed incoming bytes with feed_incoming().
  3. In the sender, complete poll_file() with feed_file() if required and handle events via poll_event().
  4. In the receiver, write drain_file() returned bytes into storage, and call advance_file() after writing. Handle events via poll_event().

zmodem2

zmodem2 provides a ZMODEM file tranmission protocol implementation with step executed state by the caller. It is based on prior work of Aleksei Arbuzov in the zmodem crate.

This crate is fully no_std compatible and heapless.

Development

Dependencies

~235–680KB
~16K SLoC