|
|
|
@ -1,21 +1,45 @@
|
|
|
|
|
[](https://travis-ci.com/Caemor/eink-waveshare-rs)
|
|
|
|
|
# eink-waveshare-rs [](https://travis-ci.com/Caemor/eink-waveshare-rs)
|
|
|
|
|
|
|
|
|
|
# eink-waveshare-rs
|
|
|
|
|
This library contains a driver for the [4.2 Inch E-Paper Module](https://www.waveshare.com/wiki/4.2inch_e-Paper_Module) from Waveshare.
|
|
|
|
|
|
|
|
|
|
IN WORK! Drivers for various EPDs from Waveshare.
|
|
|
|
|
Support for more (especially the smaller and faster ones) should follow after the library around the 4.2" EInk is stable and tested enough.
|
|
|
|
|
|
|
|
|
|
Currently only support for the 4.2 Black/White one
|
|
|
|
|
## (Supported) Devices
|
|
|
|
|
|
|
|
|
|
Be careful with the partial updates!
|
|
|
|
|
It was only tested in a mBED implementation, the rust one wasn't tested enough yet!!!
|
|
|
|
|
| Device | Colors | Partial Refresh | Supported | Tested |
|
|
|
|
|
| :---: | --- | :---: | :---: | :---: |
|
|
|
|
|
| 4.2 Inch B/W | Black, White | Not officially [[1](#42-inch-e-ink-blackwhite)] | ✔ | ✔ |
|
|
|
|
|
| 1.54 Inch B/W | Black, White | ✔ | | |
|
|
|
|
|
| 2.13 Inch B/W | Black, White | ✔ | | |
|
|
|
|
|
| 2.9 Inch B/W | Black, White | ✔ | | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 4.2 Inch E-Ink Black/White
|
|
|
|
|
|
|
|
|
|
Out of the Box the original driver from Waveshare only supports full updates.
|
|
|
|
|
|
|
|
|
|
- [1]: Be careful with the quick refresh updates: <br>
|
|
|
|
|
It's possible with this driver but might lead to ghosting / burn-in effects therefore it's hidden behind a feature.
|
|
|
|
|
|
|
|
|
|
### Interface
|
|
|
|
|
|
|
|
|
|
| Interface | Description |
|
|
|
|
|
| :---: | :--- |
|
|
|
|
|
| VCC | 3.3V |
|
|
|
|
|
| GND | GND |
|
|
|
|
|
| DIN | SPI MOSI |
|
|
|
|
|
| CLK | SPI SCK |
|
|
|
|
|
| CS | SPI chip select (Low active) |
|
|
|
|
|
| DC | Data/Command control pin (High for data, and low for command) |
|
|
|
|
|
| RST | External reset pin (Low for reset) |
|
|
|
|
|
| BUSY | Busy state output pin (Low for busy) |
|
|
|
|
|
|
|
|
|
|
## TODO's
|
|
|
|
|
|
|
|
|
|
- [ ] add more example (e.g. for f3)
|
|
|
|
|
- [ ] add more examples (e.g. for f3)
|
|
|
|
|
- [ ] improve the partial drawing/check the timings/timing improvements/....
|
|
|
|
|
- [ ] for later: add support for the smaller waveshare epds
|
|
|
|
|
- [ ] License: Stay with ISC (=MIT) or go to Apache+MIT Dual Version as used in many other projects?
|
|
|
|
|
|
|
|
|
|
- [ ] License: Stay with ISC (=MIT) or go to the Apache+MIT Dual License as used in many other projects?
|
|
|
|
|
|
|
|
|
|
## Graphics/Drawing
|
|
|
|
|
|
|
|
|
@ -31,18 +55,10 @@ Chars and Strings work with a 8x8-Font.
|
|
|
|
|
|
|
|
|
|
Support for bigger sized/independent Fonts is in work.
|
|
|
|
|
|
|
|
|
|
## Examples
|
|
|
|
|
|
|
|
|
|
### With a Buffer
|
|
|
|
|
|
|
|
|
|
- Chars, Strings and filled circles are still missing
|
|
|
|
|
- maybe work with traits here for line_drawing and so on?
|
|
|
|
|
|
|
|
|
|
### Without a Buffer
|
|
|
|
|
|
|
|
|
|
Maybe add support for Non-Buffer drawing from the https://crates.io/crates/embedded-graphics Crate later on.
|
|
|
|
|
There is an example for Raspberry Pi in the example folder.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Examples
|
|
|
|
|
|
|
|
|
|
There is an example for Raspberry Pi in the example folder.
|
|
|
|
|
|
|
|
|
|