LVGL+RZV2L+ 1024x600 TFT LCD Display with capacitive touch panel+Touch Screen Controller_FT5406

Hello Everyone,

I am totally new to LVGL. I started working on implementation of LVGL on RZV2L board. Started with cloning GitHub repo. ( downloaded submodules (`git submodule update --init --recursive)), I got Main.c and some demo. For my project I am using 1024x600 TFT LCD (FT5406 touch controller). As It is said that demo_widget is fully responsive but when I build executable file and run it on board, the buttons and user name (all the textarea and responsive widgets) are not active.

I did some changes in main.c file where display driver are initialised.
changes are as below.

#include “lv_drivers/indev/evdev.h”
++ #include “lv_drivers/indev/FT5406EE8.h”

– evdev_init();
++ ft5406ee8_init();

–indev_drv.read_cb = evdev_read;
++ indev_drv.read_cb = ft5406ee8_read;

++ lv_demo_widgets();

But it is throwing error main.c:48: undefined reference to `ft5406ee8_read’
collect2: error: ld returned 1 exit status
For downloading repository, I used command:
$ git clone GitHub - lvgl/lv_port_linux_frame_buffer: LVGL configured to work with a standard Linux framebuffer
$ cd lv_port_linux_frame_buffer
$ git checkout 1334a3a54befaef2a7b7f67cb89e1b43224a611c

Please provide me solution. I am not able to use touch panel.

Hi,

Have you enabled the ft5406ee8 driver in lv_drv_conf.h?

Hi,

Yes I enabled it in lv_drv_conf.h

/*-----------------
*FT5406EE8
-----------------/
#ifndef USE_FT5406EE8
#define USE_FT5406EE8 1
#endif

#if USE_FT5406EE8
#define FT5406EE8_I2C_ADR 0x38 /7 bit address/
#endif

Do I need to change anything else, like in main.c?

/*indev_drv.read_cb = evdev_read; */
indev_drv.read_cb=ft5406ee8_read;
indev_mouse = lv_indev_drv_register(&indev_drv);
lv_obj_t * mouse_cursor = lv_img_create(lv_scr_act());
lv_img_set_src(mouse_cursor, LV_SYMBOL_PLUS);
lv_indev_set_cursor(indev_mouse, mouse_cursor);

Is this correct?

Thank you,

Now it is not throwing error, but touch is not funtional.

Unfortunately I can’t much with it remotely. :frowning:
A logic analyzer can be useful to see what’s going on on the bus.

Disabling of evdev is correct?

Yes, as if you are using an FTxxx chip, you need to enable only its driver.