Skip to content

Async drivers for Waveshare's e-paper displays.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

MorganR/epd-waveshare-async

Repository files navigation

epd-waveshare-async

build-status

docs.rs

Async drivers for Waveshare's e-paper displays.

This is inspired by both the existing (sync) epd-waveshare crate, and the e-Paper code published by Waveshare directly.

However, it diverges significantly in the public interface for the displays, with a focus on clarity, correctness, and flexibility.

Drivers

This library only supports a small set of screens for which I have confirmed all functionality. Drivers should all be tested on real displays using a sample program (see below). Each driver should go in its own module.

Samples

Sample code should exist for each display driver, to both demonstrate its use and to act as a test case that can be easily run. These live in the samples folder, with one subfolder per microcontroller. A sample just needs to be provided for at least one microcontroller per display driver.

Development

Set up

  1. Install Rust curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

We also use Husky to run formatters and linters on git push, which requires NPM. The suggested set up is the following:

  1. Install NVM: curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
  2. Run nvm install to get a consistent version of node
  3. Run npm ci
  4. If needed, install rustfmt: rustup component add rustfmt. You can run cargo fmt to see if this is already installed.

About

Async drivers for Waveshare's e-paper displays.

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •