SSD1677 driver
Blocking SPI driver to use SSD1677 e-paper displays in embedded Rust.
The driver currently supports binary monochromatic usage.
This driver is tested on the GDEQ0426T82 display from GoodDisplay.
Features
Implemented:
Not implemented:
Usage
The following section will show a simplified example based on the example in the exmaples directory.
This snippet will not compile by itself and is only intended as a basic example of how the display can be initialised.
For more usage see the Examples folder.
use ssd1677::{self, interface::Interface4Pin};
fn main() -> ! {
let dc = Output::new(dc_pin, gpio::Level::Low, gpio::Speed::Medium);
let reset = Output::new(reset_pin, gpio::Level::High, gpio::Speed::Medium);
let busy = Input::new(busy_pin, gpio::Pull::None);
let config: ssd1677::Config = ssd1677::ConfigBuilder::new()
.dimensions(ssd1677::Dimensions {
rows: 480,
cols: 800,
})
.rotation(ssd1677::Rotation::Rotate0)
.auto_update(false)
.build()
.expect("Failed to create display config");
let interface = Interface4Pin::new(display_spi_device, dc, reset, busy);
let mut display_buffer = [0u8; 480 * 800 / 8];
let mut display = ssd1677::Display::new(interface, &mut display_buffer, config);
display.reset(&mut Delay).expect("Failed to reset display");
display.clear(BinaryColor::Off).unwrap();
display
.update(ssd1677::basic_display::DisplayUpdateMode::Slow)
.unwrap();
}