9 releases
0.3.0 | Jan 31, 2025 |
---|---|
0.2.3 | Jun 14, 2022 |
0.1.4 | Apr 2, 2019 |
0.1.3 | Dec 21, 2017 |
0.1.1 | Aug 5, 2015 |
#80 in Algorithms
603,980 downloads per month
Used in 707 crates
(14 directly)
34KB
443 lines
cobs
This is an implementation of the Consistent Overhead Byte Stuffing (COBS) algorithm in Rust.
COBS is an algorithm for transforming a message into an encoding where a specific value (the "sentinel" value) is not used. This value can then be used to mark frame boundaries in a serial communication channel.
See the wikipedia article for details.
Features
cobs
supports various runtime environments and is also suitable for no_std
environments.
Default features
std
: Enables functionality relying on the standard library and also activates thealloc
feature. Currently only addsstd::error::Error
support for the library error types.alloc
: Enables features which operate on containers likealloc::vec::Vec
. Enabled by thestd
feature.
Optional features
defmt
: Addsdefmt::Format
derives on some data structures and error types.serde
: Addsserde
derives on some data structures and error types.
License
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Dependencies
~235–790KB
~18K SLoC