Struct RM67162

Source
pub struct RM67162;
Expand description

RM67162 AMOLED display driver implementation

Supports:

  • 16-bit RGB565 color
  • 240x536 resolution

This driver was developed for the Lilygo T-Display-S3 AMOLED display (v2). The initialization sequence is based on Lilygo’s Arduino example code.

Currently only tested with 240x536 resolution displays. While it may work with other display sizes, this is untested and could lead to unexpected behavior. If you encounter issues with different display sizes, please report them.

Trait Implementations§

Source§

impl Model for RM67162

Source§

const FRAMEBUFFER_SIZE: (u16, u16)

The framebuffer size in pixels.
Source§

type ColorFormat = Rgb565

The color format.
Source§

async fn init<DELAY, DI>( &mut self, di: &mut DI, delay: &mut DELAY, options: &ModelOptions, ) -> Result<SetAddressMode, ModelInitError<DI::Error>>
where DELAY: DelayNs, DI: Interface,

Initializes the display for this model with MADCTL from crate::Display and returns the value of MADCTL set by init
Source§

const RESET_DURATION: u32 = 10u32

Duration of the active low reset pulse in µs.
Source§

fn update_address_window<DI>( di: &mut DI, _rotation: Rotation, sx: u16, sy: u16, ex: u16, ey: u16, ) -> impl Future<Output = Result<(), DI::Error>>
where DI: Interface,

Updates the address window of the display.
Source§

fn sleep<DI, DELAY>( di: &mut DI, delay: &mut DELAY, ) -> impl Future<Output = Result<(), DI::Error>>
where DI: Interface, DELAY: DelayNs,

Need to call Self::wake before issuing other commands
Source§

fn wake<DI, DELAY>( di: &mut DI, delay: &mut DELAY, ) -> impl Future<Output = Result<(), DI::Error>>
where DI: Interface, DELAY: DelayNs,

Wakes the display after it’s been set to sleep via Self::sleep
Source§

fn write_memory_start<DI>( di: &mut DI, ) -> impl Future<Output = Result<(), DI::Error>>
where DI: Interface,

We need WriteMemoryStart befor write pixel
Source§

fn software_reset<DI>( di: &mut DI, ) -> impl Future<Output = Result<(), DI::Error>>
where DI: Interface,

SoftReset
Source§

fn update_options<DI>( &self, di: &mut DI, options: &ModelOptions, ) -> impl Future<Output = Result<(), DI::Error>>
where DI: Interface,

This function will been called if user update options
Source§

fn set_tearing_effect<DI>( di: &mut DI, tearing_effect: TearingEffect, _options: &ModelOptions, ) -> impl Future<Output = Result<(), DI::Error>>
where DI: Interface,

Configures the tearing effect output.
Source§

fn set_vertical_scroll_region<DI>( di: &mut DI, top_fixed_area: u16, bottom_fixed_area: u16, ) -> impl Future<Output = Result<(), DI::Error>>
where DI: Interface,

Sets the vertical scroll region. Read more
Source§

fn set_vertical_scroll_offset<DI>( di: &mut DI, offset: u16, ) -> impl Future<Output = Result<(), DI::Error>>
where DI: Interface,

Sets the vertical scroll offset. Read more

Auto Trait Implementations§

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> 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.