rmodem 0.1.0-prerelease

Peripheral access crate for the JH71xx SoCs
Documentation
rmodem-0.1.0-prerelease has been yanked.

rmodem

XMODEM protocol implementation in pure #[no_std] Rust.

This implementation has the goal of supporting as many variants of the XMODEM protocol still in common usage.

If code size becomes an issue, protocol variants may be feature-gated.

For example, the original protocol and common data structures would be available by default.

When implemented, to enable YMODEM support:

[dependencies.rmodem]
# ...
features = ["ymodem"]

no-std

This crate is #[no_std] by default, making it usable in environments without the std and alloc libraries.

Exception safety

This crate aims to be free from explicit and implicit panics, favoring fallible functions to bubble-up errors.

Lints and manual code review should help in these efforts.

If you notice code that will panic at runtime, it's a bug.

Please file an issue or submit code changes :)

Compile-time errors, such as failing assertions in proc-macros, do not count since they are caught during compilation.

Usage

(coming soon)

WIP

The current plan is to support:

  • XMODEM
  • XMODEM-1k
  • XMODEM-CRC
  • WXMODEM
  • YMODEM
  • ZMODEM

If there are other variants still in common usage, please open an issue or submit code changes :)

LICENSE

This code is licensed under AGPL v3.0 or later.