Updated Displays (markdown)

gemu 2019-08-20 14:08:41 +02:00
parent 626cc6fe18
commit 49c71a195c
1 changed files with 39 additions and 16 deletions

@ -13,9 +13,11 @@ All display commands:
<a id="DisplaySize"> </a> DisplaySize | `1..4` = set display scale-up size (only for `DisplayModel 2` (SSD1306 OLED) and `DisplayModel 4` (ILI9341 TFT LCD))
<a id="DisplayRotate"> </a> DisplayRotate | Set rotation angle<BR> `0` = 0°<BR> `1` = 90°<BR> `2` = 180°<BR> `3` = 270°
<a id="DisplayText"> </a> DisplayText | `<value>` = for a full guide see [DisplayText use](displays#displaytext-use)
<a id="DisplayCols"> </a> DisplayCols | `1..44` = set number of display columns
<a id="DisplayRows"> </a> DisplayRows | `1..32` = set number of display rows
<a id="DisplayFont"> </a> DisplayFont | (reserved command, currently unsupported)
<a id="DisplayCols"> </a> DisplayCols | `1..44` = set number of display columns (for display modes>0)
<a id="DisplayRows"> </a> DisplayRows | `1..32` = set number of display rows (for display modes>0)
<a id="DisplayFont"> </a> DisplayFont | specifies the current font ((1=12, 2=24,(opt 3=8)) if font==0 the classic GFX font is used if font==7 the RA8876 internal font is used
<a id="DisplayWidth"> </a> DisplayWidth | specifies the display width in pixles (settable only on ssd1306)
<a id="DisplayHeight"> </a> DisplayHeight | specifies the display height in pixles (settable only on ssd1306)
## DisplayMode Parameters
@ -33,7 +35,6 @@ Parameter | LCD Display | OLED Display | TFT Display
# DisplayText Use
**The functionality described here is expected to be merged from [PR 3748](https://github.com/arendst/Sonoff-Tasmota/pull/3748)**
The `DisplayText` command is used to display text as well as graphics and graphs on LCD, OLED and e-Paper
displays. The command argument is a string that is printed on the display at the current position.
@ -98,16 +99,16 @@ buttons switch real Tasmota devices like relais. When button number + 256 a virt
when button number + 512 a virtual touch push button is created (MQTT => PBT)
(#define USE\_TOUCH\_BUTTONS)
>b _p_ n=button number 0-15
xp = x position
yp = y position
xs = x size
ys = y size
oc = outline color
fc = fill color
tc = text color
ts = text size
bt = button text (must end with a colon :) (max 9 chars)
>b _p_ =button number 0-15
x _p_ = x position
y _p_ = y position
x _s_ = x size
y _s_ = y size
o _c_ = outline color
f _c_ = fill color
t _c_ = text color
t _s_ = text size
b _text_: = button text (must end with a colon :) (max 9 chars)
### Index colors selected in the color panels ILI9488,SSD1351,RA8876 with Ci and Bi
@ -138,7 +139,23 @@ While full update delivers a clean and sharp picture it has the disadvantage of
Partial update is quite fast (300 ms) with no flickering but there is the possibility that erased content is still slightly visible.
To "whiten" the display it is therefore useful to perform a full update in regular intervals (e.g each hour).
Defines => USE_SOFTSPI, USE_DISPLAY_EPAPER29, USE_DISPLAY_EPAPER42
Defines => USE\_SPI, USE\_DISPLAY, USE\_DISPLAY\_EPAPER29 or USE\_DISPLAY\_EPAPER42
remark: the 4.2 epaper needs about 15k RAM. therefore it only works with Core 2.42 and above
## Notes about OLED lifetime
The lifetime of an OLED when permanetely on ist specified at about 10000 hours (416 days) (dimming to 50% expands the lifetime to about 25000 hours)
## Notes about burnin
The data sheets of the TFT and OLED displays mention burn in effects when a static display is shown for extended periods of time. You may consider switching the display on on demand only.
## Notes about fonts
The EPD fonts contains 95 chars starting from code 32 while the classic
GFX font containts 256 chars ranging from 0 to 255.
To display chars above code 127 you must specify an escape sequence
(standard octal escapes dont work here) the `~`character followed by a
hex byte can define any character code. So custom characters above 127
can be displayed
## Hardware connections:
@ -148,10 +165,16 @@ The I<sup>2</sup>C Address must be given by `DisplayAddress XX`, e.g. 60, and th
To permanently turn the display on set `DisplayDimmer 100`.
Display rotation can be permanently set using `DisplayRotate X` (x = `0..3`).
E-Paper displays are connected via 3 wire SPI (CS, SCLK, MOSI) the other 3 Interface lines of the display
E-Paper displays are connected via software 3 wire SPI `(CS, SCLK, MOSI)` the other 3 Interface lines of the display
(DC, Reset, busy) may be left unconnected.
The jumper on the circuit board of the display must be set to 3 wire SPI.
The ILI9488 and SSD1351 are connected via hardware 3 wire SPI `(MOSI=GPIO13, SCLK=GPIO14,CS=GPIO15)`, the ILI9488 must also be connected to backlight pin
(dimmer supported on SSD1351)
The RA8876 is connected via standard hardware 4 wire SPI `(MOSI=GPIO13, MISO=GPIO12, SCLK=GPIO14, CS=GPIO15)` no backlight pin needed (dimmer supported)
# Examples
Print Text at size 1 on line 1, column 1: