format
This commit is contained in:
parent
c50f8cb955
commit
91be01196f
|
@ -51,11 +51,7 @@ impl Wrapper {
|
||||||
let mut delay = Delay {};
|
let mut delay = Delay {};
|
||||||
let panel = Epd7in3f::new(&mut spi, busy_pin, dc_pin, rst_pin, &mut delay, None)?;
|
let panel = Epd7in3f::new(&mut spi, busy_pin, dc_pin, rst_pin, &mut delay, None)?;
|
||||||
|
|
||||||
Ok(Self {
|
Ok(Self { spi, delay, panel })
|
||||||
spi,
|
|
||||||
delay,
|
|
||||||
panel,
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
pub fn test(&mut self) -> Result<()> {
|
pub fn test(&mut self) -> Result<()> {
|
||||||
self.panel.show_7block(&mut self.spi, &mut self.delay)?;
|
self.panel.show_7block(&mut self.spi, &mut self.delay)?;
|
||||||
|
@ -109,8 +105,8 @@ pub fn get_display() -> Box<dyn EInkPanel + Send> {
|
||||||
#[must_use]
|
#[must_use]
|
||||||
#[instrument(skip_all)]
|
#[instrument(skip_all)]
|
||||||
pub fn create_display_thread(
|
pub fn create_display_thread(
|
||||||
mut display: Box<dyn EInkPanel + Send>,
|
|
||||||
) -> (thread::JoinHandle<()>, mpsc::Sender<Box<DitheredImage>>) {
|
) -> (thread::JoinHandle<()>, mpsc::Sender<Box<DitheredImage>>) {
|
||||||
|
let mut display = get_display();
|
||||||
let (tx, rx) = mpsc::channel::<Box<DitheredImage>>();
|
let (tx, rx) = mpsc::channel::<Box<DitheredImage>>();
|
||||||
let handle = thread::spawn(move || {
|
let handle = thread::spawn(move || {
|
||||||
let span = span!(Level::INFO, "display_thread");
|
let span = span!(Level::INFO, "display_thread");
|
||||||
|
|
|
@ -216,7 +216,10 @@ impl<'a> Ditherer for ErrorDiffusion<'a> {
|
||||||
let srgb = <&[Srgb<u8>]>::from_components(&**img);
|
let srgb = <&[Srgb<u8>]>::from_components(&**img);
|
||||||
let (xsize, ysize) = img.dimensions();
|
let (xsize, ysize) = img.dimensions();
|
||||||
// our destination buffer.
|
// our destination buffer.
|
||||||
let mut temp_img: Vec<Lab> = srgb.par_iter().map(|s| s.into_format().into_color()).collect();
|
let mut temp_img: Vec<Lab> = srgb
|
||||||
|
.par_iter()
|
||||||
|
.map(|s| s.into_format().into_color())
|
||||||
|
.collect();
|
||||||
let lab_palette: Vec<Lab> = output.palette.iter().map(|c| Lab::from_color(*c)).collect();
|
let lab_palette: Vec<Lab> = output.palette.iter().map(|c| Lab::from_color(*c)).collect();
|
||||||
|
|
||||||
// TODO: rework this to make more sense.
|
// TODO: rework this to make more sense.
|
||||||
|
|
|
@ -16,8 +16,6 @@ const DISPLAY_PALETTE: [Srgb; 7] = [
|
||||||
Srgb::new(0.757, 0.443, 0.165), // Orange
|
Srgb::new(0.757, 0.443, 0.165), // Orange
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// A more primitive palette that doesn't reflect reality. Here for posterity.
|
/// A more primitive palette that doesn't reflect reality. Here for posterity.
|
||||||
/// This is based on the datasheet, not on empirical testing
|
/// This is based on the datasheet, not on empirical testing
|
||||||
const SIMPLE_PALETTE: [Srgb; 7] = [
|
const SIMPLE_PALETTE: [Srgb; 7] = [
|
||||||
|
@ -30,7 +28,9 @@ const SIMPLE_PALETTE: [Srgb; 7] = [
|
||||||
Srgb::new(0.757, 0.443, 0.165), // Orange
|
Srgb::new(0.757, 0.443, 0.165), // Orange
|
||||||
];
|
];
|
||||||
|
|
||||||
#[derive(strum::EnumString, strum::Display, Serialize, Deserialize, PartialEq, Eq, Debug, Clone, Copy)]
|
#[derive(
|
||||||
|
strum::EnumString, strum::Display, Serialize, Deserialize, PartialEq, Eq, Debug, Clone, Copy,
|
||||||
|
)]
|
||||||
pub enum Palette {
|
pub enum Palette {
|
||||||
Default,
|
Default,
|
||||||
Simple,
|
Simple,
|
||||||
|
@ -46,8 +46,6 @@ impl Palette {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// Construct a dithered image for the EINK display using the default palette and correct
|
/// Construct a dithered image for the EINK display using the default palette and correct
|
||||||
/// resolution.
|
/// resolution.
|
||||||
#[must_use]
|
#[must_use]
|
||||||
|
|
Loading…
Reference in a new issue