Comments (7)
Tim - changes have been made but not tested on the ESP8266 yet. GUIslice should now support both STMPE610 and FT6206 touch drivers in the TFT_eSPI display mode. Let me know if you find an opportunity to give it a try. Thanks!
from guislice.
I'm excited to try this. Hopefully I'll have time tonight.
from guislice.
It's not working for me. I can use:
#define DRV_DISP_TFT_ESPI // Arduino: Bodmer/TFT_eSPI library
#define DRV_TOUCH_NONE // No touchscreen support
and observe that the screen is drawn much faster than with the Adafruit library.
If I switch to:
#define DRV_DISP_TFT_ESPI // Arduino: Bodmer/TFT_eSPI library
#define DRV_TOUCH_ADA_STMPE610 // Arduino: Use Adafruit STMPE610 touch driver
then it resets several times. (I can tell by some WiFi debugging I have going on.) Eventually it seems to work, but now clearing a widget (gslc_DrawFillRect(pGui, pElem->rElem, GSLC_COL_BLACK);
) is really slow. Switching pages is also really slow.
I assume the initial resets are because of accessing uninitialized memory. (Could be my bug or yours.)
I assume the very slow drawing might be due to the touch code changing the SPI speed from whatever the display code set it to.
This works fine:
#define DRV_DISP_ADAGFX // Arduino: Adafruit-GFX library
#define DRV_TOUCH_ADA_STMPE610 // Arduino: Use Adafruit STMPE610 touch driver
from guislice.
Thanks Tim for giving this a try! I now understand why you were mentioning DRV_DISP_ADAGFX
. I don't have a good setup to test GUIslice using TFT_eSPI on the ESP8266 with a STMPE610 -- I might see if I can cobble together a 2.8" TFT shield to test but may not get to it for a little bit.
In the meantime, have you managed to use the TFT_eSPI library's example code successfully with the Adafruit STMPE610 driver? It may be simplest for us to rule out any conflicts there before we add in the GUIslice layer.
@Bodmer: are you aware of any challenges we may face when running TFT_eSPI with the Adafruit STMPE610 touch driver?
Thanks!
from guislice.
Hi, try switching on transaction support in the TFT_eSPI library setup file by removing //.
from guislice.
Thanks @Bodmer, that appears to be it! (I had originally assumed that the STMPE610 would be running in I2C mode so didn't consider the potential for SPI conflict. After digging further I see that the STMPE610 was instead running in SPI mode)
I recreated the issue in a Adafruit 2.8" TFT touchscreen with ESP-12E using TFT_eSPI + Adafruit STMPE610. After making the change to uncomment #define SUPPORT_TRANSACTIONS
in TFT_eSPI's User_setup.h
, I no longer observed the performance impact.
Also, @rtwfroody, there were some memory access issues in the simplified Arduino examples that I have now fixed in 30fb3f8 so you may want to update your code if you were based upon those.
Hope that helps!
from guislice.
With the changes including the recommendation for SUPPORT_TRANSACTIONS
in TFT_eSPI and an adjustment to the main loop touch polling rate (commit 084f5b5), I believe a number of the original issues may have been addressed.
I have been successfully testing ESP-12E / ESP8266 with an ILI9341 display and STMPE610 touch controller. @rtwfroody -- please feel free to open a new issue if you still observe outstanding problems with the latest release.
Thanks!
from guislice.
Related Issues (20)
- Fatal Error has occurred. HOT 7
- Feature Request: beautify widgets
- Is this project still maintained? HOT 3
- Image redraw and text flicker - TFT_eSPI/ESP32/ILI9488 HOT 2
- Compiling on arduino IDE HOT 1
- Touch IRQ (STMPE610) HOT 2
- Detect a button press in a while loop HOT 15
- Provide global interceptor for touch events HOT 3
- Creating Element Alias for Toggle Button - Compile Error HOT 6
- Add-st7789-support HOT 1
- Custom BMP wont load on ILI9341 ft6206 HOT 2
- gslc_SetPageCur does not work reliably HOT 4
- Flipped X and Y coordinates HOT 2
- Config file for ESP32 / ILI9488 / GT911 capacitive touchscreen using TFT_eSPI library HOT 1
- Arduino 1.8.19, Ubuntu 22/04, On compile: "fatal error: SDL/SDL.h: No such file" HOT 1
- Elegoo 2.8 TFT Shield config issues HOT 1
- Arduino HOT 1
- GUIslice_drv_adagfx.cpp is missing button support for Adafruit 1.8" TFT Shield with Joystick (code in description) HOT 5
- Pico W on TFT ILI9486 No TouchParallel with TFT_eSPI HOT 7
- Arduino UNO R3 + Waveshare 2.8 TFT Touch Screen result in error: 'HX8347D_kbv' HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from guislice.