A class for 8-digit 7-segment displays with a MAX7219 driver. More...
#include <AH/Hardware/LEDs/MAX7219SevenSegmentDisplay.hpp>
 Inheritance diagram for MAX7219SevenSegmentDisplay:
 Collaboration diagram for MAX7219SevenSegmentDisplay:Public Member Functions | |
| MAX7219SevenSegmentDisplay (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 | init () | 
| Initialize the Arduino pins, SPI, and the MAX7219.  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... | |
Static Public Attributes | |
| static constexpr uint8_t | DECODEMODE = 9 | 
| static constexpr uint8_t | INTENSITY = 10 | 
| static constexpr uint8_t | SCANLIMIT = 11 | 
| static constexpr uint8_t | SHUTDOWN = 12 | 
| static constexpr uint8_t | DISPLAYTEST = 15 | 
Private Attributes | |
| pin_t | loadPin | 
| uint8_t | chainlength | 
| SPISettings | settings = {SPI_MAX_SPEED, MSBFIRST, SPI_MODE0} | 
A class for 8-digit 7-segment displays with a MAX7219 driver.
Definition at line 49 of file MAX7219SevenSegmentDisplay.hpp.
      
  | 
  inline | 
Create a MAX7219SevenSegmentDisplay.
| loadPin | The pin connected to the load pin (C̄S̄) of the MAX7219. | 
| chainlength | The number of daisy-chained MAX7219 chips. | 
Definition at line 59 of file MAX7219SevenSegmentDisplay.hpp.
      
  | 
  inline | 
      
  | 
  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 77 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 85 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 107 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 134 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 158 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 181 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 196 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 233 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 261 of file MAX7219SevenSegmentDisplay.hpp.
      
  | 
  inlineinherited | 
Initialize the Arduino pins, SPI, and the MAX7219.
begin. Definition at line 46 of file MAX7219_Base.hpp.
      
  | 
  inlineinherited | 
Turn off all LEDs.
Definition at line 61 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 76 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 111 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 142 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 155 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 176 of file MAX7219_Base.hpp.
      
  | 
  inlineinherited | 
Set the intensity of the LEDs of all chips.
| intensity | The intensity [0, 15]. | 
Definition at line 202 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 214 of file MAX7219_Base.hpp.
      
  | 
  inlineinherited | 
Get the number of daisy-chained chips.
Definition at line 221 of file MAX7219_Base.hpp.
      
  | 
  staticconstexprinherited | 
Definition at line 36 of file MAX7219_Base.hpp.
      
  | 
  staticconstexprinherited | 
Definition at line 37 of file MAX7219_Base.hpp.
      
  | 
  staticconstexprinherited | 
Definition at line 38 of file MAX7219_Base.hpp.
      
  | 
  staticconstexprinherited | 
Definition at line 39 of file MAX7219_Base.hpp.
      
  | 
  staticconstexprinherited | 
Definition at line 40 of file MAX7219_Base.hpp.
      
  | 
  privateinherited | 
Definition at line 226 of file MAX7219_Base.hpp.
      
  | 
  privateinherited | 
Definition at line 227 of file MAX7219_Base.hpp.
      
  | 
  privateinherited | 
Definition at line 228 of file MAX7219_Base.hpp.