Skip to content

A `no_std` parser for the Adafruit Bluefruit LE Connect controller protocol.

License

Notifications You must be signed in to change notification settings

rursprung/adafruit-bluefruit-protocol-rs

 
 

Repository files navigation

Adafruit Bluefruit LE Connect Controller Protocol Parser

CI Crates.io Licenses unsafe forbidden

This implements the Adafruit Bluefruit LE Connect controller protocol which is e.g. used by the Adafruit Bluefruit LE UART Friend.

Note that this work is not affiliated with Adafruit.

Mandatory Features

This crate is no_std and you can choose whether you want to use heapless::Vec by selecting the feature use_heapless or alloc::vec::Vec by selecting the feature use_alloc. If you select neither or both you'll get a compile error.

Optional Features

  • defmt: you can enable the defmt feature to get a defmt::Format implementation for all structs & enums and a defmt::debug! call for each command being parsed.
  • rgb: if enabled, From<ColorEvent> for RGB8 is implemented to support the RGB crate.
  • serde: if enabled, all events implement the serde #[derive(Serialize, Deserialize)].
  • All events can be selected as individual features. By default, they are all selected, but you can opt to only select the event(s) you are interested in which will result in a small binary size. If other events are received, a ProtocolParseError::DisabledControllerDataPackageType will be returned.

Examples

A simple example for the STM32F4 microcontrollers is available.

Changelog

For the changelog please see the dedicated CHANGELOG.md.

Minimum Supported Rust Version (MSRV)

This crate is guaranteed to compile on stable Rust 1.62 and up. It might compile with older versions but that may change in any new patch release.

About

A `no_std` parser for the Adafruit Bluefruit LE Connect controller protocol.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 100.0%