max7219: Driver for 8-Digit LED display drivers, MAX7219/MAX7221

Defines

MAX7219_MAX_CLOCK_SPEED_HZ
MAX7219_MAX_CASCADE_SIZE
MAX7219_MAX_BRIGHTNESS

Functions

esp_err_t max7219_init_desc(max7219_t *dev, spi_host_device_t host, uint32_t clock_speed_hz, gpio_num_t cs_pin)

Initialize device descriptor.

Parameters:
  • dev – Device descriptor

  • host – SPI host

  • clock_speed_hz – SPI clock speed, Hz

  • cs_pin – CS GPIO number

Returns:

ESP_OK on success

esp_err_t max7219_free_desc(max7219_t *dev)

Free device descriptor.

Parameters:

dev – Device descriptor

Returns:

ESP_OK on success

esp_err_t max7219_init(max7219_t *dev)

Initialize display.

Switch it to normal operation from shutdown mode, set scan limit to the max and clear

Parameters:

dev – Display descriptor

Returns:

ESP_OK on success

esp_err_t max7219_set_decode_mode(max7219_t *dev, bool bcd)

Set decode mode and clear display.

Parameters:
  • dev – Display descriptor

  • bcd – true to set BCD decode mode, false to normal

Returns:

ESP_OK on success

esp_err_t max7219_set_brightness(max7219_t *dev, uint8_t value)

Set display brightness.

Parameters:
  • dev – Display descriptor

  • value – Brightness value, 0..MAX7219_MAX_BRIGHTNESS

Returns:

ESP_OK on success

esp_err_t max7219_set_shutdown_mode(max7219_t *dev, bool shutdown)

Shutdown display or set it to normal mode.

Parameters:
  • dev – Display descriptor

  • shutdown – Shutdown display if true

Returns:

ESP_OK on success

esp_err_t max7219_set_digit(max7219_t *dev, uint8_t digit, uint8_t val)

Write data to display digit.

Parameters:
  • dev – Display descriptor

  • digit – Digit index, 0..dev->digits - 1

  • val – Data

Returns:

ESP_OK on success

esp_err_t max7219_clear(max7219_t *dev)

Clear display.

Parameters:

dev – Display descriptor

Returns:

ESP_OK on success

esp_err_t max7219_draw_text_7seg(max7219_t *dev, uint8_t pos, const char *s)

Draw text on 7-segment display.

Parameters:
  • dev – Display descriptor

  • pos – Start digit

  • s – Text

Returns:

ESP_OK on success

esp_err_t max7219_draw_image_8x8(max7219_t *dev, uint8_t pos, const void *image)

Draw 64-bit image on 8x8 matrix.

Parameters:
  • dev – Display descriptor

  • pos – Start digit

  • image – 64-bit buffer with image data

Returns:

ESP_OK on success

struct max7219_t
#include <max7219.h>

Display descriptor.

Public Members

spi_device_interface_config_t spi_cfg
spi_device_handle_t spi_dev
uint8_t digits

Accessible digits in 7seg.

Up to cascade_size * 8

uint8_t cascade_size

Up to MAX7219_MAX_CASCADE_SIZE MAX721xx cascaded.

bool mirrored

true for horizontally mirrored displays

bool bcd

ESP-IDF driver for MAX7219/MAX7221 Serially Interfaced, 8-Digit LED Display Drivers.

Ported from esp-open-rtos

Copyright (c) 2017, 2018 Ruslan V. Uss unclerus@gmail.com

BSD Licensed as described in the file LICENSE

Variables

static const uint8_t font_7seg[] = {0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x02, 0x4e, 0x78, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x7e, 0x30, 0x6d, 0x79, 0x33, 0x5b, 0x5f, 0x70, 0x7f, 0x7b, 0x00, 0x00, 0x0d, 0x09, 0x19, 0x65, 0x00, 0x77, 0x1f, 0x4e, 0x3d, 0x4f, 0x47, 0x5e, 0x37, 0x06, 0x38, 0x57, 0x0e, 0x76, 0x15, 0x1d, 0x67, 0x73, 0x05, 0x5b, 0x0f, 0x1c, 0x3e, 0x2a, 0x49, 0x3b, 0x6d, 0x4e, 0x00, 0x78, 0x00, 0x08, 0x02, 0x77, 0x1f, 0x4e, 0x3d, 0x4f, 0x47, 0x5e, 0x37, 0x06, 0x38, 0x57, 0x0e, 0x76, 0x15, 0x1d, 0x67, 0x73, 0x05, 0x5b, 0x0f, 0x1c, 0x3e, 0x2a, 0x49, 0x3b, 0x6d, 0x4e, 0x06, 0x78, 0x00}