Merge pull request #4 from iggysha/feature/port-to-v7.11.0

Port to v7.11.0
This commit is contained in:
microwavesafe 2021-06-16 12:08:53 +01:00 committed by GitHub
commit cd1ae347e8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 108 additions and 65 deletions

View File

@ -1,6 +1,6 @@
/** /**
* @file lv_conf.h * @file lv_conf.h
* Configuration file for v7.7.0-dev * Configuration file for v7.11.0
*/ */
/* /*
@ -69,6 +69,9 @@
/* Type of coordinates. Should be `int16_t` (or `int32_t` for extreme cases) */ /* Type of coordinates. Should be `int16_t` (or `int32_t` for extreme cases) */
typedef int16_t lv_coord_t; typedef int16_t lv_coord_t;
/* Maximum buffer size to allocate for rotation. Only used if software rotation is enabled. */
#define LV_DISP_ROT_MAX_BUF (10U * 1024U)
/*========================= /*=========================
Memory manager settings Memory manager settings
*=========================*/ *=========================*/
@ -80,9 +83,9 @@ typedef int16_t lv_coord_t;
#define LV_MEM_CUSTOM 0 #define LV_MEM_CUSTOM 0
#if LV_MEM_CUSTOM == 0 #if LV_MEM_CUSTOM == 0
/* Size of the memory used by `lv_mem_alloc` in bytes (>= 2kB)*/ /* Size of the memory used by `lv_mem_alloc` in bytes (>= 2kB)*/
# define LV_MEM_SIZE (256 * 1024) # define LV_MEM_SIZE (256U * 1024U)
/* Complier prefix for a big array declaration */ /* Compiler prefix for a big array declaration */
# define LV_MEM_ATTR # define LV_MEM_ATTR
/* Set an address for the memory pool instead of allocating it as an array. /* Set an address for the memory pool instead of allocating it as an array.
@ -127,14 +130,13 @@ typedef int16_t lv_coord_t;
#define LV_INDEV_DEF_DRAG_THROW 10 #define LV_INDEV_DEF_DRAG_THROW 10
/* Long press time in milliseconds. /* Long press time in milliseconds.
* Time to send `LV_EVENT_LONG_PRESSSED`) */ * Time to send `LV_EVENT_LONG_PRESSED`) */
#define LV_INDEV_DEF_LONG_PRESS_TIME 400 #define LV_INDEV_DEF_LONG_PRESS_TIME 400
/* Repeated trigger period in long press [ms] /* Repeated trigger period in long press [ms]
* Time between `LV_EVENT_LONG_PRESSED_REPEAT */ * Time between `LV_EVENT_LONG_PRESSED_REPEAT */
#define LV_INDEV_DEF_LONG_PRESS_REP_TIME 100 #define LV_INDEV_DEF_LONG_PRESS_REP_TIME 100
/* Gesture threshold in pixels */ /* Gesture threshold in pixels */
#define LV_INDEV_DEF_GESTURE_LIMIT 50 #define LV_INDEV_DEF_GESTURE_LIMIT 50
@ -240,7 +242,7 @@ typedef void * lv_fs_drv_user_data_t;
* (I.e. no new image decoder is added) * (I.e. no new image decoder is added)
* With complex image decoders (e.g. PNG or JPG) caching can save the continuous open/decode of images. * With complex image decoders (e.g. PNG or JPG) caching can save the continuous open/decode of images.
* However the opened images might consume additional RAM. * However the opened images might consume additional RAM.
* LV_IMG_CACHE_DEF_SIZE must be >= 1 */ * Set it to 0 to disable caching */
#define LV_IMG_CACHE_DEF_SIZE 1 #define LV_IMG_CACHE_DEF_SIZE 1
/*Declare the type of the user data of image decoder (can be e.g. `void *`, `int`, `struct`)*/ /*Declare the type of the user data of image decoder (can be e.g. `void *`, `int`, `struct`)*/
@ -380,7 +382,7 @@ typedef void * lv_indev_drv_user_data_t; /*Type of user data in the i
/* Montserrat fonts with bpp = 4 /* Montserrat fonts with bpp = 4
* https://fonts.google.com/specimen/Montserrat */ * https://fonts.google.com/specimen/Montserrat */
#define LV_FONT_MONTSERRAT_8 0 #define LV_FONT_MONTSERRAT_8 0
#define LV_FONT_MONTSERRAT_10 0 #define LV_FONT_MONTSERRAT_10 1
#define LV_FONT_MONTSERRAT_12 1 #define LV_FONT_MONTSERRAT_12 1
#define LV_FONT_MONTSERRAT_14 1 #define LV_FONT_MONTSERRAT_14 1
#define LV_FONT_MONTSERRAT_16 1 #define LV_FONT_MONTSERRAT_16 1
@ -403,13 +405,14 @@ typedef void * lv_indev_drv_user_data_t; /*Type of user data in the i
/* Demonstrate special features */ /* Demonstrate special features */
#define LV_FONT_MONTSERRAT_12_SUBPX 1 #define LV_FONT_MONTSERRAT_12_SUBPX 1
#define LV_FONT_MONTSERRAT_28_COMPRESSED 1 #define LV_FONT_MONTSERRAT_28_COMPRESSED 1 /*bpp = 3*/
#define LV_FONT_DEJAVU_16_PERSIAN_HEBREW 1 #define LV_FONT_DEJAVU_16_PERSIAN_HEBREW 1 /*Hebrew, Arabic, PErisan letters and all their forms*/
#define LV_FONT_SIMSUN_16_CJK 1 #define LV_FONT_SIMSUN_16_CJK 1 /*1000 most common CJK radicals*/
/*Pixel perfect monospace font /*Pixel perfect monospace font
* http://pelulamu.net/unscii/ */ * http://pelulamu.net/unscii/ */
#define LV_FONT_UNSCII_8 1 #define LV_FONT_UNSCII_8 1
#define LV_FONT_UNSCII_16 0
/* Optionally declare your custom fonts here. /* Optionally declare your custom fonts here.
* You can use these fonts as default font too * You can use these fonts as default font too
@ -477,10 +480,10 @@ typedef void * lv_font_user_data_t;
#define LV_THEME_DEFAULT_COLOR_PRIMARY lv_color_hex(0x01a2b1) #define LV_THEME_DEFAULT_COLOR_PRIMARY lv_color_hex(0x01a2b1)
#define LV_THEME_DEFAULT_COLOR_SECONDARY lv_color_hex(0x44d1b6) #define LV_THEME_DEFAULT_COLOR_SECONDARY lv_color_hex(0x44d1b6)
#define LV_THEME_DEFAULT_FLAG LV_THEME_MATERIAL_FLAG_LIGHT #define LV_THEME_DEFAULT_FLAG LV_THEME_MATERIAL_FLAG_LIGHT
#define LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_12 #define LV_THEME_DEFAULT_FONT_SMALL &lv_font_montserrat_14
#define LV_THEME_DEFAULT_FONT_NORMAL &lv_font_montserrat_14 #define LV_THEME_DEFAULT_FONT_NORMAL &lv_font_montserrat_14
#define LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_montserrat_16 #define LV_THEME_DEFAULT_FONT_SUBTITLE &lv_font_montserrat_14
#define LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_18 #define LV_THEME_DEFAULT_FONT_TITLE &lv_font_montserrat_14
/*================= /*=================
* Text settings * Text settings
@ -513,7 +516,7 @@ typedef void * lv_font_user_data_t;
/* Support bidirectional texts. /* Support bidirectional texts.
* Allows mixing Left-to-Right and Right-to-Left texts. * Allows mixing Left-to-Right and Right-to-Left texts.
* The direction will be processed according to the Unicode Bidirectioanl Algorithm: * The direction will be processed according to the Unicode Bidirectional Algorithm:
* https://www.w3.org/International/articles/inline-bidi-markup/uba-basics*/ * https://www.w3.org/International/articles/inline-bidi-markup/uba-basics*/
#define LV_USE_BIDI 0 #define LV_USE_BIDI 0
#if LV_USE_BIDI #if LV_USE_BIDI
@ -563,7 +566,7 @@ typedef void * lv_obj_user_data_t;
* LV_EXT_CLICK_AREA_TINY: The extra area can be adjusted horizontally and vertically (0..255 px) * LV_EXT_CLICK_AREA_TINY: The extra area can be adjusted horizontally and vertically (0..255 px)
* LV_EXT_CLICK_AREA_FULL: The extra area can be adjusted in all 4 directions (-32k..+32k px) * LV_EXT_CLICK_AREA_FULL: The extra area can be adjusted in all 4 directions (-32k..+32k px)
*/ */
#define LV_USE_EXT_CLICK_AREA LV_EXT_CLICK_AREA_FULL #define LV_USE_EXT_CLICK_AREA LV_EXT_CLICK_AREA_TINY
/*================== /*==================
* LV OBJ X USAGE * LV OBJ X USAGE
@ -730,7 +733,6 @@ typedef void * lv_obj_user_data_t;
# define LV_TABLE_CELL_STYLE_CNT 4 # define LV_TABLE_CELL_STYLE_CNT 4
#endif #endif
/*Tab (dependencies: lv_page, lv_btnm)*/ /*Tab (dependencies: lv_page, lv_btnm)*/
#define LV_USE_TABVIEW 1 #define LV_USE_TABVIEW 1
# if LV_USE_TABVIEW != 0 # if LV_USE_TABVIEW != 0

@ -1 +1 @@
Subproject commit 6a39767f0676cbb8ed28ae9f6d82caf3c6ef1ea7 Subproject commit 8c96359f4199297809ab205870eb603b03d98b4e

View File

@ -1,6 +1,6 @@
/** /**
* @file lv_drv_conf.h * @file lv_drv_conf.h
* * Configuration file for v7.11.0
*/ */
/* /*
@ -100,9 +100,6 @@
/*Eclipse: <SDL2/SDL.h> Visual Studio: <SDL.h>*/ /*Eclipse: <SDL2/SDL.h> Visual Studio: <SDL.h>*/
# define MONITOR_SDL_INCLUDE_PATH <SDL2/SDL.h> # define MONITOR_SDL_INCLUDE_PATH <SDL2/SDL.h>
/*Different rendering might be used if running in a Virtual machine*/
# define MONITOR_VIRTUAL_MACHINE 0
/*Open two windows to test multi display support*/ /*Open two windows to test multi display support*/
# define MONITOR_DUAL 0 # define MONITOR_DUAL 0
#endif #endif
@ -114,12 +111,18 @@
# define USE_WINDOWS 0 # define USE_WINDOWS 0
#endif #endif
#define USE_WINDOWS 0
#if USE_WINDOWS #if USE_WINDOWS
# define WINDOW_HOR_RES 480 # define WINDOW_HOR_RES 480
# define WINDOW_VER_RES 320 # define WINDOW_VER_RES 320
#endif #endif
/*----------------------------
* Native Windows (win32drv)
*---------------------------*/
#ifndef USE_WIN32DRV
# define USE_WIN32DRV 0
#endif
/*---------------------------------------- /*----------------------------------------
* GTK drivers (monitor, mouse, keyboard * GTK drivers (monitor, mouse, keyboard
*---------------------------------------*/ *---------------------------------------*/

View File

@ -1,7 +1,13 @@
/** /**
* @file lv_ex_conf.h * @file lv_ex_conf.h
* Configuration file for v7.11.0
* *
*/ */
/*
* COPY THIS FILE AS lv_ex_conf.h
*/
#if 1 /*Set it to "1" to enable the content*/
#ifndef LV_EX_CONF_H #ifndef LV_EX_CONF_H
#define LV_EX_CONF_H #define LV_EX_CONF_H
@ -35,5 +41,13 @@
/*Stress test for LVGL*/ /*Stress test for LVGL*/
#define LV_USE_DEMO_STRESS 1 #define LV_USE_DEMO_STRESS 1
/*Music player for LVGL*/
#define LV_USE_DEMO_MUSIC 1
#if LV_USE_DEMO_MUSIC
#define LV_DEMO_MUSIC_AUTO_PLAY 0
#endif
#endif /*LV_EX_CONF_H*/ #endif /*LV_EX_CONF_H*/
#endif /*End of "Content enable"*/

@ -1 +1 @@
Subproject commit 8aa74f493bac82a3078ebc98e4139b0eabd34e81 Subproject commit 5f685373743f6999a5b6c0f2782767f2815e151b

2
lvgl

@ -1 +1 @@
Subproject commit 43771fa2f71d5323ef9dffc1ff0aee326d59f5ce Subproject commit ec9de515b36641be565d7bace5863ab631ce3b69

View File

@ -16,6 +16,8 @@
#include "lvgl/lvgl.h" #include "lvgl/lvgl.h"
#include "lv_drivers/display/monitor.h" #include "lv_drivers/display/monitor.h"
#include "lv_drivers/indev/mouse.h" #include "lv_drivers/indev/mouse.h"
#include "lv_drivers/indev/keyboard.h"
#include "lv_drivers/indev/mousewheel.h"
#include "lv_examples/lv_examples.h" #include "lv_examples/lv_examples.h"
/********************* /*********************
@ -36,7 +38,12 @@ static void memory_monitor(lv_task_t *param);
/********************** /**********************
* STATIC VARIABLES * STATIC VARIABLES
**********************/ **********************/
lv_indev_t *kb_indev; lv_disp_buf_t disp_buf1;
lv_color_t buf1_1[LV_HOR_RES_MAX * 120];
lv_disp_drv_t disp_drv;
lv_indev_drv_t mouse_drv;
lv_indev_drv_t keyb_drv;
lv_indev_drv_t enc_drv;
/********************** /**********************
* MACROS * MACROS
@ -58,7 +65,12 @@ int main(int argc, char **argv)
hal_init(); hal_init();
lv_demo_widgets(); lv_demo_widgets();
/* For printer demo set resolution to 800x480 */
// lv_demo_printer(); // lv_demo_printer();
// lv_demo_keypad_encoder();
// lv_demo_benchmark();
// lv_demo_stress();
// lv_demo_music();
while (1) { while (1) {
/* Periodically call the lv_task handler. /* Periodically call the lv_task handler.
@ -83,12 +95,9 @@ static void hal_init(void) {
monitor_init(); monitor_init();
/*Create a display buffer*/ /*Create a display buffer*/
static lv_disp_buf_t disp_buf1;
static lv_color_t buf1_1[LV_HOR_RES_MAX * 120];
lv_disp_buf_init(&disp_buf1, buf1_1, NULL, LV_HOR_RES_MAX * 120); lv_disp_buf_init(&disp_buf1, buf1_1, NULL, LV_HOR_RES_MAX * 120);
/*Create a display*/ /*Create a display*/
lv_disp_drv_t disp_drv;
lv_disp_drv_init(&disp_drv); /*Basic initialization*/ lv_disp_drv_init(&disp_drv); /*Basic initialization*/
disp_drv.buffer = &disp_buf1; disp_drv.buffer = &disp_buf1;
disp_drv.flush_cb = monitor_flush; disp_drv.flush_cb = monitor_flush;
@ -97,13 +106,12 @@ static void hal_init(void) {
/* Add the mouse as input device /* Add the mouse as input device
* Use the 'mouse' driver which reads the PC's mouse*/ * Use the 'mouse' driver which reads the PC's mouse*/
mouse_init(); mouse_init();
lv_indev_drv_t indev_drv; lv_indev_drv_init(&mouse_drv); /*Basic initialization*/
lv_indev_drv_init(&indev_drv); /*Basic initialization*/ mouse_drv.type = LV_INDEV_TYPE_POINTER;
indev_drv.type = LV_INDEV_TYPE_POINTER;
/*This function will be called periodically (by the library) to get the mouse position and state*/ /*This function will be called periodically (by the library) to get the mouse position and state*/
indev_drv.read_cb = mouse_read; mouse_drv.read_cb = mouse_read;
lv_indev_t *mouse_indev = lv_indev_drv_register(&indev_drv); lv_indev_t *mouse_indev = lv_indev_drv_register(&mouse_drv);
/*Set a cursor for the mouse*/ /*Set a cursor for the mouse*/
LV_IMG_DECLARE(mouse_cursor_icon); /*Declare the image file.*/ LV_IMG_DECLARE(mouse_cursor_icon); /*Declare the image file.*/
@ -111,6 +119,22 @@ static void hal_init(void) {
lv_img_set_src(cursor_obj, &mouse_cursor_icon); /*Set the image source*/ lv_img_set_src(cursor_obj, &mouse_cursor_icon); /*Set the image source*/
lv_indev_set_cursor(mouse_indev, cursor_obj); /*Connect the image object to the driver*/ lv_indev_set_cursor(mouse_indev, cursor_obj); /*Connect the image object to the driver*/
/* Add the keyboard as input device
* Use the 'keyboard' driver which reads the PC's keyboard*/
keyboard_init();
lv_indev_drv_init(&keyb_drv);
keyb_drv.type = LV_INDEV_TYPE_KEYPAD;
keyb_drv.read_cb = keyboard_read;
lv_indev_drv_register(&keyb_drv);
/* Add the mouse wheel as input device (encoder type)
* Use the 'mousewheel' driver which reads the PC's mouse wheel*/
mousewheel_init();
lv_indev_drv_init(&enc_drv);
enc_drv.type = LV_INDEV_TYPE_ENCODER;
enc_drv.read_cb = mousewheel_read;
lv_indev_drv_register(&enc_drv);
/* Tick init. /* Tick init.
* You have to call 'lv_tick_inc()' in periodically to inform LittelvGL about * You have to call 'lv_tick_inc()' in periodically to inform LittelvGL about
* how much time were elapsed Create an SDL thread to do this*/ * how much time were elapsed Create an SDL thread to do this*/