Skip to main content

Crate epd_datafuri

Crate epd_datafuri 

Source
Expand description

Rust driver for Adafruit e-Paper displays (EPD), for use with embedded-hal.

§Supported Displays

DisplayControllerColorsGrayscale
Adafruit ThinkInk 2.9“ EAAMFGN (2025 MagTag)SSD1680BWGray2 (2-bit, 4-level)
Adafruit ThinkInk 2.9“ T5 (original MagTag)IL0373BWGray2 (2-bit, 4-level)

§Usage

§ThinkInk 2.9“ — Monochrome (SSD1680)

use epd_datafuri::displays::adafruit_thinkink_290_mfgn::{ThinkInk2in9Mono, Display2in9Mono};
use epd_datafuri::prelude::*;

let mut driver = ThinkInk2in9Mono::new(spi, busy, dc, rst)?;
let mut display = Display2in9Mono::new();

// Draw using embedded-graphics
Text::new("Hello!", Point::new(10, 20), text_style).draw(&mut display)?;

driver.begin(&mut delay)?;
driver.update_and_display(display.buffer(), &mut delay)?;

§ThinkInk 2.9“ — Grayscale (SSD1680)

use epd_datafuri::displays::adafruit_thinkink_290_mfgn::{ThinkInk2in9Gray2, Display2in9Gray2};
use epd_datafuri::prelude::*;
use embedded_graphics::pixelcolor::Gray2;

let mut driver = ThinkInk2in9Gray2::new(spi, busy, dc, rst)?;
let mut display = Display2in9Gray2::new();

// Draw using embedded-graphics with 4-level gray
Text::new("Hello!", Point::new(10, 20), text_style).draw(&mut display)?;

driver.begin(&mut delay)?;
driver.update_gray2_and_display(display.high_buffer(), display.low_buffer(), &mut delay)?;

§MagTag 2.9“ — Grayscale (IL0373)

use epd_datafuri::displays::adafruit_thinkink_290_t5::{ThinkInk2in9Gray2, Display2in9Gray2};
use epd_datafuri::prelude::*;
use embedded_graphics::pixelcolor::Gray2;

let mut driver = ThinkInk2in9Gray2::new(spi, busy, dc, rst)?;
let mut display = Display2in9Gray2::new();

driver.begin(&mut delay)?;
driver.update_gray2_and_display(display.high_buffer(), display.low_buffer(), &mut delay)?;

§Grayscale

2-bit, 4-level grayscale (Gray2) is supported for both displays. Each display module exports its own Display2in9Gray2 with the correct plane mapping for that controller:

§Notes

Partial updates are not supported.

Modules§

color
B/W Color for EPDs
displays
Graphics Support for EPDs
driver
Driver trait and chip-specific implementations
graphics
graphics module
interface
Display interface using SPI
prelude
Useful exports