Crate ssd1322[−][src]
Expand description
Driver library for the Solomon Systech SSD1322 dot matrix OLED display driver.
This driver is intended to work on embedded platforms using any implementation of the
embedded-hal
trait library.
Because the SSD1322 supports displays as large as 480x128 @ 4bpp, the primary API uses a
Region
abstraction to allow writing a stream of pixel data from an iterator onto a
rectangular sub-region of the display area. This avoids the requirement to buffer the entire
display RAM in the host, since such a buffer would consume a colossal (for a μC) 30kiB of RAM.
To use the driver:
-
Use your platform’s
embedded-hal
implementation to obtain the necessary I/Os where your SSD1322 display is connected. For example, in 4-wire SPI mode, you will need a configured SPI master device and one GPIO push-pull output pin device. -
Construct a
DisplayInterface
, for example anSpiInterface
, which will take ownership of the I/Os you just obtained. -
Construct a
Display
, which will take ownership of theDisplayInterface
along with the display resolution and offset parameters. -
Referring to your display module’s datasheet, create a
Config
to set the various parameters in the chip appropriately for the OLEDs in your display module, and send it to the display withDisplay::init
. -
To draw, call
Display::region
orDisplay::overscanned_region
to obtain a region instance for the rectangular area where you want to write image information. Use thedraw_packed
ordraw
methods of the region to write image data supplied by an iterator. The region is intended to be short-lived and will mutably borrow the display, so the compiler will prevent accidental clashing writes. -
Other functions of the device, such as sleep mode, vertical pan, and contrast control, are available via methods on
Display
.
Example code is available in the examples
folder.
Re-exports
pub use crate::command::consts;
pub use crate::command::ComLayout;
pub use crate::command::ComScanDirection;
pub use crate::config::Config;
pub use crate::display::Display;
pub use crate::display::PixelCoord;
pub use crate::interface::spi::SpiInterface;
Modules
The command set for the SSD1322.
Defines structs for storing register values of commands in the SSD1322 that are associated with relatively-static configuration.
The main API to the display driver. It provides a builder API to configure the display, and
methods for obtaining Region
instances which can be used to write image data to the display.
This module provides shims for the embedded-hal
hardware corresponding to the SSD1322’s
supported electrical/bus interfaces. It is a shim between embedded-hal
implementations and
the display driver’s command layer.