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
TD-er
merged 68 commits into
letscontrolit:mega
from
tonhuisman:feature/P095-add-extra-display-types
Aug 10, 2022
Merged
[P095] Add support for extra TFT displays (ILI934x/ILI948x) #3903
TD-er
merged 68 commits into
letscontrolit:mega
from
tonhuisman:feature/P095-add-extra-display-types
Aug 10, 2022
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…feature/P095-add-extra-display-types
…feature/P095-add-extra-display-types
…feature/P095-add-extra-display-types
…feature/P095-add-extra-display-types
…feature/P095-add-extra-display-types
…feature/P095-add-extra-display-types
TD-er
reviewed
Feb 11, 2022
…feature/P095-add-extra-display-types
27 tasks
…feature/P095-add-extra-display-types
TD-er
reviewed
Feb 19, 2022
…feature/P095-add-extra-display-types
TD-er
reviewed
Apr 2, 2022
TD-er
reviewed
Apr 2, 2022
…feature/P095-add-extra-display-types
(cherry picked from commit e897a33)
…feature/P095-add-extra-display-types
…feature/P095-add-extra-display-types
29 tasks
…feature/P095-add-extra-display-types
…feature/P095-add-extra-display-types
…feature/P095-add-extra-display-types
…owed from TFT_eSPI)
…feature/P095-add-extra-display-types
(cherry picked from commit acd3c50)
(cherry picked from commit bc5d839)
…feature/P095-add-extra-display-types
….com/tonhuisman/ESPEasy-1 into feature/P095-add-extra-display-types
…feature/P095-add-extra-display-types
….com/tonhuisman/ESPEasy-1 into feature/P095-add-extra-display-types
…feature/P095-add-extra-display-types
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
On request via multiple channels (Forum req 1, forum req 2, PM) I have done some investigation and found that the displays mentioned here all are quite similar, except for the initialization and rotation support. As the initialization for the Adafruit_ILI9341 library is very structured and can easily be extended, I've added these display models to the base support for ILI9341 (that also should work with ILI9340):
Skipped for now, because these type only seem to be available in 8 bit parallel (DMA) interface, not in regular SPI:
This includes a modified version of the Adafruit_ILI9341 library, where I added the specific Initialization and Rotation handling.
Adapted initialization/rotation is based on the famous Bodmer TFT_eSPI library, that supports many displays, but isn't very well suited to include in ESPEasy, because of the conditional compilation required.
NB: Original development was done in combination with P116 and the AdaGFX_Helper module, but I created a separate PR to improve testability, so those parts are not included here.
NB2: Touch support is usually by an XPT2046 driver, that is already supported by ESPEasy via plugin P099, other touch drivers is being worked on, like the FT62x6 in planned plugin P123. Also, support for GT911/GT9110 touch driver has been planned, no plugin ID reserved yet.
TODO:
(may be postponed until the PR for plugin P116 is merged, as there I've already created documentation for this plugin)(to avoid regression errors, tested locally already, confirmation requested)if availableSeems to only be available in 8 bit parallel versions, not in regular SPI, ignored for now)if availableSeems to only be available in 8 bit parallel versions, not in regular SPI, ignored for now)tft,txtfull...
command)When testing, please pay attention to the Rotation setting & command (
tft,rot,<0..3>
), they should work as advertised, or else a bug crept in 😮 (exception: ILI9481, see above)Resolves #4060