#datagram #infrared #codec #no-std

no-std manchester-code

A no-std library to allow Manchester encoding and decoding of datagrams

2 unstable releases

0.2.0 Apr 1, 2022
0.1.0 Mar 8, 2022

#1467 in Embedded development

MIT license

46KB
809 lines

Manchester Encoding and Decoding

crates.io docs.rs license rustc CI status

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

License

This project is licensed under

Contributing

Your PRs and suggestions are always welcome.

Future Work

  • defmt optional
  • fmt optional
  • async as stream
  • ci + readme reporting
  • publish

Dependencies

~0.6–1MB
~23K SLoC