Hard Fault while using lv_refr_now()

Hello @kisvegabor
Upon using lv_refr_now() in my application, I’m getting hard fault.
I have captured stack traces for 3 tries.

Find the attached files for your reference.
tft.c (6.9 KB)
tft.h (712 Bytes)
lv_conf.h (25.2 KB)

Also note, I’m using SW rotation using lv_disp_set_rotation(our_disp, LV_DISP_ROT_270);

Keshav Aggarwal


What happens if you set LV_DISP_ROT_MAX_BUF 4*1024?

Currently it’s set to 20*1024, you want to try with 4*1024?

With 4*1024, It stucks here.

Hello @kisvegabor. Any update here?

It seems you don’t call lv_disp_flush_ready. Could you check it?

I checked, its already being called in DMA_TransferComplete() Callback. Do I still need to call it?
Actually, I have already used this function earlier in another project but without software rotation and worked fine.

Nope, it’s enough to call it once. I was asking because on the last screen shot it was waiting for this function to be called. But maybe it was just a coincidence.

Anyway, it seems like like something is really wrong with software rotation. Can you reproduce the issue in a simulator?

Actually, I directly test GUI on a STM32 hardware and currently won’t be able to try it on a simulator due to the hectic schedule. It’ll be better for me to work around on a hardware.
And let me know If any other input is needed.

1 Like

@kisvegabor still waiting for its fix.

To move forward it would be required to reproduce it in the simulator. Did you have time for it?