[][src]Struct ili9341::Ili9341

pub struct Ili9341<IFACE, RESET> { /* fields omitted */ }

There are two method for drawing to the screen: draw_raw and draw_iter.

In both cases the expected pixel format is rgb565.

The hardware makes it efficient to draw rectangles on the screen.

What happens is the following:

  • A drawing window is prepared (with the 2 opposite corner coordinates)
  • The starting point for drawint is the top left corner of this window
  • Every pair of bytes received is intepreted as a pixel value in rgb565
  • As soon as a pixel is received, an internal counter is incremented, and the next word will fill the next pixel (the adjacent on the right, or the first of the next row if the row ended)

Implementations

impl<PinE, IFACE, RESET> Ili9341<IFACE, RESET> where
    IFACE: WriteOnlyDataCommand,
    RESET: OutputPin<Error = PinE>, 
[src]

pub fn new<DELAY: DelayMs<u16>>(
    interface: IFACE,
    reset: RESET,
    delay: &mut DELAY
) -> Result<Self, Error<PinE>>
[src]

pub fn configure_vertical_scroll(
    &mut self,
    fixed_top_lines: u16,
    fixed_bottom_lines: u16
) -> Result<Scroller, Error<PinE>>
[src]

Configures the screen for hardware-accelerated vertical scrolling.

pub fn scroll_vertically(
    &mut self,
    scroller: &mut Scroller,
    num_lines: u16
) -> Result<(), Error<PinE>>
[src]

pub fn draw_iter<I: IntoIterator<Item = u16>>(
    &mut self,
    x0: u16,
    y0: u16,
    x1: u16,
    y1: u16,
    data: I
) -> Result<(), Error<PinE>>
[src]

Draw a rectangle on the screen, represented by top-left corner (x0, y0) and bottom-right corner (x1, y1).

The border is included.

This method accepts an iterator of rgb565 pixel values.

The iterator is useful to avoid wasting memory by holding a buffer for the whole screen when it is not necessary.

pub fn draw_raw(
    &mut self,
    x0: u16,
    y0: u16,
    x1: u16,
    y1: u16,
    data: &[u16]
) -> Result<(), Error<PinE>>
[src]

Draw a rectangle on the screen, represented by top-left corner (x0, y0) and bottom-right corner (x1, y1).

The border is included.

This method accepts a raw buffer of words that will be copied to the screen video memory.

The expected format is rgb565.

pub fn set_orientation(&mut self, mode: Orientation) -> Result<(), Error<PinE>>[src]

Change the orientation of the screen

pub fn width(&self) -> usize[src]

Get the current screen width. It can change based on the current orientation

pub fn height(&self) -> usize[src]

Get the current screen heighth. It can change based on the current orientation

Trait Implementations

impl<PinE, IFACE, RESET> DrawTarget<Rgb565> for Ili9341<IFACE, RESET> where
    IFACE: WriteOnlyDataCommand,
    RESET: OutputPin<Error = PinE>,
    PinE: Debug
[src]

type Error = Error<PinE>

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

Auto Trait Implementations

impl<IFACE, RESET> Send for Ili9341<IFACE, RESET> where
    IFACE: Send,
    RESET: Send

impl<IFACE, RESET> Sync for Ili9341<IFACE, RESET> where
    IFACE: Sync,
    RESET: Sync

impl<IFACE, RESET> Unpin for Ili9341<IFACE, RESET> where
    IFACE: Unpin,
    RESET: Unpin

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.