Giter Club home page Giter Club logo

Comments (7)

ImpulseAdventure avatar ImpulseAdventure commented on May 22, 2024

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.

rtwfroody avatar rtwfroody commented on May 22, 2024

I'm excited to try this. Hopefully I'll have time tonight.

from guislice.

rtwfroody avatar rtwfroody commented on May 22, 2024

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.

ImpulseAdventure avatar ImpulseAdventure commented on May 22, 2024

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.

Bodmer avatar Bodmer commented on May 22, 2024

Hi, try switching on transaction support in the TFT_eSPI library setup file by removing //.

from guislice.

ImpulseAdventure avatar ImpulseAdventure commented on May 22, 2024

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.

ImpulseAdventure avatar ImpulseAdventure commented on May 22, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.