8 Replies
Add more context so someone else can help you while I can’t
To the description
Bye 👋
(Basically he/she/them needs help booking up an currently unknown display to an ESP32S3)


Can you send code and display driver
ok hang on
main ino is this:
#include "LGFX_Config.hpp"
LGFX_ILI9341_Par8 gfx;
void setup() {
pinMode(TFT_RST, OUTPUT); digitalWrite(TFT_RST, LOW); delay(10); digitalWrite(TFT_RST, HIGH); delay(120); gfx.init(); gfx.setRotation(1); gfx.fillScreen(TFT_BLACK); gfx.fillRect(100, 80, 80, 80, TFT_RED); //red box } void loop() {} and the LGFX_Config.hpp is this: #pragma once #include <LovyanGFX.hpp> #define REVERSE_DATA_BUS 0
#define USE_CS_PIN 0
// pin map static constexpr int TFT_WR = 12;
static constexpr int TFT_RS = 14;
static constexpr int TFT_RST = 17;
static constexpr int TFT_CS = 16;
static constexpr int D0 = 6; static constexpr int D1 = 7; static constexpr int D2 = 8; static constexpr int D3 = 9; static constexpr int D4 = 10; static constexpr int D5 = 11; static constexpr int D6 = 13; static constexpr int D7 = 15; struct LGFX_ILI9341_Par8 : public lgfx::LGFX_Device { lgfx::Panel_ILI9341 panel; lgfx::Bus_Parallel8 bus; LGFX_ILI9341_Par8() {
auto b = bus.config(); b.port = 0;
b.pin_wr = TFT_WR; b.pin_rd = -1; // RD tied to 3.3v b.pin_rs = TFT_RS;
#if REVERSE_DATA_BUS b.pin_d0 = D7; b.pin_d1 = D6; b.pin_d2 = D5; b.pin_d3 = D4; b.pin_d4 = D3; b.pin_d5 = D2; b.pin_d6 = D1; b.pin_d7 = D0; #else b.pin_d0 = D0; b.pin_d1 = D1; b.pin_d2 = D2; b.pin_d3 = D3; b.pin_d4 = D4; b.pin_d5 = D5; b.pin_d6 = D6; b.pin_d7 = D7; #endif b.freq_write = 8000000; //change when the damn screen works bus.config(b); panel.setBus(&bus); auto p = panel.config(); #if USE_CS_PIN p.pin_cs = TFT_CS; #else p.pin_cs = -1;
#endif p.pin_rst = TFT_RST; p.pin_busy = -1; p.panel_width = 240;
p.panel_height = 320; p.memory_width = 240; p.memory_height = 320; p.readable = false; p.invert = false;
p.rgb_order = false;
p.dlen_16bit = true; p.bus_shared = false; panel.config(p); setPanel(&panel); } }; the display driver is ILI9341 @AARAVmakes yo you there?
pinMode(TFT_RST, OUTPUT); digitalWrite(TFT_RST, LOW); delay(10); digitalWrite(TFT_RST, HIGH); delay(120); gfx.init(); gfx.setRotation(1); gfx.fillScreen(TFT_BLACK); gfx.fillRect(100, 80, 80, 80, TFT_RED); //red box } void loop() {} and the LGFX_Config.hpp is this: #pragma once #include <LovyanGFX.hpp> #define REVERSE_DATA_BUS 0
#define USE_CS_PIN 0
// pin map static constexpr int TFT_WR = 12;
static constexpr int TFT_RS = 14;
static constexpr int TFT_RST = 17;
static constexpr int TFT_CS = 16;
static constexpr int D0 = 6; static constexpr int D1 = 7; static constexpr int D2 = 8; static constexpr int D3 = 9; static constexpr int D4 = 10; static constexpr int D5 = 11; static constexpr int D6 = 13; static constexpr int D7 = 15; struct LGFX_ILI9341_Par8 : public lgfx::LGFX_Device { lgfx::Panel_ILI9341 panel; lgfx::Bus_Parallel8 bus; LGFX_ILI9341_Par8() {
auto b = bus.config(); b.port = 0;
b.pin_wr = TFT_WR; b.pin_rd = -1; // RD tied to 3.3v b.pin_rs = TFT_RS;
#if REVERSE_DATA_BUS b.pin_d0 = D7; b.pin_d1 = D6; b.pin_d2 = D5; b.pin_d3 = D4; b.pin_d4 = D3; b.pin_d5 = D2; b.pin_d6 = D1; b.pin_d7 = D0; #else b.pin_d0 = D0; b.pin_d1 = D1; b.pin_d2 = D2; b.pin_d3 = D3; b.pin_d4 = D4; b.pin_d5 = D5; b.pin_d6 = D6; b.pin_d7 = D7; #endif b.freq_write = 8000000; //change when the damn screen works bus.config(b); panel.setBus(&bus); auto p = panel.config(); #if USE_CS_PIN p.pin_cs = TFT_CS; #else p.pin_cs = -1;
#endif p.pin_rst = TFT_RST; p.pin_busy = -1; p.panel_width = 240;
p.panel_height = 320; p.memory_width = 240; p.memory_height = 320; p.readable = false; p.invert = false;
p.rgb_order = false;
p.dlen_16bit = true; p.bus_shared = false; panel.config(p); setPanel(&panel); } }; the display driver is ILI9341 @AARAVmakes yo you there?
When' its your day it's my night 😂
Thats midnight for me
Oof sorry my bad
I gtg to school now
Alright