28#define MAX7219_MODE_DECODE 0xFF
29#define MAX7219_MODE_NO_DECODE 0x00
34#define MAX7219_ALIGN_LEFT 0
35#define MAX7219_ALIGN_RIGHT 1
36#define MAX7219_ALIGN_CENTER 2
41#define MAX7219_REG_NOOP 0x00
42#define MAX7219_REG_DIGIT0 0x01
43#define MAX7219_REG_DIGIT1 0x02
44#define MAX7219_REG_DIGIT2 0x03
45#define MAX7219_REG_DIGIT3 0x04
46#define MAX7219_REG_DIGIT4 0x05
47#define MAX7219_REG_DIGIT5 0x06
48#define MAX7219_REG_DIGIT6 0x07
49#define MAX7219_REG_DIGIT7 0x08
50#define MAX7219_REG_DECODE 0x09
51#define MAX7219_REG_INTENSITY 0x0A
52#define MAX7219_REG_SCANLIMIT 0x0B
53#define MAX7219_REG_SHUTDOWN 0x0C
54#define MAX7219_REG_DISPLAYTEST 0x0F
72 MAX7219(uint8_t dinPin, uint8_t clkPin, uint8_t csPin, uint8_t numDigits = 8);
86 void begin(uint8_t mode);
139 void display(
const char* text);
158 void display(
double number, uint8_t decimals = 2);
166 void displayAt(uint8_t position, uint8_t value,
bool dp =
false);
174 void displayAt(uint8_t position,
char character,
bool dp =
false);
192 void displayTime(uint8_t hours, uint8_t minutes, uint8_t seconds);
214 void blink(uint8_t times = 3, uint16_t delayMs = 500);
220 void fadeIn(uint16_t delayMs = 50);
226 void fadeOut(uint16_t delayMs = 50);
233 void scroll(
const char* text, uint16_t delayMs = 200);
240 void scroll(
long number, uint16_t delayMs = 200);
246 void chase(uint16_t delayMs = 100);
254 void countUp(
long from,
long to, uint16_t delayMs = 100);
262 void countDown(
long from,
long to, uint16_t delayMs = 100);
272 void setSegments(uint8_t position, uint8_t segments);
280 void setRawDigit(uint8_t position, uint8_t value,
bool dp =
false);
295 void sendCommand(uint8_t address, uint8_t data);
296 void sendByte(uint8_t data);
297 void sendBit(uint8_t bit);
298 uint8_t getPhysicalPosition(uint8_t logicalPosition);
299 uint8_t charToSegments(
char c);
300 uint8_t digitToSegments(uint8_t digit);
301 void displayNumberInternal(
long number,
bool leadingZeros =
false);
302 void displayFloatInternal(
double number, uint8_t decimals);
303 void displayTextInternal(
const char* text);
void displayHex(uint32_t value)
Display value in hexadecimal format.
void chase(uint16_t delayMs=100)
Chase animation (digit-by-digit)
void clear()
Clear all digits.
void setPower(bool on)
Turn display on or off.
void setSegments(uint8_t position, uint8_t segments)
Set raw segment pattern at position.
void begin()
Initialize the display with default mode.
void blink(uint8_t times=3, uint16_t delayMs=500)
Blink the display.
void fadeIn(uint16_t delayMs=50)
Fade in animation.
void setBrightness(uint8_t level)
Set display brightness.
uint8_t getMode()
Get current mode.
uint8_t getAlignment()
Get current alignment.
void scroll(const char *text, uint16_t delayMs=200)
Scroll text across display.
void setMode(uint8_t mode)
Set decode mode.
void setRawDigit(uint8_t position, uint8_t value, bool dp=false)
Set raw digit value at position.
void displayAt(uint8_t position, uint8_t value, bool dp=false)
Display value at specific position.
void display(const char *text)
Display text string.
void fadeOut(uint16_t delayMs=50)
Fade out animation.
void displayBinary(uint8_t value)
Display value in binary format.
void countDown(long from, long to, uint16_t delayMs=100)
Count down animation.
void countUp(long from, long to, uint16_t delayMs=100)
Count up animation.
MAX7219(uint8_t dinPin, uint8_t clkPin, uint8_t csPin, uint8_t numDigits=8)
Constructor for MAX7219 display.
void setAlignment(uint8_t alignment)
Set text alignment.
void displayTime(uint8_t hours, uint8_t minutes)
Display time in HH:MM format.