fw-rust: Improve control/display toggle times
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful

Optimize the control data/display data slope timing. This closes #1.
This commit is contained in:
finga 2022-04-07 12:13:34 +02:00
parent 58d903c9e6
commit e6bf3e780e
2 changed files with 22 additions and 51 deletions

View file

@ -4,7 +4,7 @@ use crate::{
DefaultClock,
};
use atmega_hal::delay::Delay;
use embedded_hal::{blocking::delay::DelayMs, spi::FullDuplex};
use embedded_hal::{blocking::delay::DelayUs, spi::FullDuplex};
use nb::block;
pub struct Splash;
@ -16,32 +16,28 @@ impl Splash {
for (i, page) in SACRED_CHAO.iter().enumerate() {
lcd.move_cursor(31, 1 + i as u8);
// TODO: This delay fixes issues, try find a better solution
delay.delay_ms(1_u8);
delay.delay_us(5_u8);
lcd.cd.set_high();
for segment in page {
block!(lcd.spi.send(*segment)).unwrap();
}
// TODO: This delay fixes issues, try find a better solution
delay.delay_ms(1_u8);
delay.delay_us(5_u8);
lcd.cd.set_low();
}
for (i, page) in ONDERS_ORG.iter().enumerate() {
lcd.move_cursor(27, 6 + i as u8);
// TODO: This delay fixes issues, try find a better solution
delay.delay_ms(1_u8);
delay.delay_us(5_u8);
lcd.cd.set_high();
for segment in page {
block!(lcd.spi.send(*segment)).unwrap();
}
// TODO: This delay fixes issues, try find a better solution
delay.delay_ms(1_u8);
delay.delay_us(5_u8);
lcd.cd.set_low();
}
}