#embedded-hal-driver #e-paper #no-std

nightly no-std epd

Drivers for EPD(E-Paper Displays), WIP

2 releases

0.0.2 Apr 2, 2023
0.0.1 Jan 15, 2021

#1836 in Embedded development

MIT/Apache

45KB
1K SLoC

EPD driver

EPD = Electronic Paper Display

NOTE: This is a personal POC project.

How to use

    let spi = Spi::new(
        p.SPI2,
        p.PB10,
        p.PC3,
        p.PC2, // not used
        NoDma,
        NoDma,
        Hertz(1_000_000),
        embassy_stm32::spi::Config::default(),
    );

    let cs = Output::new(p.PC7, Level::Low, Speed::VeryHigh);
    let dc = Output::new(p.PC9, Level::High, Speed::VeryHigh);
    let rst = Output::new(p.PA11, Level::Low, Speed::VeryHigh);
    let busy = Input::new(p.PG9, Pull::None);

    let di = EPDInterface::new(spi, dc, cs, rst, busy);
    let mut display: TriColorEPD<_, DisplaySize400x300, SSD1619A> = TriColorEPD::new(di);

    display.init(&mut delay);

    // draw display here

    display.display_frame();

Dependencies

~4.5MB
~58K SLoC