#include <AH/Hardware/LEDs/MAX7219SevenSegmentDisplay.hpp>
A class for 8-digit 7-segment displays with a MAX7219 driver.
SPIDriver | The SPI class to use. Usually, the default is fine. |
Definition at line 53 of file MAX7219SevenSegmentDisplay.hpp.
Public Member Functions | |
MAX7219SevenSegmentDisplay (SPIDriver spi, pin_t loadPin, uint8_t chainlength=1) | |
Create a MAX7219SevenSegmentDisplay. More... | |
void | begin () |
Initialize. More... | |
void | sendDigit (uint16_t digit, uint8_t value) |
Set the value of a single digit. More... | |
uint8_t | getNumberOfDigits () const |
Get the total number of digits in this chain of displays, i.e. More... | |
int16_t | display (long number, int16_t startDigit=0, int16_t endDigit=-1) |
Display a long integer to the display. More... | |
int16_t | display (int number, int16_t startDigit=0, int16_t endDigit=-1) |
Display a long integer to the display. More... | |
int16_t | display (unsigned long number, int16_t startDigit=0, int16_t endDigit=-1) |
Display a long unsigned integer to the display. More... | |
int16_t | display (unsigned int number, int16_t startDigit=0, int16_t endDigit=-1) |
Display a long unsigned integer to the display. More... | |
int16_t | display (const char *text, int16_t startPos=0) |
Display a string of text to the display. More... | |
void | printHexChar (int16_t digit, uint8_t value) |
Print a single hexadecimal digit. More... | |
int16_t | displayHex (unsigned long number, int16_t startDigit=0, int16_t endDigit=-1) |
Print a number to the display in hexadecimal format. More... | |
void | clear () |
Turn off all LEDs. More... | |
void | send (uint8_t digit, uint8_t value, uint8_t chip=0) |
Send the value to the given digit or row. More... | |
void | sendRowAll (uint8_t digit, const uint8_t *values, uint8_t leading_dim=1) |
Send values to the given digit or row, sending a different value for each chip. More... | |
void | sendAll (const uint8_t *values) |
Send different values to all digits/rows of all chips. More... | |
void | sendRawAll (uint8_t opcode, uint8_t value) |
Send the same raw opcode and value to all chips in the chain. More... | |
void | sendRaw (uint8_t opcode, uint8_t value, uint8_t chip=0) |
Send a raw opcode and value to the given MAX7219. More... | |
void | setIntensity (uint8_t intensity) |
Set the intensity of the LEDs of all chips. More... | |
void | setIntensity (uint8_t intensity, uint8_t chip) |
Set the intensity of the LEDs of a specific chip. More... | |
uint8_t | getChainLength () const |
Get the number of daisy-chained chips. More... | |
Public Attributes | |
SPISettings | settings |
Static Public Attributes | |
static constexpr uint8_t | DECODEMODE |
static constexpr uint8_t | INTENSITY |
static constexpr uint8_t | SCANLIMIT |
static constexpr uint8_t | SHUTDOWN |
static constexpr uint8_t | DISPLAYTEST |
Private Attributes | |
decltype(SPI) & | spi |
pin_t | loadPin |
uint8_t | chainlength |
|
inline |
Create a MAX7219SevenSegmentDisplay.
spi | The SPI interface to use. |
loadPin | The pin connected to the load pin (C̄S̄) of the MAX7219. |
chainlength | The number of daisy-chained MAX7219 chips. |
Definition at line 65 of file MAX7219SevenSegmentDisplay.hpp.
|
inline |
Initialize.
Definition at line 72 of file MAX7219SevenSegmentDisplay.hpp.
|
inline |
Set the value of a single digit.
digit | The digit to set the value of. May be greater than 7 if more than one chip are daisy-chained. Digit numbering starts from the right, the rightmost digit is digit zero. |
value | The value/bit pattern to set the digit to. |
Definition at line 85 of file MAX7219SevenSegmentDisplay.hpp.
|
inline |
Get the total number of digits in this chain of displays, i.e.
eight times the number of chips.
Definition at line 93 of file MAX7219SevenSegmentDisplay.hpp.
|
inline |
Display a long integer to the display.
The number will be right-aligned.
number | The number to display. |
startDigit | The digit (zero-based, counting from the right) to start printing the number. Digits: 7 6 5 4 3 2 1 0 |
endDigit | The last digit (zero-based, counting from the right) that can be printed. If the number is larger than endDigit - startDigit , a series of dashes is displayed. If the number is smaller than endDigit - startDigit , the leftmost digits including endDigit are cleared. |
endDigit - startDigit
). Definition at line 115 of file MAX7219SevenSegmentDisplay.hpp.
|
inline |
Display a long integer to the display.
The number will be right-aligned.
number | The number to display. |
startDigit | The digit (zero-based, counting from the right) to start printing the number. Digits: 7 6 5 4 3 2 1 0 |
endDigit | The last digit (zero-based, counting from the right) that can be printed. If the number is larger than endDigit - startDigit , a series of dashes is displayed. If the number is smaller than endDigit - startDigit , the leftmost digits including endDigit are cleared. |
endDigit - startDigit
). Definition at line 142 of file MAX7219SevenSegmentDisplay.hpp.
|
inline |
Display a long unsigned integer to the display.
The number will be right-aligned.
number | The number to display. |
startDigit | The digit (zero-based, counting from the right) to start printing the number. Digits: 7 6 5 4 3 2 1 0 |
endDigit | The last digit (zero-based, counting from the right) that can be printed. If the number is larger than endDigit - startDigit , a series of dashes is displayed. If the number is smaller than endDigit - startDigit , the leftmost digits including endDigit are cleared. |
endDigit - startDigit
). Definition at line 166 of file MAX7219SevenSegmentDisplay.hpp.
|
inline |
Display a long unsigned integer to the display.
The number will be right-aligned.
number | The number to display. |
startDigit | The digit (zero-based, counting from the right) to start printing the number. Digits: 7 6 5 4 3 2 1 0 |
endDigit | The last digit (zero-based, counting from the right) that can be printed. If the number is larger than endDigit - startDigit , a series of dashes is displayed. If the number is smaller than endDigit - startDigit , the leftmost digits including endDigit are cleared. |
endDigit - startDigit
). Definition at line 189 of file MAX7219SevenSegmentDisplay.hpp.
|
inline |
Display a string of text to the display.
Full stops are printed to the decimal point between characters.
text | The null-terminated string to display. |
startPos | The position to start printing. |
Definition at line 204 of file MAX7219SevenSegmentDisplay.hpp.
|
inline |
Print a single hexadecimal digit.
digit | The digit to print to [0, 7]. |
value | The 4-bit value to print [0, 15]. |
Definition at line 241 of file MAX7219SevenSegmentDisplay.hpp.
|
inline |
Print a number to the display in hexadecimal format.
number | The number to display. |
startDigit | The digit (zero-based, counting from the right) to start printing the number. Digits: 7 6 5 4 3 2 1 0 |
endDigit | The last digit (zero-based, counting from the right) that can be printed. If the number is larger than endDigit - startDigit , a series of dashes is displayed. If the number is smaller than endDigit - startDigit , the leftmost digits including endDigit are cleared. |
endDigit - startDigit
). Definition at line 269 of file MAX7219SevenSegmentDisplay.hpp.
|
inlineinherited |
Turn off all LEDs.
Definition at line 65 of file MAX7219_Base.hpp.
|
inlineinherited |
Send the value to the given digit or row.
digit | The digit or row to set [0, 7]. |
value | The value to set the row to. |
chip | The chip to send the digit to. |
Definition at line 80 of file MAX7219_Base.hpp.
|
inlineinherited |
Send values to the given digit or row, sending a different value for each chip.
The array is often a matrix containing the values for all rows of all chips in this chain. In that case, the leading dimension is 8, because each chip has 8 rows.
[0] chip 0, row 0 ┐ [1] chip 0, row 1 │ [ ] ... │ 8 elements between two chips [7] chip 0, row 7 │ [8] chip 1, row 0 ┘ [9] chip 1, row 1 [ ] ...
If you just want to specify a single row for all chips, the leading dimension of the array is 1.
[0] chip 0, row 0 ┐ [1] chip 1, row 0 ┘ 1 element between two chips [2] chip 2, row 0 [ ] ...
digit | The digit or row to set [0, 7]. |
values | The array of values to send. |
leading_dim | The leading dimension of the array of values. |
Definition at line 115 of file MAX7219_Base.hpp.
|
inlineinherited |
Send different values to all digits/rows of all chips.
The array layout should be as follows:
[0] chip 0, row 0 ┐ [1] chip 0, row 1 │ [ ] ... │ 8 elements between two chips [7] chip 0, row 7 │ [8] chip 1, row 0 ┘ [9] chip 1, row 1 [ ] ...
The array has 8 * chainlength
elements in total.
values | The array of values to send. |
Definition at line 146 of file MAX7219_Base.hpp.
|
inlineinherited |
Send the same raw opcode and value to all chips in the chain.
opcode | The opcode to send. |
value | The value to send. |
Definition at line 159 of file MAX7219_Base.hpp.
|
inlineinherited |
Send a raw opcode and value to the given MAX7219.
opcode | The opcode to send. |
value | The value to send. |
chip | The chip to send the command to. |
Definition at line 180 of file MAX7219_Base.hpp.
|
inlineinherited |
Set the intensity of the LEDs of all chips.
intensity | The intensity [0, 15]. |
Definition at line 206 of file MAX7219_Base.hpp.
|
inlineinherited |
Set the intensity of the LEDs of a specific chip.
intensity | The intensity [0, 15]. |
chip | The chip to set the intensity of. |
Definition at line 218 of file MAX7219_Base.hpp.
|
inlineinherited |
Get the number of daisy-chained chips.
Definition at line 225 of file MAX7219_Base.hpp.
|
staticconstexprinherited |
Definition at line 41 of file MAX7219_Base.hpp.
|
staticconstexprinherited |
Definition at line 42 of file MAX7219_Base.hpp.
|
staticconstexprinherited |
Definition at line 43 of file MAX7219_Base.hpp.
|
staticconstexprinherited |
Definition at line 44 of file MAX7219_Base.hpp.
|
staticconstexprinherited |
Definition at line 45 of file MAX7219_Base.hpp.
|
privateinherited |
Definition at line 228 of file MAX7219_Base.hpp.
|
privateinherited |
Definition at line 229 of file MAX7219_Base.hpp.
|
privateinherited |
Definition at line 230 of file MAX7219_Base.hpp.
|
inherited |
Definition at line 233 of file MAX7219_Base.hpp.