|
Post by tftlcdcyg on Jun 4, 2021 18:04:47 GMT -8
With the current library capabilities, is it possible to upload 1920x480, 1440x540, 1280x800 or 1024x600 pixel images? I ask this because I have been able to find out that it is feasible to upload 798x598 px images on an FT813 screen or a BT817 screen. This is the image: Using the instructions: GD.cmd_loadimage (0, 0); GD.load ("wrc.jpg"); Beyond 800 px the image does not display correctly on the TFT.
|
|
|
Post by jamesbowman on Jun 5, 2021 7:29:46 GMT -8
One limit is the amount of display RAM available. It is 1Mbyte total, and each pixel takes 2 bytes. So: - 798 * 598 * 2 = 954408 ... does fit in RAM, just
- 1920 * 480 * 2 ... does not fit in RAM
- etc.
To display higher-resolution images you can use the ASTC formats. These compressed formats squeeze pixels into a few bits. However to use them you will need to use a PC-based converter; they cannot be loaded from images by the EVE hardware. gd3asset supports the ASTC formats, if you have the astcenc encoder installed: github.com/ARM-software/astc-encoder
|
|
|
Post by tftlcdcyg on Jun 5, 2021 20:11:23 GMT -8
Great James !. You're right, I ignored the GRAM memory usage due to the storage space of each pixel. Will you have an example to explore with gd3asset and the astc-encoder? I find that gd3asset is a pretty cool tool.
|
|
|
Post by jamesbowman on Jun 6, 2021 9:51:44 GMT -8
|
|
|
Post by tftlcdcyg on Jun 7, 2021 4:19:34 GMT -8
Thanks James, as soon as possible I will try to follow the steps with ASTC.
By the way, the 5" Riverdi EVE4 FT817 TFT (RVT50HQBNWC00) works very well, even the new touch chip that was implemented in these ILITEK ILI2132A displays, responds to the touch control implemented in the library.
You just have to connect the PD pin (with the teensy 4, I used the pin 24), adding a "power on reset" inside the wiring file:
class GDTransport { private: byte cs; byte model; public: void begin0 (int _cs = CS) {
if (SizeFT813 == 54) {// BT817 chip pinMode (POR_PIN, OUTPUT); digitalWrite (POR_PIN, HIGH); delay (100); } ...
|
|