7#ifndef MAX7219PLUS_COMMON_H
8#define MAX7219PLUS_COMMON_H
15#define MAX_P_SPI_FREQ 1000000
16#define MAX_P_SPI_CLOCK_DIV SPI_CLOCK_DIV8
17#define MAX_P_SPI_DIRECTION MSBFIRST
18#define MAX_P_SPI_MODE SPI_MODE0
21#ifdef SPI_HAS_TRANSACTION
22 #define MAX_P_SPI_TRANSACTION_START SPI.beginTransaction(SPISettings(MAX_P_SPI_FREQ, MAX_P_SPI_DIRECTION, MAX_P_SPI_MODE))
23 #define MAX_P_SPI_TRANSACTION_END SPI.endTransaction()
25 #define MAX_P_SPI_TRANSACTION_START SPI.setClockDivider(MAX_P_SPI_CLOCK_DIV)
26 #define MAX_P_SPI_TRANSACTION_END
35 MAX7219plus_Model6(uint8_t chipSelect, uint8_t clock, uint8_t data, uint16_t CommDelay, uint8_t totalDisplays);
128 void SetSegment(uint8_t digit, uint8_t segment);
136 uint8_t _Display_SDATA;
137 uint8_t _Display_SCLK;
139 uint16_t _CommDelay = 0;
140 uint8_t _NoDigits = 8;
141 bool _HardwareSPI =
false;
145 uint8_t _CurrentDisplayNumber = 1;
146 uint8_t _NoDisplays = 1;
148 void HighFreqshiftOut(uint8_t value);
149 void WriteDisplay(uint8_t RegisterCode, uint8_t data);
150 uint8_t ASCIIFetch(uint8_t character,
DecimalPoint_e decimalPoint);
153 uint8_t flipBitsPreserveMSB(uint8_t
byte);
154 void CommStart(
void);
Class that provides access to common data.
Definition seven_segment_font_data.h:38
DecimalPoint_e
Decimal point on digit control.
Definition seven_segment_font_data.h:43
Drive MAX7219 seven segment displays.
Definition MAX7219plus.h:33
CodeBFont_e
Definition MAX7219plus.h:56
@ CodeBFontZero
Definition MAX7219plus.h:57
@ CodeBFontDash
Definition MAX7219plus.h:67
@ CodeBFontH
Definition MAX7219plus.h:69
@ CodeBFontFour
Definition MAX7219plus.h:61
@ CodeBFontOne
Definition MAX7219plus.h:58
@ CodeBFontE
Definition MAX7219plus.h:68
@ CodeBFontTwo
Definition MAX7219plus.h:59
@ CodeBFontSix
Definition MAX7219plus.h:63
@ CodeBFontEight
Definition MAX7219plus.h:65
@ CodeBFontL
Definition MAX7219plus.h:70
@ CodeBFontFive
Definition MAX7219plus.h:62
@ CodeBFontNine
Definition MAX7219plus.h:66
@ CodeBFontSpace
Definition MAX7219plus.h:72
@ CodeBFontP
Definition MAX7219plus.h:71
@ CodeBFontThree
Definition MAX7219plus.h:60
@ CodeBFontSeven
Definition MAX7219plus.h:64
void InitDisplay(ScanLimit_e numDigits, DecodeMode_e decodeMode)
Init the display.
Definition MAX7219plus.cpp:59
void DisplayChar(uint8_t digit, uint8_t value, DecimalPoint_e decimalPoint)
Displays a character on display.
Definition MAX7219plus.cpp:159
DecodeMode_e
Definition MAX7219plus.h:48
@ DecodeModeBCDThree
Definition MAX7219plus.h:52
@ DecodeModeBCDOne
Definition MAX7219plus.h:50
@ DecodeModeNone
Definition MAX7219plus.h:49
@ DecodeModeBCDTwo
Definition MAX7219plus.h:51
int DisplayBCDText(char *text)
Displays a BCD text string on display using MAX7219 Built in BCD code B font.
Definition MAX7219plus.cpp:273
void ShutdownMode(bool OnOff)
Turn on and off the Shutdown Mode.
Definition MAX7219plus.cpp:341
void SetCommDelay(uint16_t commDelay)
Set the communication delay value.
Definition MAX7219plus.cpp:364
void DisplayTestMode(bool OnOff)
Turn on and off the Display Test Mode.
Definition MAX7219plus.cpp:352
bool GetHardwareSPI(void)
get value of _HardwareSPI , true hardware SPI on , false off.
Definition MAX7219plus.cpp:49
void ClearDisplay(void)
Clear the display.
Definition MAX7219plus.cpp:92
RegisterModes_e
Definition MAX7219plus.h:96
@ MAX7219_REG_Intensity
Definition MAX7219plus.h:99
@ MAX7219_REG_NOP
Definition MAX7219plus.h:97
@ MAX7219_REG_ScanLimit
Definition MAX7219plus.h:100
@ MAX7219_REG_DisplayTest
Definition MAX7219plus.h:105
@ MAX7219_REG_ShutDown
Definition MAX7219plus.h:101
@ MAX7219_REG_DecodeMode
Definition MAX7219plus.h:98
uint16_t GetCommDelay(void)
Get the communication delay value.
Definition MAX7219plus.cpp:370
int DisplayText(char *text, TextAlignment_e TextAlignment)
Displays a text string on display.
Definition MAX7219plus.cpp:186
void DisplayDecNumNibble(uint16_t numberUpper, uint16_t numberLower, TextAlignment_e TextAlignment)
Display an integer in a nibble (4 digits on display)
Definition MAX7219plus.cpp:428
ScanLimit_e
Definition MAX7219plus.h:83
@ ScanEightDigit
Definition MAX7219plus.h:91
@ ScanThreeDigit
Definition MAX7219plus.h:86
@ ScanFourDigit
Definition MAX7219plus.h:87
@ ScanFiveDigit
Definition MAX7219plus.h:88
@ ScanTwoDigit
Definition MAX7219plus.h:85
@ ScanSevenDigit
Definition MAX7219plus.h:90
@ ScanSixDigit
Definition MAX7219plus.h:89
@ ScanOneDigit
Definition MAX7219plus.h:84
void DisplayBCDChar(uint8_t digit, CodeBFont_e value)
Displays a character on display using MAX7219 Built in BCD code B font.
Definition MAX7219plus.cpp:146
void SetSegment(uint8_t digit, uint8_t segment)
Set a seven segment LED ON.
Definition MAX7219plus.cpp:171
void SetCurrentDisplayNumber(uint8_t)
Set the Current Display Number.
Definition MAX7219plus.cpp:382
uint8_t GetCurrentDisplayNumber(void)
Get the Current Display Number.
Definition MAX7219plus.cpp:376
void SetBrightness(uint8_t brightness)
sets the brightness of display
Definition MAX7219plus.cpp:327
void DisplayIntNum(unsigned long number, TextAlignment_e TextAlignment)
Display an integer and leading zeros optional.
Definition MAX7219plus.cpp:394
TextAlignment_e
Definition MAX7219plus.h:40
@ AlignLeft
Definition MAX7219plus.h:41
@ AlignRightZeros
Definition MAX7219plus.h:43
@ AlignRight
Definition MAX7219plus.h:42
Intensity_e
Definition MAX7219plus.h:76
@ IntensityDefault
Definition MAX7219plus.h:78
@ IntensityMax
Definition MAX7219plus.h:79
@ IntensityMin
Definition MAX7219plus.h:77
Class that provides access to a seven-segment font data table.
Definition seven_segment_font_data.h:20
Seven-segment font data class for LED segment modules.