项目目录:
问题描述:
如何移植 lvgl/lv_demos 并使用
本教程是在1.ESP32c3 移植lvgl核心组件教程的基础上完成的!
新建一个文件夹
在components下新建一个lv_examples文件夹
进入lv_examples,克隆lvgl/lv_demos的例程下来
git clone https://github.com/lvgl/lv_demos.git
并且lv_examples里增加三个文件
CMakeLists.txt
component.mk
lv_demo_conf.h (复制lv_demo_conf_template.h重命名)
CMakeLists.txt 修改为以下内容
if(ESP_PLATFORM)
file(GLOB_RECURSE SOURCES lv_demos/*.c)
idf_component_register(SRCS ${SOURCES}
INCLUDE_DIRS .
REQUIRES lvgl)
endif()
component.mk 修改为以下内容
#
# Component Makefile
#
CFLAGS += -DLV_CONF_INCLUDE_SIMPLE
COMPONENT_SRCDIRS := lv_demos \
lv_demos/src/lv_demo_benchmark \
lv_demos/src/lv_demo_keypad_encoder \
lv_demos/src/demo_stress \
lv_demos/src/lv_demo_widgets \
lv_demos/src/lv_ex_style \
lv_demos/src/lv_ex_widgets \
lv_demos/src/lv_ex_music \
lv_demos/assets
COMPONENT_ADD_INCLUDEDIRS := $(COMPONENT_SRCDIRS) .
lv_demo_conf.h想打开什么例程,就将宏定义为1
下面我打开音乐播放器的演示为例
/**
* @file lv_demo_conf.h
* Configuration file for v8.1.1-dev
*
*/
/*
* COPY THIS FILE AS lv_demo_conf.h
*/
/* clang-format off */
#if 1 /*Set it to "1" to enable the content*/
#ifndef LV_DEMO_CONF_H
#define LV_DEMO_CONF_H
/*******************
* GENERAL SETTING
*******************/
#define LV_EX_PRINTF 0 /*Enable printf-ing data in demoes and examples*/
#define LV_EX_KEYBOARD 0 /*Add PC keyboard support to some examples (`lv_drivers` repository is required)*/
#define LV_EX_MOUSEWHEEL 0 /*Add 'encoder' (mouse wheel) support to some examples (`lv_drivers` repository is required)*/
/*********************
* DEMO USAGE
*********************/
/*Show some widget*/
#define LV_USE_DEMO_WIDGETS 0
#if LV_USE_DEMO_WIDGETS
#define LV_DEMO_WIDGETS_SLIDESHOW 0
#endif
/*Printer demo, optimized for 800x480*/
#define LV_USE_DEMO_PRINTER 0
/*Demonstrate the usage of encoder and keyboard*/
#define LV_USE_DEMO_KEYPAD_AND_ENCODER 0
/*Benchmark your system*/
#define LV_USE_DEMO_BENCHMARK 0
/*Stress test for LVGL*/
#define LV_USE_DEMO_STRESS 0
/*Music player demo*/
#define LV_USE_DEMO_MUSIC 1
#if LV_USE_DEMO_MUSIC
# define LV_DEMO_MUSIC_SQUARE 1
# define LV_DEMO_MUSIC_LANDSCAPE 0
# define LV_DEMO_MUSIC_ROUND 0
# define LV_DEMO_MUSIC_LARGE 0
# define LV_DEMO_MUSIC_AUTO_PLAY 1
#endif
#endif /*LV_DEMO_CONF_H*/
#endif /*End of "Content enable"*/