Replies: 2 comments 4 replies
-
Using the setup as per UPDATE2, I'm able to send a 240x240 buffer via DMA in a simple code
MISO (alternatively define I now face another problem in the main code:
the EXCVADRR value suggests a NULL pointer in a struct, which I suspect being UPDATE: |
Beta Was this translation helpful? Give feedback.
-
Can you clarify? So you are not specifying HSPI? Everything I read says you need to do this, and indeed, unless I do, I get the commonly reported crash. How did you get it to work without defining HSPI? Looking at the code, if you do #define USE_HSPI_PORT It results in using #define SPI_PORT 3 //HSPI is port 3 on ESP32 S2 Is this what you are using? I can't get my S3 devkit to do DMA, although the non-DMA call works fine. I used the same pins as you and as listed in the Espressif S3 documentation. I still get the single frame and then freeze. Pin Name | GPIO Number (SPI2) CS0 1 | 10 |
Beta Was this translation helpful? Give feedback.
-
I only recently come to know about this section of issues/discusson for TFT_eSPI library😂 sorry for my blindess. Getting to the problem (repost of #3414)
IDE: PlatformIO
Library: bodmer/TFT_eSPI@^2.5.43
MCU: ESP32-S3-WROOM-1 N8R8
TFT Driver: ST7789 - SPI (SCK, SDA, RES, DC)
I am trying to use the pushImageDMA() method to achieve faster refreshrate on a ST7789 display, without MISO and CS pin (link to aliexpress). DMA initialization is ok, but any update to the screen is not sent (no fillScreen, no pushImageDMA, not print, ecc), just the last frame is showed.
Wiring: (it is a custom board from another project, I connected spare pins exposed)
TFT_MOSI 18
TFT_SCLK 17
TFT_DC 2
TFT_RST 1
TFT config:
Setup before DMA push:
Push in loop function: (this function runs on a parallel thread, priority 2)
I get a refresh times of around 80ms (12 FPS) for 240x240 16bit images, I was aiming on improving them (the code is a fork of GBCCAT, ported to PlatformIO + TFT_eSPI library)
UPDATE:
With some code tinkering I improved the rendering times to 45ms (~22 FPS) witout DMA. The code is similar to the one above tho.
I should add that in the meantime I tried some examples from DMA folder and got no results still. I'm waiting for a devkit with ESP32-WROOM-1 MCU to arrive, to test wether the pin configuration is off
UPDATE 2:
I got hands on a ESP32-S3-DevKit-C1 like board to further test on pin mapping
using this setup, with no interface specified (should fall back to VSPI which should be FSPI in S3). I still get the screen freezing to last pushed frame
Beta Was this translation helpful? Give feedback.
All reactions