Skip to main content

Crate ssd1619a

Crate ssd1619a 

Source
Expand description

Platform-agnostic driver for electrophoretic display devices which use the SSD1619A display controller; this crate is compatible with no_std and provides an interface that is applicable to embedded devices.

§Example of drawing a single frame

use ssd1619a::interface::SpiInterface;
use ssd1619a::{BUFFER_SIZE, Builder};

static FRAMEBUFFER: ConstStaticCell<[u8; BUFFER_SIZE]> = ConstStaticCell::new([0x00; _]);

let interface = SpiInterface::new(spi, dc, rst, busy);
let mut display = Builder::new(interface)
    .with_buffer(FRAMEBUFFER.take())
    .init(&mut Delay)?;

let style = PrimitiveStyleBuilder::new()
    .fill_color(BinaryColor::On) // Black
    .build();

Rectangle::new(Point::new(0, 40), Size::new(400, 220))
    .into_styled(style)
    .draw(&mut display)?;

display.update(&mut Delay)?;

Modules§

error
Error types utilized by the display driver.
interface
Interface types for various communication protocols.

Structs§

Buffer
Device framebuffer with capacity to hold a single frame of black-and-white image.
Builder
Builder for a display using an interface, for setting up the display with a framebuffer.
Display
Display which implements the DrawTarget trait.
NoBuffer
The lack of a framebuffer.

Constants§

BUFFER_SIZE
The framebuffer size in bytes.

Traits§

DisplayInner
The inner part of the display type which is switched out with the configuration.