norzam / esp32-micropython-lvgl-ili9488

lvgl micropython esp32 ili9488
17 stars 1 forks source link

RuntimeError: Not enough DMA-able memory to allocate display buffer #1

Open Sadudu opened 2 years ago

Sadudu commented 2 years ago

Hello

I am using lvgl-ili9488 now. but I meet a question, it shows "RuntimeError: Not enough DMA-able memory to allocate display buffer".

So I want to ask what esp32-board are you using? I am using a generic board with 4M FLASH and no extern RAM.

Thanks.

norzam commented 2 years ago

Hi,

I am currently using TTGO ESP32-WROVER-B T8 V1.8 with 4M Flash and 8M PSRAM.

JGAguado commented 2 years ago

Hi, I am getting the same error with my board: https://www.makerfabs.com/esp32-3.5-inch-tft-touch-capacitive-with-camera.html

Sadudu commented 2 years ago

Hi, I am getting the same error with my board: https://www.makerfabs.com/esp32-3.5-inch-tft-touch-capacitive-with-camera.html

I have solved the problem. Here is my configure code.

disp = ili9488(miso=5, mosi=18, clk=19, cs=13, dc=12, rst=4, power=14, backlight=-1, backlight_on=0,spihost=esp.HSPI_HOST,mhz=60,factor=16,rot=0x20,width=480, height=320,double_buffer=True,half_duplex=False,invert=False)

You can try it.

Besides, ili9488 can only run once after reboot. If you run disp = ili9488(...) more than once, it must show the error 'fail to initialize spi bus' or 'No enough DMA-able menory...'. I have tried many ways to solve this problem, but all failed.

So, please reboot before runing the code which contains 'disp = ili9488(...)'

JGAguado commented 2 years ago

Thanks! With this current config works now fine:

disp = ili9488(miso=12, mosi=13, clk=14, cs=15, dc=33, rst=-1, power=-1, backlight=-1, backlight_on=0, power_on=0, rot=0x20, mhz=60, factor=16, hybrid=True, width=480, height=320, invert=False, double_buffer=True, half_duplex=True)