Crate max7219_driver

Source
Expand description

This crate provides a platform agnostic driver for the MAX7219 LED Driver IC.

This driver was built using the embedded-hal traits.

§Usage

An updated version of the library should be available on crates.io. Add the following to your Cargo.toml to get is a dependency.

[dependencies]
max7219-driver = "*"

§Instantiating

Create an instance of the driver with the new method, by passing SPI and Output pin instances.

use max7219-driver::MAX7219;
let spi = // SPI instantiation code
let cs = // Output pin instantiation code
let mut max7219 = MAX7219::new(spi, cs).unwrap();

§Initializing

Initialize the driver instance with the init_display method. A boolean needs to be specified to indicate whether to clear the display after init or not.

 max7219.init_display(true);

§Cascading Multiple MAX7219 Devices

If you are cascading multiple devices that are driving 8x8 LED Dot Matrices instead use the MAX7219LedMat driver as follows:

§Instantiating

use max7219-driver::MAX7219LedMat;
let spi = // SPI instantiation code
let cs = // Output pin instantiation code
let mut max7219: MAX7219LedMat<_, _, BUFLEN, COUNT> = MAX7219LedMat::new(spi, cs).unwrap();

BUFLEN should be replaced with value equivalent to the total number of pixels/LED in the cascaded displays and COUNT with the number of displays

Example:

If four displays are cascaded then BUFLEN should be replaced with 256 (= 8 x 8 x 4) and COUNT replaced with 4 resulting in

let mut max7219: MAX7219LedMat<_, _, 256, 4> = MAX7219LedMat::new(spi, cs).unwrap();

§Initializing

Exactly the same as earlier, the new driver takes care of initializing all the cscaded displays.

 max7219.init_display(true);

Structs§

MAX7219
The MAX7219 Driver that initializes and communicates with a single MAX7219 IC.
MAX7219LedMat
The MAX7219 Driver that initializes and communicates with a single MAX7219 IC or chain of ICs. This driver usage is specific to connecting the 8x8 LED Dot Matrix

Enums§

Command
Enumeration of commands in the register map of the MAX7219.
DecodeMode
Enumeration of the MAX7219 decode modes for BCD encoded input.
DigitRowAddress
Enumeration of the MAX7219 digit/row addresses
DisplayTest
Enumeration of the MAX7219 display test modes
DriverError
Possible Errors that can be raised either during communication with the MAX7219 chip over SPI or controlling the chip select pin.
Intensity
Enumeration of the MAX7219 supported LED intensity values.
ScanLimit
Enumeration of the MAX7219 display scan limits
Shutdown
Enumeration of the MAX7219 power modes.

Constants§

MODE
This is a constant for convenience so that the SPI module can be configured with the correct SPI mode compatible the MAX7219 device