A base class for classes that control MAX7219 LED drivers.
More...
#include <AH/Hardware/LEDs/MAX7219_Base.hpp>
|
| MAX7219_Base (pin_t loadPin, uint8_t chainlength=1) |
| Create a MAX7219_Base object. 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...
|
|
A base class for classes that control MAX7219 LED drivers.
The SPI interface is used.
- Todo:
- Wiring diagram for SPI connection.
Definition at line 23 of file MAX7219_Base.hpp.
◆ MAX7219_Base()
◆ init()
◆ clear()
◆ send()
void send |
( |
uint8_t |
digit, |
|
|
uint8_t |
value, |
|
|
uint8_t |
chip = 0 |
|
) |
| |
|
inline |
Send the value to the given digit or row.
- Parameters
-
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.
◆ sendRowAll()
void sendRowAll |
( |
uint8_t |
digit, |
|
|
const uint8_t * |
values, |
|
|
uint8_t |
leading_dim = 1 |
|
) |
| |
|
inline |
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
[ ] ...
- Parameters
-
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.
◆ sendAll()
void sendAll |
( |
const uint8_t * |
values | ) |
|
|
inline |
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.
- Parameters
-
values | The array of values to send. |
Definition at line 142 of file MAX7219_Base.hpp.
◆ sendRawAll()
void sendRawAll |
( |
uint8_t |
opcode, |
|
|
uint8_t |
value |
|
) |
| |
|
inline |
Send the same raw opcode and value to all chips in the chain.
- Parameters
-
opcode | The opcode to send. |
value | The value to send. |
Definition at line 155 of file MAX7219_Base.hpp.
◆ sendRaw()
void sendRaw |
( |
uint8_t |
opcode, |
|
|
uint8_t |
value, |
|
|
uint8_t |
chip = 0 |
|
) |
| |
|
inline |
Send a raw opcode and value to the given MAX7219.
- Parameters
-
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.
◆ setIntensity() [1/2]
void setIntensity |
( |
uint8_t |
intensity | ) |
|
|
inline |
Set the intensity of the LEDs of all chips.
- Parameters
-
intensity | The intensity [0, 15]. |
Definition at line 202 of file MAX7219_Base.hpp.
◆ setIntensity() [2/2]
void setIntensity |
( |
uint8_t |
intensity, |
|
|
uint8_t |
chip |
|
) |
| |
|
inline |
Set the intensity of the LEDs of a specific chip.
- Parameters
-
intensity | The intensity [0, 15]. |
chip | The chip to set the intensity of. |
Definition at line 214 of file MAX7219_Base.hpp.
◆ getChainLength()
uint8_t getChainLength |
( |
| ) |
const |
|
inline |
◆ DECODEMODE
constexpr uint8_t DECODEMODE = 9 |
|
staticconstexpr |
◆ INTENSITY
constexpr uint8_t INTENSITY = 10 |
|
staticconstexpr |
◆ SCANLIMIT
constexpr uint8_t SCANLIMIT = 11 |
|
staticconstexpr |
◆ SHUTDOWN
constexpr uint8_t SHUTDOWN = 12 |
|
staticconstexpr |
◆ DISPLAYTEST
constexpr uint8_t DISPLAYTEST = 15 |
|
staticconstexpr |
◆ loadPin
◆ chainlength
◆ settings
The documentation for this class was generated from the following file: