38 #ifndef DRIVER_MAX7219_H
39 #define DRIVER_MAX7219_H
63 #ifndef MAX7219_MAX_CASCADE_SIZE
64 #define MAX7219_MAX_CASCADE_SIZE 128
315 #define DRIVER_MAX7219_LINK_INIT(HANDLE, STRUCTURE) memset(HANDLE, 0, sizeof(STRUCTURE))
323 #define DRIVER_MAX7219_LINK_SPI_INIT(HANDLE, FUC) (HANDLE)->spi_init = FUC
331 #define DRIVER_MAX7219_LINK_SPI_DEINIT(HANDLE, FUC) (HANDLE)->spi_deinit = FUC
339 #define DRIVER_MAX7219_LINK_SPI_WRITE(HANDLE, FUC) (HANDLE)->spi_write = FUC
347 #define DRIVER_MAX7219_LINK_SPI_WRITE_COMMAND(HANDLE, FUC) (HANDLE)->spi_write_cmd = FUC
355 #define DRIVER_MAX7219_LINK_DELAY_MS(HANDLE, FUC) (HANDLE)->delay_ms = FUC
363 #define DRIVER_MAX7219_LINK_DEBUG_PRINT(HANDLE, FUC) (HANDLE)->debug_print = FUC
max7219_display_test_mode_t
max7219 display test mode enumeration definition
max7219_decode_t
max7219 decode enumeration definition
uint8_t max7219_set_display(max7219_handle_t *handle, max7219_digital_t digital, uint8_t data)
set the display content
uint8_t max7219_set_decode(max7219_handle_t *handle, max7219_decode_t decode)
set the decode mode
uint8_t max7219_set_scan_limit(max7219_handle_t *handle, max7219_scan_limit_t limit)
set the scan limit
max7219_scan_limit_t
max7219 scan limit enumeration definition
uint8_t max7219_info(max7219_info_t *info)
get chip's information
uint8_t max7219_init(max7219_handle_t *handle)
initialize the chip
max7219_digital_t
max7219 digital enumeration definition
max7219_no_decode_font_t
max7219 no decode font enumeration definition
max7219_mode_t
max7219 mode enumeration definition
uint8_t max7219_set_intensity(max7219_handle_t *handle, max7219_intensity_t intensity)
set the display intensity
uint8_t max7219_set_mode(max7219_handle_t *handle, max7219_mode_t mode)
set the chip mode
uint8_t max7219_deinit(max7219_handle_t *handle)
close the chip
struct max7219_info_s max7219_info_t
max7219 info structure definition
struct max7219_handle_s max7219_handle_t
max7219 handle structure definition
uint8_t max7219_set_matrix(max7219_handle_t *handle, uint8_t matrix[8])
set the content matrix
max7219_segment_t
max7219 segment enumeration definition
max7219_intensity_t
max7219 intensity enumeration definition
max7219_codeb_font_t
max7219 code b font enumeration definition
uint8_t max7219_set_display_test_mode(max7219_handle_t *handle, max7219_display_test_mode_t mode)
set the display test mode
@ MAX7219_DISPLAY_TEST_MODE_ON
@ MAX7219_DISPLAY_TEST_MODE_OFF
@ MAX7219_DECODE_CODEB_DIGITS_0
@ MAX7219_DECODE_CODEB_DIGITS_3_0
@ MAX7219_DECODE_CODEB_DIGITS_7_0
@ MAX7219_DECODE_CODEB_DIGITS_NONE
@ MAX7219_SCAN_LIMIT_DIGIT_0_0
@ MAX7219_SCAN_LIMIT_DIGIT_0_2
@ MAX7219_SCAN_LIMIT_DIGIT_0_5
@ MAX7219_SCAN_LIMIT_DIGIT_0_6
@ MAX7219_SCAN_LIMIT_DIGIT_0_7
@ MAX7219_SCAN_LIMIT_DIGIT_0_1
@ MAX7219_SCAN_LIMIT_DIGIT_0_3
@ MAX7219_SCAN_LIMIT_DIGIT_0_4
@ MAX7219_NO_DECODE_FONT_5
@ MAX7219_NO_DECODE_FONT_1
@ MAX7219_NO_DECODE_FONT_E
@ MAX7219_NO_DECODE_FONT_7
@ MAX7219_NO_DECODE_FONT_LINE
@ MAX7219_NO_DECODE_FONT_4
@ MAX7219_NO_DECODE_FONT_H
@ MAX7219_NO_DECODE_FONT_BLACK
@ MAX7219_NO_DECODE_FONT_0
@ MAX7219_NO_DECODE_FONT_P
@ MAX7219_NO_DECODE_FONT_9
@ MAX7219_NO_DECODE_FONT_2
@ MAX7219_NO_DECODE_FONT_8
@ MAX7219_NO_DECODE_FONT_3
@ MAX7219_NO_DECODE_FONT_6
@ MAX7219_NO_DECODE_FONT_L
@ MAX7219_INTENSITY_29_32
@ MAX7219_INTENSITY_11_32
@ MAX7219_INTENSITY_19_32
@ MAX7219_INTENSITY_27_32
@ MAX7219_INTENSITY_17_32
@ MAX7219_INTENSITY_15_32
@ MAX7219_INTENSITY_13_32
@ MAX7219_INTENSITY_25_32
@ MAX7219_INTENSITY_31_32
@ MAX7219_INTENSITY_21_32
@ MAX7219_INTENSITY_23_32
@ MAX7219_CODEB_FONT_BLACK
@ MAX7219_CODEB_FONT_LINE
#define MAX7219_MAX_CASCADE_SIZE
max7219 max cascade size definition
uint8_t max7219_set_cascade(max7219_handle_t *handle, max7219_cascade_t *cascade, uint16_t len)
set the cascade data
max7219_cascade_command_t
max7219 cascade command enumeration definition
struct max7219_cascade_s max7219_cascade_t
max7219 cascade structure definition
@ MAX7219_CASCADE_COMMAND_DIGIT_4
@ MAX7219_CASCADE_COMMAND_DECODE
@ MAX7219_CASCADE_COMMAND_DIGIT_6
@ MAX7219_CASCADE_COMMAND_DIGIT_5
@ MAX7219_CASCADE_COMMAND_DIGIT_3
@ MAX7219_CASCADE_COMMAND_SCAN_LIMIT
@ MAX7219_CASCADE_COMMAND_CASCADE
@ MAX7219_CASCADE_COMMAND_SHUT_DOWN
@ MAX7219_CASCADE_COMMAND_DISPLAY_TEST
@ MAX7219_CASCADE_COMMAND_DIGIT_7
@ MAX7219_CASCADE_COMMAND_DIGIT_1
@ MAX7219_CASCADE_COMMAND_DIGIT_0
@ MAX7219_CASCADE_COMMAND_DIGIT_2
@ MAX7219_CASCADE_COMMAND_INTENSITY
uint8_t max7219_set_reg(max7219_handle_t *handle, uint8_t reg, uint8_t *buf, uint16_t len)
set the chip register
max7219 cascade structure definition
max7219_cascade_command_t command
max7219 handle structure definition
uint8_t(* spi_init)(void)
uint8_t(* spi_write)(uint8_t reg, uint8_t *buf, uint16_t len)
void(* debug_print)(const char *const fmt,...)
uint8_t(* spi_deinit)(void)
uint8_t buf[MAX7219_MAX_CASCADE_SIZE *2]
void(* delay_ms)(uint32_t us)
uint8_t(* spi_write_cmd)(uint8_t *buf, uint16_t len)
max7219 info structure definition
float supply_voltage_max_v
char manufacturer_name[32]
float supply_voltage_min_v