GithubHelp home page GithubHelp logo

Comments (11)

eddeyonline avatar eddeyonline commented on June 11, 2024 1

It needs to be modified in the instructions in readme.md under the subheading:
"Install this project as a library submodule in your own project"

There it states:
The project root CMakeLists.txt file needs one line added, just before the project to add the extra components directory to the path like this:

#CMakeLists.txt
cmake_minimum_required(VERSION 3.5)

include($ENV{IDF_PATH}/tools/cmake/project.cmake)

set(EXTRA_COMPONENT_DIRS externals/lv_port_esp32/components)

project(blink)

But I found I needed to add the following:

set(EXTRA_COMPONENT_DIRS externals/lv_port_esp32/components externals/lv_port_esp32/components/lvgl_esp32_drivers externals/lv_port_esp32/components/lvgl_esp32_drivers/lvgl_touch externals/lv_port_esp32/components/lvgl_esp32_drivers/lvgl_tft)

I'm still having other issues trying to work out how to incorporate littlegvl into my own projects...

from lv_port_esp32.

C47D avatar C47D commented on June 11, 2024 1

Sure np problem, I was testing the applications with a ST7789 based display with no touch controller so I didn't tried to run the tpcal application, but I will try with a similar display to yours next weekend (or before if my day job allows it).

I wasn't able to fully understand the terminal application, let me know if I'm wrong but I understand it as it display the data received by the microcontroller via UART?

from lv_port_esp32.

C47D avatar C47D commented on June 11, 2024 1

@eddeyonline just updated the instructions on the README about using this repo on user projects, let me know if it works for you.

from lv_port_esp32.

C47D avatar C47D commented on June 11, 2024

Hi,

Thanks for reporting the issue, they're already added into the CMakeLists.txt in the root of the repo

set(EXTRA_COMPONENT_DIRS components/lvgl_esp32_drivers components/lvgl_esp32_drivers/lvgl_touch components/lvgl_esp32_drivers/lvgl_tft)

Where did you added it?

from lv_port_esp32.

C47D avatar C47D commented on June 11, 2024

Thanks for the clarification, I will update it asap.

Maybe you can try use this as your project template, just configuring it with menuconfig and commenting out the demo_create line on the main.c file.

All the feedback is welcome, we been adding some TFT drivers and touch controllers but I don't have them all to test. What driver are you planning to use?

from lv_port_esp32.

eddeyonline avatar eddeyonline commented on June 11, 2024

Thanks, I'll try commenting out the demo_create line and adding in my own function there.

I'm using a 2.4" 240x320 TFT with an ILI9341 display driver and XPT2046 touch driver, so pretty standard. Using the demo file it worked great. I just needed to make sure I hooked it up as per the readme.md file and deselect "invert Y axis" in menuconfig to get the demo to work perfectly. Thanks for your great work with the library! I'll let you know how I go getting my own code to run.

from lv_port_esp32.

eddeyonline avatar eddeyonline commented on June 11, 2024

I've been trying out a few of the apps and tutorials and have had some success with some and run into issues with others. For all of them I've used the demo template and have changed the include to the appropriate *.h file, changed the name of the function called in app_main() and adjusted the variables in lv_ex_conf as appropriate. I found the following worked fine:

  • demo, with and without slideshow
  • benchmark
  • lv_test_group
  • lv_test_obj

Whichever tutorial I tried to build it failed with the following error:

./components/lv_examples/lv_examples/lv_tutorial/8_animations/lv_tutorial_animations.c:87:6: error: 'lv_anim_t' {aka 'struct _lv_anim_t'} has no member named 'user_data'
a.user_data = NULL;

Commenting out this line resulted in all the tutuorials I tried working fine, though the images one seemed to be missing some source files.

sysmon failed with the following error:
../components/lv_examples/lv_examples/lv_apps/sysmon/sysmon.c: In function 'sysmon_task':
../components/lv_examples/lv_examples/lv_apps/sysmon/sysmon.c:135:13: error: passing argument 1 to restrict-qualified parameter aliases with argument 3 [-Werror=restrict]
sprintf(buf_long, "%s"LV_TXT_COLOR_CMD"%s MEMORY: %d %%"LV_TXT_COLOR_CMD"\n"
^~~~~~~~
../components/lv_examples/lv_examples/lv_apps/sysmon/sysmon.c:140:13:
buf_long,
~~~~~~~~

tpcal failed with following error:
../main/main.c: In function 'app_main':
../main/main.c:115:2: error: implicit declaration of function 'tpcal_create'; did you mean 'lv_arc_create'? [-Werror=implicit-function-declaration]
tpcal_create();
^~~~~~~~~~~~

I double checked ex_conf and the include, so I'm not sure what the issue was here. I got a similar issue with terminal, error message below:

When attempting to use terminal:
../main/main.c: In function 'app_main':
../main/main.c:115:2: error: implicit declaration of function 'terminal_create'; did you mean 'lv_win_create'? [-Werror=implicit-function-declaration]
terminal_create();
^~~~~~~~~~~~~~~

For anyone using the same touchscreen as me, the variables that resulted in the good calibration are as follows:
CONFIG_LVGL_TOUCH_X_MIN=200
CONFIG_LVGL_TOUCH_Y_MIN=120
CONFIG_LVGL_TOUCH_X_MAX=1900
CONFIG_LVGL_TOUCH_Y_MAX=1900
CONFIG_LVGL_TOUCH_INVERT_X=y

CONFIG_LVGL_TOUCH_INVERT_Y is not set

from lv_port_esp32.

C47D avatar C47D commented on June 11, 2024

Thanks for the update, does the tutorial you're following need or is based on a specific version of lvgl? As far as I know the version used in this project is somewhat old. Maybe that's why some lvgl types aren't available.

Whichever tutorial I tried to build it failed with the following error:

./components/lv_examples/lv_examples/lv_tutorial/8_animations/lv_tutorial_animations.c:87:6: error: 'lv_anim_t' {aka 'struct _lv_anim_t'} has no member named 'user_data'
a.user_data = NULL;

Try editing the lv_conf.h file, search for LV_USE_USER_DATA and set it to 1:

/*1: Add a `user_data` to drivers and objects*/
#define LV_USE_USER_DATA        1

sysmon failed with the following error:
../components/lv_examples/lv_examples/lv_apps/sysmon/sysmon.c: In function 'sysmon_task':
../components/lv_examples/lv_examples/lv_apps/sysmon/sysmon.c:135:13: error: passing argument 1 to restrict-qualified parameter aliases with argument 3 [-Werror=restrict]
sprintf(buf_long, "%s"LV_TXT_COLOR_CMD"%s MEMORY: %d %%"LV_TXT_COLOR_CMD"\n"
^~~~~~~~
../components/lv_examples/lv_examples/lv_apps/sysmon/sysmon.c:140:13:
buf_long,

To solve this one i think we should update the lv_examples submodule at least up to this: sysmon: fix spintfs commit.

Will keep finding solutions for the other errors you had.

from lv_port_esp32.

C47D avatar C47D commented on June 11, 2024

With #80 merge you should be able to compile and run the sysmon application, I'm still trying to figure out how to run terminal and tpcal apps.

from lv_port_esp32.

eddeyonline avatar eddeyonline commented on June 11, 2024

from lv_port_esp32.

stale avatar stale commented on June 11, 2024

This issue or pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

from lv_port_esp32.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.