Struct st7565::ST7565

source ·
pub struct ST7565<DI, SPECS, MODE, const WIDTH: usize, const HEIGHT: usize, const PAGES: usize> { /* private fields */ }
Expand description

The actual driver

Implementations§

source§

impl<DI, SPECS, MODE, const WIDTH: usize, const HEIGHT: usize, const PAGES: usize> ST7565<DI, SPECS, MODE, WIDTH, HEIGHT, PAGES>where DI: WriteOnlyDataCommand, SPECS: DisplaySpecs<WIDTH, HEIGHT, PAGES>,

source

pub fn set_static_indicator( &mut self, mode: Option<StaticIndicatorMode> ) -> Result<(), DisplayError>

Set the static indicator

source

pub fn set_display_on(&mut self, on: bool) -> Result<(), DisplayError>

Enable/Disable the display output

source

pub fn reset<RST, DELAY, PinE>( &mut self, rst: &mut RST, delay: &mut DELAY ) -> Result<(), Error<PinE>>where RST: OutputPin<Error = PinE>, DELAY: DelayMs<u8>,

Reset the display and restore all settings

source§

impl<'a, DI: WriteOnlyDataCommand, SPECS, const WIDTH: usize, const HEIGHT: usize, const PAGES: usize> ST7565<DI, SPECS, GraphicsMode<'a, WIDTH, PAGES>, WIDTH, HEIGHT, PAGES>

–– Functionality of the graphics mode ––

In this mode, the driver can be used as a DrawTarget for the embedded_graphics crate.

source

pub fn flush(&mut self) -> Result<(), DisplayError>

Flushes the internal buffer to the screen.

Needs to be called after drawing to actually display the data on screen.

source

pub fn release_display_interface( self ) -> (ST7565<(), SPECS, GraphicsMode<'a, WIDTH, PAGES>, WIDTH, HEIGHT, PAGES>, DI)

Release the display interface object

This is meant for situations where the display interface is shared between several devices.

All functions that perform communication with the display are unavailable until the display interface is attached again.

Note that the bus attached later does not need to be the same bus as returned by this function, so the returned SPI bus object may be ignored (for example if the display interface object is based on references instead of ownership).

source§

impl<'a, SPECS, const WIDTH: usize, const HEIGHT: usize, const PAGES: usize> ST7565<(), SPECS, GraphicsMode<'a, WIDTH, PAGES>, WIDTH, HEIGHT, PAGES>

–– Functionality of the detached graphics mode ––

In this mode, the driver can be still used as a DrawTarget for the embedded_graphics crate, but no display communication can happen until the display interface is attached again.

This makes it possible to share the SPI bus with multiple devices.

source

pub fn attach_display_interface<DI: WriteOnlyDataCommand>( self, interface: DI ) -> ST7565<DI, SPECS, GraphicsMode<'a, WIDTH, PAGES>, WIDTH, HEIGHT, PAGES>

Attach the display interface back to the driver

source§

impl<DI, SPECS, const WIDTH: usize, const HEIGHT: usize, const PAGES: usize> ST7565<DI, SPECS, InitialMode, WIDTH, HEIGHT, PAGES>where DI: WriteOnlyDataCommand, SPECS: DisplaySpecs<WIDTH, HEIGHT, PAGES>,

–– Functionality of the initial mode ––

This mode is purely to transition into other modes.

source

pub fn new(interface: DI, _display_specs: SPECS) -> Self

Creates an ST7565 driver.

source

pub fn into_raw_mode(self) -> ST7565<DI, SPECS, RawMode, WIDTH, HEIGHT, PAGES>

Transitions the driver into raw mode.

Raw mode provides functionality to control the ST7565 chip directly through low-level commands.

source

pub fn into_graphics_mode( self, buffer: &mut GraphicsPageBuffer<WIDTH, PAGES> ) -> ST7565<DI, SPECS, GraphicsMode<'_, WIDTH, PAGES>, WIDTH, HEIGHT, PAGES>

Transitions the driver into graphics mode.

Graphics mode enables the driver to be used as a DrawTarget for the embedded_graphics crate.

source§

impl<DI, SPECS, const WIDTH: usize, const HEIGHT: usize, const PAGES: usize> ST7565<DI, SPECS, RawMode, WIDTH, HEIGHT, PAGES>where DI: WriteOnlyDataCommand,

–– Functionality of the raw mode ––

This mode exists for interacting with the ST7565 chip via direct low level commands.

source

pub fn set_page(&mut self, page: u8) -> Result<(), DisplayError>

Sets the page to write into

source

pub fn set_column(&mut self, address: u8) -> Result<(), DisplayError>

Sets the column to write into

source

pub fn set_line_offset(&mut self, offset: u8) -> Result<(), DisplayError>

Sets the line offset, effectively scrolling the display through memory.

source

pub fn set_inverted(&mut self, inverted: bool) -> Result<(), DisplayError>

Sets whether the pixels should be inverted.

source

pub fn write_pixel_data(&mut self, data: &[u8]) -> Result<(), DisplayError>

Writes raw pixel data.

For more information how data is processed by the display, read the ST7565 reference manual.

source

pub fn adc_select(&mut self, reverse: bool) -> Result<(), DisplayError>

Sets the adc direction.

Effectively flips the display horizontally.

source

pub fn common_output_mode_select( &mut self, reverse: bool ) -> Result<(), DisplayError>

Sets the common mode direction.

Effectively flips the display vertically.

source

pub fn display_all_points(&mut self, enable: bool) -> Result<(), DisplayError>

Displays all points of the display

Trait Implementations§

source§

impl<'a, DI, SPECS, const WIDTH: usize, const HEIGHT: usize, const PAGES: usize> DrawTarget for ST7565<DI, SPECS, GraphicsMode<'a, WIDTH, PAGES>, WIDTH, HEIGHT, PAGES>where SPECS: DisplaySpecs<WIDTH, HEIGHT, PAGES>,

§

type Color = BinaryColor

The pixel color type the targetted display supports.
§

type Error = Infallible

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

fn draw_iter<I>(&mut self, pixels: I) -> Result<(), Self::Error>where I: IntoIterator<Item = Pixel<Self::Color>>,

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: Self::Color) -> Result<(), Self::Error>

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

impl<'a, DI, SPECS, const WIDTH: usize, const HEIGHT: usize, const PAGES: usize> OriginDimensions for ST7565<DI, SPECS, GraphicsMode<'a, WIDTH, PAGES>, WIDTH, HEIGHT, PAGES>where SPECS: DisplaySpecs<WIDTH, HEIGHT, PAGES>,

source§

fn size(&self) -> Size

Returns the size of the bounding box.

Auto Trait Implementations§

§

impl<DI, SPECS, MODE, const WIDTH: usize, const HEIGHT: usize, const PAGES: usize> RefUnwindSafe for ST7565<DI, SPECS, MODE, WIDTH, HEIGHT, PAGES>where DI: RefUnwindSafe, MODE: RefUnwindSafe, SPECS: RefUnwindSafe,

§

impl<DI, SPECS, MODE, const WIDTH: usize, const HEIGHT: usize, const PAGES: usize> Send for ST7565<DI, SPECS, MODE, WIDTH, HEIGHT, PAGES>where DI: Send, MODE: Send, SPECS: Send,

§

impl<DI, SPECS, MODE, const WIDTH: usize, const HEIGHT: usize, const PAGES: usize> Sync for ST7565<DI, SPECS, MODE, WIDTH, HEIGHT, PAGES>where DI: Sync, MODE: Sync, SPECS: Sync,

§

impl<DI, SPECS, MODE, const WIDTH: usize, const HEIGHT: usize, const PAGES: usize> Unpin for ST7565<DI, SPECS, MODE, WIDTH, HEIGHT, PAGES>where DI: Unpin, MODE: Unpin, SPECS: Unpin,

§

impl<DI, SPECS, MODE, const WIDTH: usize, const HEIGHT: usize, const PAGES: usize> UnwindSafe for ST7565<DI, SPECS, MODE, WIDTH, HEIGHT, PAGES>where DI: UnwindSafe, MODE: UnwindSafe, SPECS: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for Twhere 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) -> Dstwhere T: Cast<Dst>,

Casts the value.
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere 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 Dstwhere 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 Dstwhere Src: CheckedCast<Dst>,

source§

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

Casts the value.
source§

impl<T> Dimensions for Twhere T: OriginDimensions,

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 Twhere 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 Dstwhere 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) -> Dstwhere T: SaturatingCast<Dst>,

Casts the value.
source§

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

source§

fn saturating_cast_from(src: Src) -> Dst

Casts the value.
source§

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

§

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 Twhere U: TryFrom<T>,

§

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) -> Dstwhere T: UnwrappedCast<Dst>,

Casts the value.
source§

impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere 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) -> Dstwhere T: WrappingCast<Dst>,

Casts the value.
source§

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

source§

fn wrapping_cast_from(src: Src) -> Dst

Casts the value.