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
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:
- Create
zmodem2::Senderorzmodem2::Receiver. - Drain
drain_outgoing()returned bytes into the wire and calladvance_outgoing()after writing. Then, feed incoming bytes withfeed_incoming(). - In the sender, complete
poll_file()withfeed_file()if required and handle events viapoll_event(). - In the receiver, write
drain_file()returned bytes into storage, and calladvance_file()after writing. Handle events viapoll_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
- Git: https://codeberg.org/jarkko/zmodem2.git
- Commits follow the Conventional Commits specification.
- New commits must include a
Signed-off-bytrailer. - Versioning scheme uses Semantic Versioning.
Dependencies
~235–680KB
~16K SLoC