mirror of
https://github.com/yuri91/ili9341-rs.git
synced 2024-11-21 22:30:59 +00:00
Add Interface trait
This commit is contained in:
parent
1956825a8e
commit
f09403d092
1 changed files with 18 additions and 0 deletions
18
src/lib.rs
18
src/lib.rs
|
@ -13,6 +13,24 @@ use hal::spi::{Mode, Phase, Polarity};
|
||||||
use core::fmt::Debug;
|
use core::fmt::Debug;
|
||||||
use core::iter::IntoIterator;
|
use core::iter::IntoIterator;
|
||||||
|
|
||||||
|
/// Trait representing the interface to the hardware.
|
||||||
|
///
|
||||||
|
/// Intended to abstract the various buses (SPI, MPU 8/9/16-bit) from the Controller code.
|
||||||
|
pub trait Interface {
|
||||||
|
type Error;
|
||||||
|
|
||||||
|
/// Sends a command with a sequence of 8-bit arguments
|
||||||
|
///
|
||||||
|
/// Mostly used for sending configuration commands
|
||||||
|
fn write(&mut self, command: u8, data: &[u8]) -> Result<(), Self::Error>;
|
||||||
|
|
||||||
|
/// Sends a command with a sequence of 16-bit data words
|
||||||
|
///
|
||||||
|
/// Mostly used for sending MemoryWrite command and other commands
|
||||||
|
/// with 16-bit arguments
|
||||||
|
fn write_iter(&mut self, command: u8, data: impl IntoIterator<Item = u16>) -> Result<(), Self::Error>;
|
||||||
|
}
|
||||||
|
|
||||||
/// SPI mode
|
/// SPI mode
|
||||||
pub const MODE: Mode = Mode {
|
pub const MODE: Mode = Mode {
|
||||||
polarity: Polarity::IdleLow,
|
polarity: Polarity::IdleLow,
|
||||||
|
|
Loading…
Reference in a new issue