max7219_display/
lib.rs

1#![cfg_attr(docsrs, feature(doc_auto_cfg))]
2#![cfg_attr(not(test), no_std)]
3#![deny(unsafe_code)]
4#![warn(missing_docs)]
5#![cfg_attr(not(doctest), doc = include_str!("../README.md"))]
6
7pub mod driver;
8pub mod error;
9pub mod registers;
10
11// Re-exports
12pub use driver::Max7219;
13pub use error::Error;
14pub use registers::{DecodeMode, Register};
15
16// Additional Feature specific modules and re-exports
17#[cfg(feature = "led-matrix")]
18pub mod led_matrix;
19
20#[cfg(feature = "seven-segment")]
21pub mod seven_segment;
22
23#[cfg(feature = "seven-segment")]
24pub use seven_segment::SevenSegment;
25
26#[cfg(feature = "led-matrix")]
27pub use led_matrix::LedMatrix;
28
29/// Maximum number of daisy-chained displays supported
30pub const MAX_DISPLAYS: usize = 8;
31
32/// Number of digits (0 to 7) controlled by one MAX7219
33pub const NUM_DIGITS: u8 = 8;
34
35/// Crate-local `Result` type used throughout the MAX7219 driver.
36///
37/// This alias simplifies function signatures by defaulting the error type
38/// to the crate's custom [`Error`] enum.
39pub(crate) type Result<T> = core::result::Result<T, crate::error::Error>;