From fb851f71f68eb632de3c0978c6ed74016c58d3b8 Mon Sep 17 00:00:00 2001 From: Teufelchen1 Date: Mon, 23 Jun 2025 11:57:52 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=9D:=20Update=20README=20for=20v0.3.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index afa84d1..1831213 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,10 @@ [![Clippy & co](https://github.com/Teufelchen1/slipmux/actions/workflows/rust.yml/badge.svg)](https://github.com/Teufelchen1/slipmux/actions/workflows/rust.yml) +[![Crates.io](https://img.shields.io/crates/v/slipmux.svg)](https://crates.io/crates/slipmux) +[![Documentation](https://docs.rs/slipmux/badge.svg)](https://docs.rs/slipmux) # Slipmux: Using an UART interface for diagnostics, configuration, and packet transfer Pure Rust implementation of [draft-bormann-t2trg-slipmux-03](https://datatracker.ietf.org/doc/html/draft-bormann-t2trg-slipmux-03). -Note: Frame aborting is not implemented! ## What is Slipmux @@ -15,6 +16,13 @@ diagnostic frames and configuration messages. Diagnostic frames are UTF-8 encoded strings intended as human-readable messages. Configuration messages are serialized `CoAP` messages. +## Usage + +Add `slipmux` to the dependencies in your `Cargo.toml`. This crate requires `std` by default via the `std` feature. You can disable this by adding `default-features = false` to the entry, which will make this crate `no_std` compatible. + +Check [docs.rs](https://docs.rs/slipmux/latest/slipmux/) for examples and documentation on the programming API. +For even more examples, take a look at the unittests on the bottom of [src/framehandler.rs](https://github.com/Teufelchen1/slipmux/blob/main/src/framehandler.rs). + ## Todo - [x] Remove coap-lite dep @@ -24,12 +32,13 @@ Configuration messages are serialized `CoAP` messages. - [x] Implement frame abort - [ ] Encoder (this crate does not take control over the transmission, it has no way of aborting) - [x] Decoder -- [ ] Make crate optional `#[no_std]` -- [ ] Rethink public interfaces (generalise the usability): - - [ ] Currently wild mix of `[u8]` and `Vec` - - [ ] Impossible to know if the deocder is completely done or if bytes remain in its buffer - - [ ] Error handling is tedious +- [x] Make crate optional `#[no_std]` +- [x] Rethink public interfaces (generalise the usability): + - [x] Currently wild mix of `[u8]` and `Vec` + - [x] Impossible to know if the deocder is completely done or if bytes remain in its buffer + - [x] Error handling is tedious - [ ] Interoperability tests with other slipmux implementations +- [ ] Polishing, QoL improvments, incorporating feedback from experienced crate publishern ## License