Trouble Trying to Understand Config and 16bit CS line #607
anatoli-dp
started this conversation in
Device Configurations
Replies: 1 comment 3 replies
-
hi,
{
auto cfg = _panel_instance.config();
cfg.pin_cs = TFT_CS;
cfg.pin_rst = TFT_RST;
cfg.pin_busy = -1;
cfg.offset_rotation = 0;
cfg.readable = true;
cfg.invert = false;
cfg.rgb_order = false;
cfg.dlen_16bit = true;
cfg.bus_shared = false;
_panel_instance.config(cfg);
}
// either do this
cfg.pin_ctrl = { TFT_RD, TFT_WR, TFT_RS };
// or do this
cfg_pin_rd = TFT_RD;
cfg_pin_wr = TFT_WR;
cfg_pin_rs = TFT_RS;
yes it does it transparently |
Beta Was this translation helpful? Give feedback.
3 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hello all, I am working on a custom game console (BitByte Handheld Console if u wanna google it) and am working on a revision to interface an esp32s3 as a dedicated "gpu" to an ili9341 display. I want to try lovyangfx as I understand it supports 16bit parallel and ili9341 displays (have previously using TFT_eSPI before but it only supports 8bit parallel). I am having trouble understanding the configuration that is needed so that I can properly break out and route signals between the display and esp32s3.
The display being used -> https://www.alibaba.com/product-detail/2-8-inch-TFT-LCD-Screen_1600246407796.html (can also be found in adafruit stores as https://www.adafruit.com/product/2770)
The datasheet for the display being used -> https://cdn-shop.adafruit.com/product-files/2770/SPEC-CH280QV10-CT_Rev.D.pdf
My current pinout
Now for the issue . . . Please note a lot of this is an educated guess as I am trying to understand the lovyan config so i can wire the board correctly in order to use it
In setup i would add
now the display in question also has a chip select which shows is used according to the datasheet
38 /CS Chip select input pin (“Low” enable) in MPU I/F and SPI I/F
does ili9341 use a chip select in 16bit parallel? If so what would it fall under for the config parameter? (asking this as previously only ever used spi and u had to have a chip select so unsure about 16 parallel)
and if not do I just ground the pin so it is always "active" or does 16bit not matter the state of cs and i can just leave it unconnected
is "int8_t pin_ctrl[3] = { -1, -1, -1 };" something that is needed to be set manually or is this just a holder for something the library does? If it is manually set what are the control pins?
lovyan shows esp32s3 has 16bit hardware support though i thought it had to be done in software (as referenced by bodmer in a TFT_eSPI discussion surrounding 8bit clock speeds), so since it has hardware support is everything routed through the gpio mux or are there better defined pins for the output that are more "optimized" in regards to direct register mutation/io mux ecluded?
and lastly before i hardwire all this in does lovyan support pushing images from psram? This is just needed to determine if i set IO 35, 36, and 37 as the module has octal psram which i would love to try the higher clock frequency but if not supported then me using those pins for a more optimized layout is more valuable to me than having the higher speed that was introduced in idf 5 so very important to know before i make the board for routing
sorry for the questions and if they seem stupid, im just very slow at understanding things . . . and if u can help with the CS pin question especially regarding the display datasheet that would also be helpful as I am just unsure about that line if its not SPI (not that u have to since obviously that is more of a hardware question than library specific)
Thanks if you do decide to answer this
Beta Was this translation helpful? Give feedback.
All reactions