ST7789

Struct ST7789 

Source
pub struct ST7789<DI, RST, BL>{ /* private fields */ }
Expand description

ST7789 driver to connect to TFT displays.

Implementations§

Source§

impl<DI, RST, BL, PinE> ST7789<DI, RST, BL>
where DI: WriteOnlyDataCommand, RST: OutputPin<Error = PinE>, BL: OutputPin<Error = PinE>,

Source

pub fn new( di: DI, rst: Option<RST>, bl: Option<BL>, size_x: u16, size_y: u16, ) -> Self

Creates a new ST7789 driver instance

§Arguments
  • di - a display interface for talking with the display
  • rst - display hard reset pin
  • bl - backlight pin
  • size_x - x axis resolution of the display in pixels
  • size_y - y axis resolution of the display in pixels
Source

pub fn set_offset(&mut self, offset_x: u16, offset_y: u16)

Source

pub fn init( &mut self, delay_source: &mut impl DelayUs<u32>, ) -> Result<(), Error<PinE>>

Runs commands to initialize the display

§Arguments
  • delay_source - mutable reference to a delay provider
Source

pub fn hard_reset( &mut self, delay_source: &mut impl DelayUs<u32>, ) -> Result<(), Error<PinE>>

Performs a hard reset using the RST pin sequence

§Arguments
  • delay_source - mutable reference to a delay provider
Source

pub fn set_backlight( &mut self, state: BacklightState, delay_source: &mut impl DelayUs<u32>, ) -> Result<(), Error<PinE>>

Source

pub fn orientation(&self) -> Orientation

Returns currently set orientation

Source

pub fn set_orientation( &mut self, orientation: Orientation, ) -> Result<(), Error<PinE>>

Sets display orientation

Source

pub fn set_pixel( &mut self, x: u16, y: u16, color: u16, ) -> Result<(), Error<PinE>>

Sets a pixel color at the given coords.

§Arguments
  • x - x coordinate
  • y - y coordinate
  • color - the Rgb565 color value
Source

pub fn set_pixels<T>( &mut self, sx: u16, sy: u16, ex: u16, ey: u16, colors: T, ) -> Result<(), Error<PinE>>
where T: IntoIterator<Item = u16>,

Sets pixel colors in given rectangle bounds.

§Arguments
  • sx - x coordinate start
  • sy - y coordinate start
  • ex - x coordinate end
  • ey - y coordinate end
  • colors - anything that can provide IntoIterator<Item = u16> to iterate over pixel data
Source

pub fn set_scroll_offset(&mut self, offset: u16) -> Result<(), Error<PinE>>

Sets scroll offset “shifting” the displayed picture

§Arguments
  • offset - scroll offset in pixels
Source

pub fn release(self) -> (DI, Option<RST>, Option<BL>)

Release resources allocated to this driver back. This returns the display interface and the RST pin deconstructing the driver.

Source

pub fn set_tearing_effect( &mut self, tearing_effect: TearingEffect, ) -> Result<(), Error<PinE>>

Configures the tearing effect output.

Trait Implementations§

Source§

impl<DI, RST, BL, PinE> DrawTarget for ST7789<DI, RST, BL>
where DI: WriteOnlyDataCommand, RST: OutputPin<Error = PinE>, BL: OutputPin<Error = PinE>,

Source§

type Error = Error<PinE>

Error type to return when a drawing operation fails. Read more
Source§

type Color = Rgb565

The pixel color type the targetted display supports.
Source§

fn draw_iter<T>(&mut self, item: T) -> Result<(), Self::Error>
where T: IntoIterator<Item = Pixel<Rgb565>>,

Draw individual pixels to the display without a defined order. Read more
Source§

fn fill_contiguous<I>( &mut self, area: &Rectangle, colors: I, ) -> Result<(), Self::Error>
where I: IntoIterator<Item = Self::Color>,

Fill a given area with an iterator providing a contiguous stream of pixel colors. Read more
Source§

fn fill_solid( &mut self, area: &Rectangle, color: Self::Color, ) -> Result<(), Self::Error>

Fill a given area with a solid color. Read more
Source§

fn clear(&mut self, color: Rgb565) -> Result<(), Self::Error>
where Self: Sized,

Fill the entire display with a solid color. Read more
Source§

impl<DI, RST, BL, PinE> OriginDimensions for ST7789<DI, RST, BL>
where DI: WriteOnlyDataCommand, RST: OutputPin<Error = PinE>, BL: OutputPin<Error = PinE>,

Source§

fn size(&self) -> Size

Returns the size of the bounding box.

Auto Trait Implementations§

§

impl<DI, RST, BL> Freeze for ST7789<DI, RST, BL>
where DI: Freeze, RST: Freeze, BL: Freeze,

§

impl<DI, RST, BL> RefUnwindSafe for ST7789<DI, RST, BL>

§

impl<DI, RST, BL> Send for ST7789<DI, RST, BL>
where DI: Send, RST: Send, BL: Send,

§

impl<DI, RST, BL> Sync for ST7789<DI, RST, BL>
where DI: Sync, RST: Sync, BL: Sync,

§

impl<DI, RST, BL> Unpin for ST7789<DI, RST, BL>
where DI: Unpin, RST: Unpin, BL: Unpin,

§

impl<DI, RST, BL> UnwindSafe for ST7789<DI, RST, BL>
where DI: UnwindSafe, RST: UnwindSafe, BL: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Az for T

Source§

fn az<Dst>(self) -> Dst
where T: Cast<Dst>,

Casts the value.
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<Src, Dst> CastFrom<Src> for Dst
where Src: Cast<Dst>,

Source§

fn cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T> CheckedAs for T

Source§

fn checked_as<Dst>(self) -> Option<Dst>
where T: CheckedCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> CheckedCastFrom<Src> for Dst
where Src: CheckedCast<Dst>,

Source§

fn checked_cast_from(src: Src) -> Option<Dst>

Casts the value.
Source§

impl<T> Dimensions for T

Source§

fn bounding_box(&self) -> Rectangle

Returns the bounding box.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> OverflowingAs for T

Source§

fn overflowing_as<Dst>(self) -> (Dst, bool)
where T: OverflowingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> OverflowingCastFrom<Src> for Dst
where Src: OverflowingCast<Dst>,

Source§

fn overflowing_cast_from(src: Src) -> (Dst, bool)

Casts the value.
Source§

impl<T> SaturatingAs for T

Source§

fn saturating_as<Dst>(self) -> Dst
where T: SaturatingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> SaturatingCastFrom<Src> for Dst
where Src: SaturatingCast<Dst>,

Source§

fn saturating_cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> UnwrappedAs for T

Source§

fn unwrapped_as<Dst>(self) -> Dst
where T: UnwrappedCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> UnwrappedCastFrom<Src> for Dst
where Src: UnwrappedCast<Dst>,

Source§

fn unwrapped_cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T> WrappingAs for T

Source§

fn wrapping_as<Dst>(self) -> Dst
where T: WrappingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> WrappingCastFrom<Src> for Dst
where Src: WrappingCast<Dst>,

Source§

fn wrapping_cast_from(src: Src) -> Dst

Casts the value.