9 releases

0.9.0 Apr 18, 2024
0.8.0 Apr 17, 2024
0.8.0-alpha.6 Feb 14, 2022
0.8.0-alpha.5 Oct 7, 2021
0.8.0-alpha.0 Nov 29, 2020

#357 in Hardware support


Used in 3 crates

MIT license

58KB
1.5K SLoC

driver-pal

A helper package for rust-embedded driver traits and implementations to assist with constructing drivers for embedded devices, currently focussed on SPI with the intent to extend this to support I2C in the future. Previously known as embedded-spi, new releases at crates.io/crates/driver-pal.

This provides:

  • a CS pin trait to communicate CS control for SPI based drivers
  • a Wrapper type to provide this for an SPI and OutputPin implementation
  • a Hal that abstracts over a number of SPI implementations to assist with writing driver utilities
  • a Mock helper for testing drivers based on this
  • a set of compatibility shims for c FFI use with dependency injected drivers

Status

GitHub tag Build Status Crates.io Docs.rs

Open Issues

Currently patched-to-heck waiting on embedded-hal version v1.0.0-alpha.3 with transactional SPI, and a bunch of downstream patches that depend on this. You'll need to add the following patch line to any top-level project consuming this library:

[patch.crates-io]
embedded-hal = { git = "https://github.com/rust-embedded/embedded-hal.git", branch = "master" }

Dependencies

~0.2–8MB
~60K SLoC