Skip to content

Commit

Permalink
Merge pull request #1379 from sciurius/master
Browse files Browse the repository at this point in the history
Some enhancements and fixes to the MAX7219 matrix docs.
  • Loading branch information
Jason2866 authored Apr 17, 2024
2 parents 0567832 + 9889997 commit 3bd0a62
Showing 1 changed file with 16 additions and 15 deletions.
31 changes: 16 additions & 15 deletions docs/MAX7219.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ set the Display Model to 19 and Display Mode to 0
```
DisplayModel 19
DisplayMode 0
power ON
```

Depending on order of the wired 8x8 matrix modules you have got a display of size pixel_width x pixel_height.
Expand All @@ -46,9 +45,9 @@ DisplayHeight 8
DisplayWidth 96
```

After the ESP8266/ESP32 module restared again, turn ON the display with the command
After the ESP8266/ESP32 module has restarted, turn ON the display with the command
```
Power 1
Power ON
DisplayText Hello Tasmota!
```

Expand All @@ -58,25 +57,27 @@ Now, the following "Display" commands can be used:
| Command | Parameter | Note |
|---------------|-------------------------|-------------------------------------------|
| DisplayText | <any text> | Sends the text to the display. If the text fits into the display, it is shown in the center. Otherwise it scrolls to the left and repeats as long it is cleared or new "DisplayText" overwrites it. |
| DisplayDimmer | [0..100] | 0 = Turn the display off, 100 = maximum luminosity |
| Power | [ON/OFF] | Sitches the display on or off. When ``OFF``, the display buffer is not cleared and will be shown again when after "Power ON". Other display commands are still active when ``OFF``.|
| DisplayClear | | Clears the display |
| DisplayScrollDelay| [0..15] | default = 0. Sets the speed of text scroll. Smaller delay = faster scrolling. The maximum scroll speed is 50ms per pixel with ``DisplayScrollDelay 0``.|
| DisplayWidth | [8..256] | Sets the pixel width of the display (8x number of modules in a row) |
| DisplayHeight | [8..256] | Sets the pixel height of the display (8x number of module rows) |
| DisplayRotate | [0/2] | 0: default (when first module is left), 2 upside down (turns 180°, when first module is right)
| DisplayClock | [0/1/2] | Displays a clock. 1: 12 hr format, 2: 24 hr format, 0: turns clock off
| DisplayDimmer | [0..100] | 0 = Turn the display off, 100 = maximum luminosity. Note that the MAX7219 supports 16 levels of brightness. |
| Power | [ON/OFF] | Switches the display on or off. When ``OFF``, the display buffer is not cleared and will be shown again after "Power ON". Other display commands are still active when ``OFF``.|
| DisplayClear | | Clears the display. |
| DisplayScrollDelay| [0..15] | Default = 0 (max speed). Sets the speed of text scroll. Smaller delay = faster scrolling. The maximum scroll speed is 50ms per pixel with ``DisplayScrollDelay 0``. |
| DisplayWidth | [8..256] | Sets the pixel width of the display (8x number of modules in a row). |
| DisplayHeight | [8..256] | Sets the pixel height of the display (8x number of module rows). |
| DisplayRotate | [0/2] | 0: default (when first module is left), 2 upside down (turns 180°, when first module is right).
| DisplayClock | [0/1/2] | Displays a clock. 1: 12 hr format, 2: 24 hr format, 0: turns clock off.

**Note**: The DisplayClock mode is not persistent. After a restart it has to be set again manually or use the following rule to have clock mode permanently.
```
rule1 on system#boot do DisplayClock 2 endon
rule1 1
Rule1 ON System#Boot DO DisplayClock 2 ENDON
Rule1 1
```

## Constrains
## Constraints

- Only one text row is supported
- Only standard ascii and UTF8 latin1 characters are supported. Unknown characters are displayed as "_".
- Only standard ASCII characters are supported.
- UTF8 encoded latin1 characters are supported when compiled with `#define USE_UTF8_LATIN1`. Unknown characters are displayed as "_".
- Entry of characters in hex format, e.g. `~E9` is not supported.
- `#define USE_DISPLAY_MAX7219_MATRIX` disables `USE_DISPLAY_MAX7219` and `USE_DISPLAY_TM1637` (made for [seven segment displays](TM163x)), because it uses the same pin configuration. It is not possible to use dot matrix and seven segment disply at the same time.

## See also
Expand Down

0 comments on commit 3bd0a62

Please sign in to comment.