# Manchester Encoding and Decoding
[](https://crates.io/crates/manchester-code)
[](https://docs.rs/manchester-code)
[](#license)
[](https://www.rust-lang.org)
[CI status](https://github.com/almedso/manchester-code/actions/workflows/ci.yml/badge.svg)
A `no-std` library to allow Manchester encoding and decoding of datagrams.
It requires certain deep embedded resources like timers, PWM and ISR's.
## Features
* Decode monotonically sampled data stream that is Manchester modulated
like it is used in RC5
* High/low IN-Activitity configuration
* Zero or one first bit configuration
* Big endian/ little endian configuration
* Automatic start and end of datagram detection
* Requires a periodic timer
* Encode
* Big endian/ little endian configuration
* Requires a timer ISR and a PWM (single channel)
## Example
* Check the [documentation](https://docs.rs/manchester-code)
## License
This project is licensed under
- MIT License ([`LICENSE.md`](LICENSE.md) or
[online](https://opensource.org/licenses/MIT))
## Contributing
Your PRs and suggestions are always welcome.
### Future Work
* defmt optional
* fmt optional
* async as stream
* ci + readme reporting
* publish