Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[P095] Add support for extra TFT displays (ILI934x/ILI948x) #3903

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
7e16789
[P095] Add support for extra TFT displays (ILI934x/ILI948x)
tonhuisman Jan 9, 2022
97e912f
Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into …
tonhuisman Jan 9, 2022
b9626e3
Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into …
tonhuisman Jan 9, 2022
7724d6f
Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into …
tonhuisman Jan 9, 2022
79ce8d9
[P095] Reformat sources using Uncrustify
tonhuisman Jan 9, 2022
2595a8b
Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into …
tonhuisman Jan 14, 2022
87d9257
Merge branch 'mega' into feature/P095-add-extra-display-types
tonhuisman Jan 21, 2022
0541d0e
Merge branch 'mega' into feature/P095-add-extra-display-types
tonhuisman Jan 23, 2022
8fb1813
Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into …
tonhuisman Feb 8, 2022
561571a
Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into …
tonhuisman Feb 11, 2022
e586074
[P095] String allocation improvements
tonhuisman Feb 11, 2022
9cbcb1f
[P095] Restore accidently lost addLogMove
tonhuisman Feb 11, 2022
0f629f7
Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into …
tonhuisman Feb 11, 2022
fa9bcff
Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into …
tonhuisman Feb 18, 2022
1dc3f94
[P095] Fix merge issue
tonhuisman Feb 19, 2022
6f3f18a
[P095] Make enum values explicit
tonhuisman Feb 20, 2022
0ff92e4
Merge branch 'mega' into feature/P095-add-extra-display-types
TD-er Mar 31, 2022
be2d5bb
Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into …
tonhuisman Apr 1, 2022
7da9efd
[P095] Rename local copy of Adafruit ILI9341 library, initializations
tonhuisman Apr 2, 2022
c9347d3
Merge branch 'mega' into feature/P095-add-extra-display-types
tonhuisman Apr 3, 2022
56fceb7
Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into …
tonhuisman Apr 9, 2022
a31f320
Merge branch 'mega' into feature/P095-add-extra-display-types
tonhuisman Apr 16, 2022
d346f92
Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into …
tonhuisman Apr 22, 2022
9a1b613
Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into …
tonhuisman Apr 23, 2022
2dbbf81
[P095] Updated documentation
tonhuisman Apr 23, 2022
0bbf7e9
Merge branch 'mega' into feature/P095-add-extra-display-types
tonhuisman May 2, 2022
6e53eea
Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into …
tonhuisman May 4, 2022
402aeb5
Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into …
tonhuisman May 9, 2022
f934464
Merge branch 'mega' into feature/P095-add-extra-display-types
tonhuisman May 9, 2022
eb452ec
Merge branch 'feature/P095-add-extra-display-types' of https://github…
tonhuisman May 9, 2022
4b17fa4
Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into …
tonhuisman May 16, 2022
1cd2e2a
[PlatformIO] Do not extend multiple PIO envs
TD-er May 16, 2022
9638f43
[PlatformIO] Change src_filter into build_src_filter for PIO 6.0.0
TD-er May 16, 2022
6be636d
[PlatformIO] Revert to PlatformIO 5.2.5
TD-er May 16, 2022
b2d2320
Merge branch 'mega' into feature/P095-add-extra-display-types
TD-er May 17, 2022
83ff852
Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into …
tonhuisman May 17, 2022
6e9378d
[P095] Make Splash at start configurable, docs updated
tonhuisman May 17, 2022
898444c
Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into …
tonhuisman May 18, 2022
d4cc9a2
Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into …
tonhuisman May 19, 2022
d2b1eb4
[P095] Fix for displaying text on previous location was not overwriti…
tonhuisman May 21, 2022
06fed50
[P095] Update documentation
tonhuisman May 21, 2022
ce52d69
Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into …
tonhuisman Jun 14, 2022
bccf9fc
[P095] Implement splash without delay()
tonhuisman Jun 14, 2022
1f142a9
Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into …
tonhuisman Jun 15, 2022
6ff1c16
Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into …
tonhuisman Jun 16, 2022
00c9eb7
[P095] Use ESPEasy-specific ILI9341 extended library
tonhuisman Jun 16, 2022
6ee23e8
Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into …
tonhuisman Jun 29, 2022
4b8a3e4
[Build] Enable SD-card support for Display and NeoPixel sets
tonhuisman Jun 30, 2022
4d12e35
Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into …
tonhuisman Jul 16, 2022
0c98549
Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into …
tonhuisman Jul 17, 2022
d087c0e
[ILI9341 lib] Extend supported ILI9481 sub-types (CMI7 and CMI8, borr…
tonhuisman Jul 17, 2022
0dd77f4
[P095] Extend supported ILI9481 display models
tonhuisman Jul 17, 2022
cabf72b
[P095] Update documentation
tonhuisman Jul 17, 2022
0413d27
Merge branch 'mega' into feature/P095-add-extra-display-types
tonhuisman Jul 19, 2022
362a734
Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into …
tonhuisman Jul 19, 2022
df270e0
Merge branch 'mega' into feature/P095-add-extra-display-types
tonhuisman Jul 19, 2022
b298321
[P128] Fix compiler warning
tonhuisman Jul 19, 2022
7942ac9
[SDcard] Remove unused variable in handle_SDfilelist()
tonhuisman Jul 19, 2022
78e4f3f
[Build] Leave SD-card support out for any NEOPIXEL ESP8266 build to m…
tonhuisman Jul 19, 2022
35d8d25
[P095] Disable unavailable displays (ILI9486/ILI9488)
tonhuisman Jul 20, 2022
9c603bb
Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into …
tonhuisman Jul 20, 2022
b69550a
Merge branch 'feature/P095-add-extra-display-types' of https://github…
tonhuisman Jul 28, 2022
8ef4863
Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into …
tonhuisman Jul 28, 2022
754797b
Merge branch 'feature/P095-add-extra-display-types' of https://github…
tonhuisman Jul 29, 2022
f21bd78
Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into …
tonhuisman Jul 29, 2022
cda0e6c
Merge branch 'mega' into feature/P095-add-extra-display-types
tonhuisman Jul 30, 2022
cd7f521
Merge branch 'mega' into feature/P095-add-extra-display-types
tonhuisman Aug 9, 2022
4ed2afa
[P095] Optimize code and reduce string use to make build fit
tonhuisman Aug 9, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
7 changes: 6 additions & 1 deletion docs/source/Plugin/AdaGFX_commands.repl
Expand Up @@ -33,6 +33,7 @@
* 0 : Continue to next line (wrap text onto the next line)
* 1 : Truncate exceeding message (cut-off text that won't fit on the screen width)
* 2 : Clear then truncate exceeding message (Clear to width of screen, then print the message)
* 3 : Truncate and center message in available space, when maxTextWidthPixels is provided in ``txtfull`` subcommand. Will act like 1 : Truncate exceeding message if no width provided.
"
"
``<trigger>,txt,<text>``
Expand Down Expand Up @@ -69,11 +70,15 @@
Set font scaling option. Only values from 0 to 10 are accepted. 0 assumes 1 by default.
"
"
``<trigger>,txtfull,<x>,<y>,<size=1>,<foreColor=white>,<backColor=transparent>,<text>``
``<trigger>,txtfull,<x>,<y>,<size=1>,<foreColor=current>,<backColor=foreColor>,<textPrintMode=current>,<maxTextWidthPixels=0>,<text>``
","
Write text at position X/Y with all options. Depending on the setting **Text Coordinates in col/row**, these coordinates are pixels (default) or column/rows.

All options that have a default specified (size, foreColor, backColor) can be left out, but text is expected. ForeColor and BackColor use the last set Foreground and Background colors (that will by default be white and transparent if not provided).

``textPrintMode`` can be passed an invalid value (f.e. -1) to use the current setting.

``maxTextWidthPixels`` can be used to have textPrintMode > 0 (see ``tpm`` subcommand) but clear only a limited area width instead of clearing until the right edge of the screen. 0 implies that the right edge of the screen is used.
"
"
``<trigger>,asciitable[,<offset>,<fontscaling>]``
Expand Down
167 changes: 159 additions & 8 deletions docs/source/Plugin/P095.rst
Expand Up @@ -24,21 +24,170 @@ Used libraries: |P095_usedlibraries|
Description
-----------

This plugin allow to control a TFT screen (ILI9341) through HTTP API
The ILI9341, ILI9342, ILI9481, ILI9486 and ILI9488 chip families drive color TFT displays in a few resolutions, and support 65535 colors (RGB565 coded).

## Environment
Tested with WEMOS D1 Mini Pro and Wemos TDFT 2.4
Tested with ESPEasy 2.4.2 -tag mega-201902225)
This plugin supports these display models:

* **ILI934x** with resolution 240 x 320 pixels
* **ILI948x** with resolution 320 x 480 pixels

The plugin can be configured to show predefined text, a reservation for up to 24 lines is made, but only the lines that can fit on-screen will be shown, or via commands, sent via http or from rules, text or graphical elements like lines, rectangles, circles, pixels, etc., can be shown.

Hardware
--------

TFT Shield : https://docs.wemos.cc/en/latest/d1_mini_shiled/tft_2_4.html
Price : ~ 5.40€/$ (https://fr.aliexpress.com/item/32919729730.html)

Connections
^^^^^^^^^^^

These displays are connected using the SPI interface, minimally with 3 signal wires, though usually also support the ``CS`` signal, so 4-wire SPI can be used, to allow multiple SPI-connected devices.

The text on most displays is somewhat confusing, as not the usual SPI names are used:

.. code-block:: none

ESP TFT
-------- ------
3V3 --- VCC (most displays only support 3.3V)
GND --- GND
MOSI --> SDA/SDI
CLK --> SCL/SCK
(gpio) --> DC
(gpio) --> CS
(gpio) --> RES/RST/RESET (optional, Reset)
(gpio) --> BLK/LED (optional, Backlight, TFT-pin can also be connected to VCC for always-on)

(gpio) = configurable GPIO pin.


Device configuration
--------------------

.. image:: P095_DeviceConfiguration.png
:alt: Device configuration

* **Name** A unique name should be entered here.

* **Enabled** The device can be disabled or enabled. When not enabled the device should not use any resources.

Actuator
^^^^^^^^

* **GPIO -> TFT CS** Select the GPIO pin to use for the ``CS`` connection. If the display doesn't have a ``CS`` connection it can be set to *None*.
* **GPIO -> TFT DC** The GPIO pin to use for the ``DC`` connection (Data/Command).
* **GPIO -> TFT RST** Select the GPIO pin to use for the ``RES`` (reset) connection. If the display doesn't have a ``RES`` (or RST) connection, or no free pin is available, it can be set to *None*. If it is set to None, for proper operation it may need too be wired to the Reset connection on the ESP, so the device is initialized correctly.
* **GPIO -> Backlight (optional)** Select the GPIO pin to use for controlling the backlight. To save power, the backlight can be dimmed, or turned off if the display is turned off. If set to *None*, usually the max. brightness is used for the backlight.
* **Backlight percentage** The backlight can be controlled via PWM modulation on the Backlight (BLK) pin of the display. This is set as a percentage between 1 and 100.
* **Display button** A GPIO pin can be configured to wake the display on demand. This, combined with the **Display Timeout** setting, can preserve the lifetime of the display, and save some power.
* **Inversed Logic** When checked, reverses the pin-state action of the **Display button** gpio. This allows an external circuit, f.e. an IR sensor, that may provide a *high* signal when activated, to wake the display.
* **Display Timeout** Select the timeout in seconds to turn off the display after the last update or wake-up. Only used if the **Display button** is *also* configured.
* **TFT Display model** Select the hardware model that is connected. Currently there are only preset resolutions available.

Available options:

.. image:: P095_TFTDisplayModelOptions.png
:alt: TFT Display model options

.. warning::
The **ILI9481** display controller does have issues when rotating, by using the ``<trigger>,rot,<n>`` command, to change the display orientation after some content is already displayed on the screen (content may move, rotate and/or mirror unexpectedly). It is advised to clear the screen after changing the rotation setting.

Layout
^^^^^^^^

* **Rotation** Depending on how the display is to be mounted/installed, it may be needed to rotate the content, or with a non-square resolution, to use the display in *Landscape* layout instead of the default *Portrait*.

Available options:

.. image:: P095_RotationOptions.png
:alt: Rotation

The available options rotate the display in a clock-wise direction.

* **Text print Mode** Defines the handling of text when predefined text or text via the ``txt`` or ``txtfull`` subcommands (see below) is displayed.

Available options:

.. image:: P095_TextPrintModeOptions.png
:alt: Text print mode

* *Continue to next line* Simply 'prints' all text to the display, with automatic overflow to the next line(s) if the text doesn't fit on the current line.
* *Truncate exceeding message* Display the provided message, but any excess at the right border of the display is discarded.
* *Clear then truncate exceeding message* Clear from the current cursor position to the end of the display, then display the provided message, but any excess at the right border of the display is discarded.
* *Truncate, centered if maxWidth set* Like *Truncate exceeding message* but centered in available width when that is provided (in ``txtfull`` subcommand).

Default setting is *Continue to next line*.

* **Font scaling** The scaling factor for the currently active font. Select a factor between 1 and 10.

Supported hardware
------------------
* **Show splash on start** When available, and enabled, will show an ESPEasy & plugin name text-splash during start of the plugin. If also some content is configured, this will be written over the splash, as that is not cleared after being displayed.

|P095_usedby|
* **Clear display on exit** When checked, will clear the display when the task is disabled, either from settings or via the ``TaskDisable`` command. The screen will be turned off, and when a backlight pin is configured, also the backlight is turned off.

* **Write Command trigger** The command to handle any commands for this device can be selected here. This can make the commands compatible with other (tft) displays, using the same command structure via the ESPEasy Adafruit Graphics helper class.

Available options:

.. image:: P095_WriteCommandTriggerOptions.png
:alt: Write-command trigger

* *tft*
* *ili9341*
* *ili9342*
* *ili9481*
* *ili9486*
* *ili9488*

The command is handled non-case sensitive. See below for available commands and subcommands.

* **Wake display on receiving text** When checked, the display will be enabled once any content is written to the screen, either triggered by the Interval, or from a command. Default checked.

* **Text Coordinates in col/row** When checked, the coordinates for the ``txp``, ``txz`` and ``txtfull`` subcommands will be handled in cursor columns & rows, instead of pixels. Column and row are calculated from the current font size and font scaling settings.

* **Use -1px offset for txp & txtfull** For backward compatibility with the previous, non-AdafruitGFX_helper based, plugin implementation, that used 0-based coordinates, an offset of -1 pixel can be applied to the ``txp``, ``txz`` and ``txtfull`` subcommands. This option is enabled by default.

* **Background-fill for text** When checked, for any text-line sent to the screen, the entire background (including top and bottom lines) will have the provided background color, *unless* transparent is used (Background color == Foreground color). Default checked.

Content
^^^^^^^^

* **Foreground color**
* **Background color**

These are the default colors, used to display the content as configured below (if any). The background color is also used as the Clear screen color.

Colors can be specified in 3 ways:

* *Color name* Some named colors are recognized: White, Black, Red, Green, Blue, Yellow, Orange, Navy, Darkgreen, Cyan, Darkcyan, Maroon, Purple, Olive, Magenta, Lightgrey, Darkgrey, Pink and Greenyellow. If any of these colors is recognized, the name will be shown.
* *#RGB565* A ``#`` prefixed, 1 to 4 digit, hex-coded color value in RGB565 format (5 bits red, 6 bits green, 5 bits blue) giving the max. number of 65535 colors. This is the value that is shown after the settings are saved, and it is not one of the known color names.
* *#RRGGBB* A ``#`` prefixed, 6 digit, hex coded RGB color value. Will be transformed to an RGB565 value!

If the Foreground and Background colors are the same, the background color will become ``transparent``. If the Forground color is empty, as a default ``white`` will be set.

* **Line 1..24** Predefined content can be specified. The number of lines available depends on the size of the display, the font used, the font scaling that is set and the selected rotation.

The usual variables, like ``[Taskname#Valuename]``, or ``%v1%``, system variables, formulas and functions can be used.

Input length is limited to 60 characters per line. If a longer calculated text is needed for a line, then it should be set from the rules or from an external source via http commands.

Next to Line 24, the remaining capacity in characters is displayed.

The total combination of lines * input length can not exceed 1000 characters (sized dynamically), as there is limited storage per task available for these settings. An error message will be shown after (trying to) save the settings, **any excess content will be discarded!**

Example:

.. image:: P095_SaveError.png
:alt: Save error

* **Interval** By default, Interval will be set to 0. If set to a non-zero value, the pre-configured content will be updated automatically using that interval (seconds). Depending on the **Text print Mode** setting, content that may have been draw from rules or external commands, may be erased.

Values
^^^^^^

The current text-cursor position is available in 2 variables **CursorX** and **CursorY**, that will be updated on every change of text or received command. **No** events are generated, and these values will never be sent to controllers.

The values can be used in rules, if desired. They will follow the **Text Coordinates in col/row** setting.

Commands available
^^^^^^^^^^^^^^^^^^
Expand All @@ -54,4 +203,6 @@ Change log
.. versionchanged:: 2.0
...

|added| 2020-04-20
|added| 2020-04-20 Initially added

|added| 2022-04-23 Rewrite of the plugin based on AdafruitGFX_helper, udated documentation based on shared settings with :ref:`P116_page` and AdafruitGFX_helper
Binary file added docs/source/Plugin/P095_DeviceConfiguration.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/source/Plugin/P095_RotationOptions.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/source/Plugin/P095_SaveError.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/source/Plugin/P095_TextPrintModeOptions.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
107 changes: 39 additions & 68 deletions docs/source/Plugin/P095_commands.repl
@@ -1,69 +1,40 @@
.. csv-table::
:header: "Command", "Extra information"
:widths: 20, 30

"
``TFTCMD,<tftcmd_subcommand>``
","
Control the screen (on, off, clear,..)

Examples:

- ``tftcmd,on`` Switch display on.
- ``tftcmd,off`` Switch display off.
- ``tftcmd,clear`` Clear whole display.
- ``tftcmd,clear,green`` Clear whole display with green color.
- ``tftcmd,inv,1`` Invert the dispaly (value:0 normal display, 1 inverted display)
- ``tftcmd,rot,2`` Rotate display (value from 0 to 3 inclusive)
"
"
``TFT,<tft_subcommand>,....``
","
Draw line, rect, circle, triangle and text

Subcommands:

- ``tft,txt,<text>`` Write simple text (use last position, color and size)
- ``tft,txp,<X>,<Y>`` Set text position (move the cursor)
- ``tft,txc,<foreColor>,<backgroundColor>`` Set text color (background is transparent if not provided
- ``tft,txs,<SIZE>`` Set text size
- ``tft,txtfull,<row>,<col>,<size=1>,<foreColor=white>,<backColor=black>,<text>`` Write text with all options
- ``tft,l,<x1>,<y1>,<2>,<y2>,<color>`` Draw a simple line
- ``tft,lh,<y>,<width>,<color>`` Draw an horizontal line (width = Line width in pixels (positive = right of first point, negative = point of first corner).
- ``tft,lv,<x>,<height>,<color>`` Draw a vertical line (height= Line height in pixels (positive = below first point, negative = above first point).
- ``tft,r,<x>,<y>,<width>,<height>,<color>`` Draw a rectangle
- ``tft,rf,<x>,<y>,<width>,<height>,<bordercolor>,<innercolor>`` Draw a filled rectangle
- ``tft,c,<x>,<y>,<radius>,<color>`` Draw a circle
- ``tft,cf,<x>,<y>,<radius>,<bordercolor>,<innercolor>`` Draw a filled circle
- ``tft,t,<x1>,<y1>,<x2>,<y2>,<x3>,<y3>,<color>`` Draw a triangle
- ``tft,tf,<x1>,<y1>,<x2>,<y2>,<x3>,<y3>,<bordercolor>,<innercolor>`` Draw a filled triangle
- ``tft,rr,<x>,<y>,<width>,<height>,<corner_radius>,<color>`` Draw a round rectangle
- ``tft,rrf,<x>,<y>,<width>,<height>,<corner_radius>,<bordercolor>,<innercolor>`` Draw a filled round rectangle
- ``tft,px,<x>,<y>,<color>`` Print a single pixel
- ``tft,font,<fontname>`` Switch to font - SEVENSEG24, SEVENSEG18, FREESANS, DEFAULT
"

Examples:

Write Text :
``tft,txtfull,0,0,HelloWorld``

Write Text another place:
``tft,txtfull,100,40,HelloWorld``

Write bigger Text :
``tft,txtfull,0,0,3,HelloWorld``

Write RED Text :
``tft,txtfull,0,0,3,HelloWorld``

Write RED Text (size is 1):
``tft,txtfull,0,0,1,RED,HelloWorld``

Write RED Text on YELLOW background (size is 1):
``tft,txtfull,0,0,1,RED,YELLOW,HelloWorld``

Select font :

- ``tft,font,SEVENSEG24``
- ``tft,txtfull,0,0,1,RED,17.0``
:header: "Command Syntax", "Extra information"
:widths: 20, 30

"
This plugin allows dynamic configuration of the command-trigger. Available triggers are:

* ``tft``
* ``ili9341``
* ``ili9342``
* ``ili9481``
* ``ili9486``
* ``ili9488``

The default trigger is ``tft``
","
Some commands are postfixed with ``cmd``, indicating device specific commands. Not device-specific commands are genericly applicable to all *Adafruit Graphics* enabled devices, using the ESPEasy ``AdafruitGFX_helper`` module.

If one of the alternative **Write Command trigger** options is selected, then also the plugin specific commands change from ``tftcmd`` to f.e. ``ili9481cmd``.
"
"
| ``tftcmd,on``
","
| Switch the display on.
"
"
| ``tftcmd,off``
","
| Switch the display off. If the Backlight is connected and configured, that will also be turned off.
"
"
| ``tftcmd,clear``
","
| Clear the display, using the default background color.
"
"
| ``tftcmd,backlight,<percentage>``
","
| Set the level of backlight brightness, from 1..100%. Only applicable if a backlight pin is configured.
"
6 changes: 3 additions & 3 deletions docs/source/Plugin/_plugin_substitutions_p09x.repl
Expand Up @@ -59,9 +59,9 @@
.. |P094_compileinfo| replace:: `.`
.. |P094_usedlibraries| replace:: `.`

.. |P095_name| replace:: :cyan:`TFT 2.4 inches ILI9341`
.. |P095_name| replace:: :cyan:`TFT ILI934x/ILI948x`
.. |P095_type| replace:: :cyan:`Display`
.. |P095_typename| replace:: :cyan:`Display - TFT 2.4 inches ILI9341`
.. |P095_typename| replace:: :cyan:`Display - TFT ILI934x/ILI948x`
.. |P095_porttype| replace:: `.`
.. |P095_status| replace:: :yellow:`DISPLAY, COLLECTION`
.. |P095_github| replace:: _P095_ILI9341.ino
Expand All @@ -70,7 +70,7 @@
.. |P095_shortinfo| replace:: `.`
.. |P095_maintainer| replace:: `TD-er`
.. |P095_compileinfo| replace:: `.`
.. |P095_usedlibraries| replace:: `Adafruit GFX, Adafruit ILI9341`
.. |P095_usedlibraries| replace:: `Adafruit GFX, Adafruit ILI9341 (locally extended copy)`

.. |P097_name| replace:: :cyan:`Touch ESP32`
.. |P097_type| replace:: :cyan:`Internal`
Expand Down
4 changes: 4 additions & 0 deletions lib/Adafruit_ILI9341/.gitignore
@@ -0,0 +1,4 @@
# Our handy .gitignore for automation ease
Doxyfile*
doxygen_sqlite3.db
html