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: