rktk/drivers/interface/
display.rs1use display_interface::DisplayError;
2use embedded_graphics::{pixelcolor::BinaryColor, prelude::*};
3
4pub trait DisplayDriver: AsRef<Self::Display> + AsMut<Self::Display> + 'static {
8 type Display: DrawTarget<Color = BinaryColor>;
9
10 async fn init(&mut self) -> Result<(), DisplayError> {
18 Ok(())
19 }
20
21 async fn flush(&mut self) -> Result<(), DisplayError> {
22 Ok(())
23 }
24
25 async fn set_brightness(&mut self, _brightness: u8) -> Result<(), DisplayError> {
29 Err(DisplayError::DataFormatNotImplemented)
30 }
31
32 async fn set_display_on(&mut self, on: bool) -> Result<(), DisplayError> {
33 if on {
34 self.set_brightness(255).await
35 } else {
36 self.set_brightness(0).await
37 }
38 }
39}