Clean up and simplify code
parent
6c8ac87c7d
commit
6129723c41
|
|
@ -1,4 +1,4 @@
|
||||||
//! SPI Commands for the Waveshare 1.54" red E-Ink Display
|
//! SPI Commands for the Waveshare 1.54" C red or yellow E-Ink Display
|
||||||
use crate::traits;
|
use crate::traits;
|
||||||
|
|
||||||
#[allow(dead_code)]
|
#[allow(dead_code)]
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ use crate::graphics::{Display, DisplayRotation};
|
||||||
use embedded_graphics::pixelcolor::BinaryColor;
|
use embedded_graphics::pixelcolor::BinaryColor;
|
||||||
use embedded_graphics::prelude::*;
|
use embedded_graphics::prelude::*;
|
||||||
|
|
||||||
/// Full size buffer for use with the 1in54 EPD
|
/// Full size buffer for use with the 1in54c EPD
|
||||||
///
|
///
|
||||||
/// Can also be manually constructed and be used together with VarDisplay
|
/// Can also be manually constructed and be used together with VarDisplay
|
||||||
pub struct Display1in54c {
|
pub struct Display1in54c {
|
||||||
|
|
|
||||||
|
|
@ -16,15 +16,12 @@ pub const WIDTH: u32 = 152;
|
||||||
pub const HEIGHT: u32 = 152;
|
pub const HEIGHT: u32 = 152;
|
||||||
/// Default Background Color (white)
|
/// Default Background Color (white)
|
||||||
pub const DEFAULT_BACKGROUND_COLOR: Color = Color::White;
|
pub const DEFAULT_BACKGROUND_COLOR: Color = Color::White;
|
||||||
|
|
||||||
const NUM_DISPLAY_BITS: u32 = WIDTH * HEIGHT / 8;
|
|
||||||
|
|
||||||
const IS_BUSY_LOW: bool = true;
|
const IS_BUSY_LOW: bool = true;
|
||||||
|
const NUM_DISPLAY_BITS: u32 = WIDTH * HEIGHT / 8;
|
||||||
|
|
||||||
use crate::color::Color;
|
use crate::color::Color;
|
||||||
|
|
||||||
pub(crate) mod command;
|
pub(crate) mod command;
|
||||||
|
|
||||||
use self::command::Command;
|
use self::command::Command;
|
||||||
|
|
||||||
#[cfg(feature = "graphics")]
|
#[cfg(feature = "graphics")]
|
||||||
|
|
@ -100,10 +97,8 @@ where
|
||||||
|
|
||||||
fn update_achromatic_frame(&mut self, spi: &mut SPI, black: &[u8]) -> Result<(), SPI::Error> {
|
fn update_achromatic_frame(&mut self, spi: &mut SPI, black: &[u8]) -> Result<(), SPI::Error> {
|
||||||
self.wait_until_idle();
|
self.wait_until_idle();
|
||||||
|
self.cmd_with_data(spi, Command::DATA_START_TRANSMISSION_1, black)?;
|
||||||
|
|
||||||
self.interface
|
|
||||||
.cmd(spi, Command::DATA_START_TRANSMISSION_1)?;
|
|
||||||
self.interface.data(spi, black)?;
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -113,10 +108,8 @@ where
|
||||||
chromatic: &[u8],
|
chromatic: &[u8],
|
||||||
) -> Result<(), SPI::Error> {
|
) -> Result<(), SPI::Error> {
|
||||||
self.wait_until_idle();
|
self.wait_until_idle();
|
||||||
|
self.cmd_with_data(spi, Command::DATA_START_TRANSMISSION_2, chromatic)?;
|
||||||
|
|
||||||
self.interface
|
|
||||||
.cmd(spi, Command::DATA_START_TRANSMISSION_2)?;
|
|
||||||
self.interface.data(spi, chromatic)?;
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -189,8 +182,7 @@ where
|
||||||
// Clear the chromatic layer
|
// Clear the chromatic layer
|
||||||
let color = self.color.get_byte_value();
|
let color = self.color.get_byte_value();
|
||||||
|
|
||||||
self.interface
|
self.command(spi, Command::DATA_START_TRANSMISSION_2)?;
|
||||||
.cmd(spi, Command::DATA_START_TRANSMISSION_2)?;
|
|
||||||
self.interface.data_x_times(spi, color, NUM_DISPLAY_BITS)?;
|
self.interface.data_x_times(spi, color, NUM_DISPLAY_BITS)?;
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
|
|
@ -228,13 +220,11 @@ where
|
||||||
let color = DEFAULT_BACKGROUND_COLOR.get_byte_value();
|
let color = DEFAULT_BACKGROUND_COLOR.get_byte_value();
|
||||||
|
|
||||||
// Clear the black
|
// Clear the black
|
||||||
self.interface
|
self.command(spi, Command::DATA_START_TRANSMISSION_1)?;
|
||||||
.cmd(spi, Command::DATA_START_TRANSMISSION_1)?;
|
|
||||||
self.interface.data_x_times(spi, color, NUM_DISPLAY_BITS)?;
|
self.interface.data_x_times(spi, color, NUM_DISPLAY_BITS)?;
|
||||||
|
|
||||||
// Clear the red
|
// Clear the chromatic
|
||||||
self.interface
|
self.command(spi, Command::DATA_START_TRANSMISSION_2)?;
|
||||||
.cmd(spi, Command::DATA_START_TRANSMISSION_2)?;
|
|
||||||
self.interface.data_x_times(spi, color, NUM_DISPLAY_BITS)?;
|
self.interface.data_x_times(spi, color, NUM_DISPLAY_BITS)?;
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue