ESP32-S3 16bit parallel support soon? #2984
Answered
by
rolloo
HaenZ33
asked this question in
New processor/display support or capability request
Replies: 3 comments 2 replies
-
#include <Arduino_GFX_Library.h>
#include <TFT_eSPI.h>
Arduino_XCA9554SWSPI *expander = new Arduino_XCA9554SWSPI(
PCA_TFT_RESET, PCA_TFT_CS, PCA_TFT_SCK, PCA_TFT_MOSI,
&Wire, 0x3F);
Arduino_ESP32RGBPanel *rgbpanel = new Arduino_ESP32RGBPanel(
TFT_DE, TFT_VSYNC, TFT_HSYNC, TFT_PCLK,
TFT_R1, TFT_R2, TFT_R3, TFT_R4, TFT_R5,
TFT_G0, TFT_G1, TFT_G2, TFT_G3, TFT_G4, TFT_G5,
TFT_B1, TFT_B2, TFT_B3, TFT_B4, TFT_B5,
1 /* hync_polarity */, 46 /* hsync_front_porch */, 2 /* hsync_pulse_width */, 44 /* hsync_back_porch */,
1 /* vsync_polarity */, 50 /* vsync_front_porch */, 16 /* vsync_pulse_width */, 16 /* vsync_back_porch */);
Arduino_RGB_Display *gfx = new Arduino_RGB_Display(
720 /* width */, 720 /* height */, rgbpanel, 0 /* rotation */, true /* auto_flush */,
expander, GFX_NOT_DEFINED /* RST */, hd40015c40_init_operations, sizeof(hd40015c40_init_operations));
TFT_eSPI tft = TFT_eSPI();
TFT_eSprite sprite = TFT_eSprite(&tft);
int rotation = 0;
unsigned int currentmillis = 0;
void setup(void) {
sprite.createSprite(600, 600);
#ifdef GFX_EXTRA_PRE_INIT
GFX_EXTRA_PRE_INIT();
#endif
if (!gfx->begin()) {
Serial.println("gfx->begin() failed!");
}
gfx->fillScreen(BLUE);
}
void loop() {
currentmillis = millis();
generatearc();
}
void generatearc() {
static int arcmillis = 0;
static int enddegree = 0;
if (currentmillis - arcmillis > 200) {
arcmillis = currentmillis;
enddegree = enddegree + 5;
if (enddegree >= 360) {
enddegree = 0;
}
sprite.fillSprite(TFT_BLACK);
sprite.drawSmoothArc(300, 300, 290, 280, 0, enddegree, TFT_RED, TFT_BLACK);
sprite.drawSmoothArc(300, 300, 270, 260, 90, enddegree, TFT_WHITE, TFT_BLACK);
sprite.drawSmoothArc(300, 300, 250, 240, 180, enddegree, TFT_ORANGE, TFT_BLACK);
sprite.drawSmoothArc(300, 300, 230, 220, 270, enddegree, TFT_GREEN, TFT_BLACK);
sprite.drawSmoothArc(300, 300, 210, 200, 360, enddegree, TFT_BLUE, TFT_BLACK);
gfx->draw16bitBeRGBBitmap(60, 60, (uint16_t *)sprite.getPointer(), 600, 600);
}
}
|
Beta Was this translation helpful? Give feedback.
2 replies
Answer selected by
HaenZ33
-
Hi all. |
Beta Was this translation helpful? Give feedback.
0 replies
-
Hi all. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hello everyone, and greetings Bodmer,
I'm reaching out to seek assistance for my setup involving the ESP32-S3 board,
specifically the Adafruit Qualia https://learn.adafruit.com/adafruit-qualia-esp32-s3-for-rgb666-displays
and a 720x720 display with the ST7701S driver https://www.adafruit.com/product/5793.
Adafruit has provided a demo sketch utilizing the Arduino_GFX_library, which functions well with static images. However, it encounters significant issues with moving parts, and unfortunately, no one seems to have a solution for this.
Given my positive experiences with the tft_eSPI library on other displays and setups, and my appreciation for the work you are doing, I am curious if there is a possibility of incorporating 16-bit interface support in the near future?
I appreciate any response. Thanks,
HaenZ
Beta Was this translation helpful? Give feedback.
All reactions