firmware for my Touchscreen E-Paper Input Module for Framework Laptop 16
1use pervasive_spi::PervasiveSpiDelays;
2
3pub use pervasive_spi::rp2040::IoPin;
4
5/// A type implementing `PervasiveSpiDelays` designed for use with the TP370PGH01 display on the
6/// RP2040 (running at its default speed).
7pub struct Rp2040PervasiveSpiDelays;
8
9impl PervasiveSpiDelays for Rp2040PervasiveSpiDelays {
10 #[inline(always)]
11 fn delay_read_after_sck_high(&self) {
12 cortex_m::asm::delay(100);
13 }
14
15 #[inline(always)]
16 fn delay_read_after_sck_low(&self) {
17 cortex_m::asm::delay(100);
18 }
19
20 #[inline(always)]
21 fn delay_read_after_byte(&self) {
22 cortex_m::asm::delay(100);
23 }
24
25 #[inline(always)]
26 fn delay_write_after_sda_set(&self) {
27 // no delay
28 }
29
30 #[inline(always)]
31 fn delay_write_after_sck_high(&self) {
32 cortex_m::asm::nop();
33 }
34
35 #[inline(always)]
36 fn delay_write_after_sck_low(&self) {
37 // no delay
38 }
39
40 #[inline(always)]
41 fn delay_write_after_byte(&self) {
42 // no delay
43 }
44}