Skip to content

Commit

Permalink
chore(cmsis-pack): prepare for v9.1.0 (#5917)
Browse files Browse the repository at this point in the history
  • Loading branch information
GorgonMeducer committed Mar 20, 2024
1 parent ee26f1d commit e1c0b21
Show file tree
Hide file tree
Showing 13 changed files with 145 additions and 65 deletions.
2 changes: 1 addition & 1 deletion Kconfig
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Kconfig file for LVGL v9.0.0
# Kconfig file for LVGL v9.1.0

menu "LVGL configuration"

Expand Down
Binary file not shown.
100 changes: 72 additions & 28 deletions env_support/cmsis-pack/LVGL.lvgl.pdsc
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<!--
/****************************************************************************
* Copyright 2022 Gorgon Meducer (Email:embedded_zhuoran@hotmail.com) *
* Copyright 2024 Gorgon Meducer (Email:embedded_zhuoran@hotmail.com) *
* *
* Licensed under the Apache License, Version 2.0 (the "License"); *
* you may not use this file except in compliance with the License. *
Expand All @@ -20,7 +20,7 @@
-->


<package schemaVersion="1.7.28" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="https://raw.githubusercontent.com/Open-CMSIS-Pack/Open-CMSIS-Pack-Spec/v1.7.28/schema/PACK.xsd">
<package schemaVersion="1.7.31" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="https://raw.githubusercontent.com/Open-CMSIS-Pack/Open-CMSIS-Pack-Spec/v1.7.31/schema/PACK.xsd">
<vendor>LVGL</vendor>
<name>lvgl</name>
<description>LVGL (Light and Versatile Graphics Library) is a free and open-source graphics library providing everything you need to create an embedded GUI with easy-to-use graphical elements, beautiful visual effects and a low memory footprint.</description>
Expand All @@ -36,12 +36,15 @@
<repository type="git">https://github.com/lvgl/lvgl.git</repository>

<releases>
<release date="2024-02-06" version="9.0.1-dev2" url="https://raw.githubusercontent.com/lvgl/lvgl/master/env_support/cmsis-pack/LVGL.lvgl.9.0.1-dev2.pack">
- LVGL 9.0.1-dev
- Improves benchmark statistics.
- Some fixes
<release date="2024-03-19" version="9.1.0" url="https://github.com/lvgl/lvgl/raw/v9.1.0/env_support/cmsis-pack/LVGL.lvgl.9.1.0.pack">
- LVGL 9.1.0
- See Change Log
</release>
<release date="2024-01-24" version="9.0.0" url="https://github.com/lvgl/lvgl/raw/b255eeabf00fa2316084e308e596e7ecabbaff4d/env_support/cmsis-pack/LVGL.lvgl.9.0.0.pack">
<release date="2024-03-19" version="8.4.0" url="https://github.com/lvgl/lvgl/raw/v8.4.0/env_support/cmsis-pack/LVGL.lvgl.8.4.0.pack">
- LVGL 8.4.0
- Some minor fixes
</release>
<release date="2024-01-24" version="9.0.0" url="https://github.com/lvgl/lvgl/raw/v9.0.0/env_support/cmsis-pack/LVGL.lvgl.9.0.0.pack">
- LVGL 9.0.0
- Implements a New Render Architecture that enables parallel processing
- Accelerates SW-Render with NEON and Helium technology for Cortex architectures.
Expand Down Expand Up @@ -236,7 +239,7 @@
</condition>

<condition id="NEON">
<description>Support All Cortex-M based processors</description>
<description>Support NEON based processors</description>
<accept Dcore="Cortex-A8"/>
<accept Dcore="Cortex-A9"/>
<accept Dcore="Cortex-A15"/>
Expand All @@ -251,20 +254,23 @@
<accept Dcore="Cortex-A73"/>
</condition>

<condition id="Helium GNU Assembler">
<require condition="NEON" />
<require condition="GNU Assembler" />
</condition>

<condition id="Helium">
<description>Support All Cortex-M based processors</description>
<!--
<description>Support Helium based processors</description>
<accept Dcore="Cortex-M52"/>
-->
<accept Dcore="Cortex-M55"/>
<accept Dcore="Cortex-M85"/>
<accept Dcore="ARMV81MML"/>
</condition>

<condition id="NEON GNU Assembler">
<require condition="NEON" />
<require condition="GNU Assembler" />
</condition>

<condition id="Helium GNU Assembler">
<require condition="Helium" />
<require condition="GNU Assembler" />
</condition>

<condition id="LVGL-Essential">
<description>Require LVGL Essential Service</description>
Expand Down Expand Up @@ -392,7 +398,7 @@
-->

<components>
<bundle Cbundle="LVGL9" Cclass="LVGL" Cversion="9.0.1-dev2">
<bundle Cbundle="LVGL9" Cclass="LVGL" Cversion="9.1.0">
<description>LVGL (Light and Versatile Graphics Library) is a free and open-source graphics library providing everything you need to create an embedded GUI with easy-to-use graphical elements, beautiful visual effects and a low memory footprint.</description>
<doc></doc>
<component Cgroup="Essential">
Expand Down Expand Up @@ -430,6 +436,7 @@
<file category="sourceC" name="src/drivers/nuttx/lv_nuttx_lcd.c" />
<file category="sourceC" name="src/drivers/nuttx/lv_nuttx_libuv.c" />
<file category="sourceC" name="src/drivers/nuttx/lv_nuttx_touchscreen.c" />
<file category="sourceC" name="src/drivers/nuttx/lv_nuttx_image_cache.c" />

<file category="sourceC" name="src/drivers/sdl/lv_sdl_keyboard.c" />
<file category="sourceC" name="src/drivers/sdl/lv_sdl_mouse.c" />
Expand All @@ -438,6 +445,9 @@

<file category="sourceC" name="src/drivers/x11/lv_x11_display.c" />
<file category="sourceC" name="src/drivers/x11/lv_x11_input.c" />

<file category="sourceC" name="src/drivers/libinput/lv_libinput.c" />
<file category="sourceC" name="src/drivers/libinput/lv_xkb.c" />

<!-- src/drivers -->
<file category="sourceC" name="src/display/lv_display.c" />
Expand All @@ -454,7 +464,6 @@
<file category="sourceC" name="src/draw/lv_draw_rect.c" />
<file category="sourceC" name="src/draw/lv_draw_triangle.c" />
<file category="sourceC" name="src/draw/lv_draw_vector.c" />
<file category="sourceC" name="src/draw/lv_image_buf.c" />
<file category="sourceC" name="src/draw/lv_image_decoder.c" />

<!-- src/draw/sw -->
Expand All @@ -478,7 +487,8 @@
<file category="sourceC" name="src/draw/sw/blend/lv_draw_sw_blend_to_argb8888.c" />
<file category="sourceC" name="src/draw/sw/blend/lv_draw_sw_blend_to_rgb565.c" />
<file category="sourceC" name="src/draw/sw/blend/lv_draw_sw_blend_to_rgb888.c" />
<file category="sourceAsm" name="src/draw/sw/blend/neon/lv_blend_neon.S" condition="Helium GNU Assembler"/>
<file category="sourceAsm" name="src/draw/sw/blend/neon/lv_blend_neon.S" condition="NEON GNU Assembler"/>
<file category="sourceAsm" name="src/draw/sw/blend/helium/lv_blend_helium.S" condition="Helium GNU Assembler"/>

<!-- src/font -->
<file category="sourceC" name="src/font/lv_binfont_loader.c" />
Expand Down Expand Up @@ -631,7 +641,7 @@
<file category="sourceC" name="src/osal/lv_os_none.c"/>

<!-- general -->
<file category="preIncludeGlobal" name="lv_conf_cmsis.h" attr="config" version="2.1.4" />
<file category="preIncludeGlobal" name="lv_conf_cmsis.h" attr="config" version="2.1.5" />
<file category="sourceC" name="lv_cmsis_pack.c" />
<file category="header" name="lvgl.h" />
<file category="doc" name="README.md"/>
Expand Down Expand Up @@ -907,15 +917,33 @@

</component>

<component Cgroup="Porting" condition="LVGL-Essential">
<description>Porting Templates</description>
<component Cgroup="Porting" Csub="Display" Cvariant="Generic" isDefaultVariant="true" condition="LVGL-Essential">
<description>Porting Templates for display devices.</description>
<files>
<file category="header" name="examples/porting/lv_port_disp_template.h" attr="config" version="2.1.0" />
<file category="sourceC" name="examples/porting/lv_port_disp_template.c" attr="config" version="2.1.0" />

</files>
</component>

<component Cgroup="Porting" Csub="Display" Cvariant="STM32" condition="LVGL-Essential">
<description>Porting Templates for STM32 devices.</description>
<files>
<file category="header" name="examples/porting/lv_port_lcd_stm32_template.h" attr="config" version="1.0.0" />
<file category="sourceC" name="examples/porting/lv_port_lcd_stm32_template.c" attr="config" version="1.0.0" />
</files>
</component>

<component Cgroup="Porting" Csub="Input" Cvariant="Generic" isDefaultVariant="true" condition="LVGL-Essential">
<description>Porting Templates for input devices.</description>
<files>
<file category="header" name="examples/porting/lv_port_indev_template.h" attr="config" version="2.1.0" />
<file category="sourceC" name="examples/porting/lv_port_indev_template.c" attr="config" version="2.1.0" />

</files>
</component>

<component Cgroup="Porting" Csub="File System" Cvariant="Generic" isDefaultVariant="true" condition="LVGL-Essential">
<description>Porting Templates for the file system.</description>
<files>
<file category="header" name="examples/porting/lv_port_fs_template.h" attr="config" version="2.1.0" />
<file category="sourceC" name="examples/porting/lv_port_fs_template.c" attr="config" version="2.1.0" />
</files>
Expand Down Expand Up @@ -1011,6 +1039,8 @@
<file category="sourceC" name="src/draw/vg_lite/lv_vg_lite_decoder.c" />
<file category="sourceC" name="src/draw/vg_lite/lv_vg_lite_math.c" />
<file category="sourceC" name="src/draw/vg_lite/lv_vg_lite_path.c" />
<file category="sourceC" name="src/draw/vg_lite/lv_vg_lite_grad.c" />
<file category="sourceC" name="src/draw/vg_lite/lv_vg_lite_pending.c" />
<file category="sourceC" name="src/draw/vg_lite/lv_vg_lite_utils.c" />
</files>

Expand Down Expand Up @@ -1250,6 +1280,21 @@

</component>

<component Cgroup="Libraries and Others" Csub="Lib Filesystem" Cvariant="LittleFs" condition="LVGL-Essential">
<description>Add API for file access via LittleFs</description>
<files>
<!-- src/libs/fsdrv -->
<file category="sourceC" name="src/libs/fsdrv/lv_fs_littlefs.c" />
</files>

<RTE_Components_h>

/*! \brief enable LittleFs file access */
#define LV_USE_FS_LITTLEFS 1
</RTE_Components_h>

</component>

<!--
<component Cgroup="Libraries and Others" Csub="Lib Filesystem" Cvariant="WIN32" condition="LVGL-Essential">
<description>Add API for file access via STDIO</description>
Expand Down Expand Up @@ -1709,7 +1754,7 @@
<files>
<!-- demos/benchmark -->
<file category="sourceC" name="demos/benchmark/lv_demo_benchmark.c" />
<file category="doc" name="demos/benchmark/README.md" />
<file category="doc" name="demos/README.md" />
</files>

<RTE_Components_h>
Expand Down Expand Up @@ -1762,7 +1807,6 @@
<files>
<!-- demos/multilang -->
<file category="sourceC" name="demos/multilang/lv_demo_multilang.c" />
<file category="doc" name="demos/multilang/README.md" />
</files>

<RTE_Components_h>
Expand All @@ -1780,7 +1824,7 @@
<file category="sourceC" name="demos/music/lv_demo_music.c" />
<file category="sourceC" name="demos/music/lv_demo_music_list.c" />
<file category="sourceC" name="demos/music/lv_demo_music_main.c" />
<file category="doc" name="demos/music/README.md" />
<file category="doc" name="demos/README.md" />
</files>

<RTE_Components_h>
Expand Down Expand Up @@ -1871,7 +1915,7 @@
<files>
<!-- demos/render -->
<file category="sourceC" name="demos/render/lv_demo_render.c" />
<file category="doc" name="demos/render/README.md" />
<file category="doc" name="demos/README.md" />
</files>

<RTE_Components_h>
Expand Down
4 changes: 2 additions & 2 deletions env_support/cmsis-pack/LVGL.pidx
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
<index schemaVersion="1.0.0" xs:noNamespaceSchemaLocation="PackIndex.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance">
<vendor>LVGL</vendor>
<url>https://raw.githubusercontent.com/lvgl/lvgl/master/env_support/cmsis-pack/</url>
<timestamp>2024-02-06</timestamp>
<timestamp>2024-03-19</timestamp>
<pindex>
<pdsc url="https://raw.githubusercontent.com/lvgl/lvgl/master/env_support/cmsis-pack/" vendor="LVGL" name="lvgl" version="9.0.1-dev2"/>
<pdsc url="https://raw.githubusercontent.com/lvgl/lvgl/master/env_support/cmsis-pack/" vendor="LVGL" name="lvgl" version="9.1.0"/>
</pindex>
</index>
3 changes: 2 additions & 1 deletion env_support/cmsis-pack/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -117,14 +117,15 @@ remove the misleading guide above this code segment.
#define LV_DRAW_BUF_STRIDE_ALIGN 4
#define LV_ATTRIBUTE_MEM_ALIGN __attribute__((aligned(4)))
```
Make sure `LV_MEM_SIZE` is no less than `(96*1024U)`.
Make sure `LV_MEM_SIZE` is no less than `(128*1024U)`.

8. Remove following macro definitions in the `3rd party libraries` section:

- \#define LV_USE_FS_STDIO 0
- \#define LV_USE_FS_POSIX 0
- \#define LV_USE_FS_WIN32 0
- \#define LV_USE_FS_FATFS 0
- #define LV_USE_FS_LITTLEFS 0
- #define LV_USE_FS_MEMFS 0
- \#define LV_USE_LODEPNG 0
- #define LV_USE_LIBPNG 0
Expand Down
66 changes: 50 additions & 16 deletions env_support/cmsis-pack/lv_conf_cmsis.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/**
* @file lv_conf.h
* Configuration file for v9.0.1-dev
* Configuration file for v9.1.0
*/

/* clang-format off */
Expand All @@ -9,7 +9,14 @@
#ifndef LV_CONF_H
#define LV_CONF_H

#include "RTE_Components.h"
#if defined(_RTE_)
#include "RTE_Components.h"
#endif

/*If you need to include anything here, do it inside the `__ASSEMBLY__` guard */
#if 0 && defined(__ASSEMBLY__)
#include "my_include.h"
#endif

/*====================
COLOR SETTINGS
Expand All @@ -36,7 +43,7 @@

#if LV_USE_STDLIB_MALLOC == LV_STDLIB_BUILTIN
/*Size of the memory available for `lv_malloc()` in bytes (>= 2kB)*/
#define LV_MEM_SIZE (96 * 1024U) /*[bytes]*/
#define LV_MEM_SIZE (128 * 1024U) /*[bytes]*/

/*Size of the memory expand for `lv_malloc()` in bytes*/
#define LV_MEM_POOL_EXPAND_SIZE 0
Expand Down Expand Up @@ -87,7 +94,15 @@
#define LV_DRAW_BUF_STRIDE_ALIGN 1

/*Align the start address of draw_buf addresses to this bytes*/
#define LV_DRAW_BUF_ALIGN 1
#define LV_DRAW_BUF_ALIGN 4

/* If a widget has `style_opa < 255` (not `bg_opa`, `text_opa` etc) or not NORMAL blend mode
* it is buffered into a "simple" layer before rendering. The widget can be buffered in smaller chunks.
* "Transformed layers" (if `transform_angle/zoom` are set) use larger buffers
* and can't be drawn in chunks. */

/*The target buffer size for simple layer chunks.*/
#define LV_DRAW_LAYER_SIMPLE_BUF_SIZE (24 * 1024) /*[bytes]*/

#define LV_USE_DRAW_SW 1
#if LV_USE_DRAW_SW == 1
Expand All @@ -96,13 +111,8 @@
* > 1 means multiply threads will render the screen in parallel */
#define LV_DRAW_SW_DRAW_UNIT_CNT 1

/* If a widget has `style_opa < 255` (not `bg_opa`, `text_opa` etc) or not NORMAL blend mode
* it is buffered into a "simple" layer before rendering. The widget can be buffered in smaller chunks.
* "Transformed layers" (if `transform_angle/zoom` are set) use larger buffers
* and can't be drawn in chunks. */

/*The target buffer size for simple layer chunks.*/
#define LV_DRAW_SW_LAYER_SIMPLE_BUF_SIZE (24 * 1024) /*[bytes]*/
/* Enable native helium assembly to be compiled */
#define LV_USE_NATIVE_HELIUM_ASM 0

/* 0: use a simple renderer capable of drawing only simple rectangles with gradient, images, texts, and straight lines only
* 1: use a complex renderer capable of drawing rounded corners, shadow, skew lines, and arcs too */
Expand Down Expand Up @@ -174,6 +184,11 @@
* but does not guarantee the same rendering quality as the software. */
#define LV_VG_LITE_USE_BOX_SHADOW 0

/* VG-Lite gradient image maximum cache number.
* NOTE: The memory usage of a single gradient image is 4K bytes.
*/
#define LV_VG_LITE_GRAD_CACHE_SIZE 32

#endif

/*=======================
Expand Down Expand Up @@ -623,6 +638,10 @@
#define LV_FS_MEMFS_LETTER '\0' /*Set an upper cased letter on which the drive will accessible (e.g. 'A')*/
#endif

/*API for LittleFs. */
#if LV_USE_FS_LITTLEFS
#define LV_FS_LITTLEFS_LETTER '\0' /*Set an upper cased letter on which the drive will accessible (e.g. 'A')*/
#endif

/*GIF decoder library*/
#if LV_USE_GIF
Expand Down Expand Up @@ -771,11 +790,12 @@
/*Use SDL to open window on PC and handle mouse and keyboard*/
#define LV_USE_SDL 0
#if LV_USE_SDL
#define LV_SDL_INCLUDE_PATH <SDL2/SDL.h>
#define LV_SDL_RENDER_MODE LV_DISPLAY_RENDER_MODE_DIRECT /*LV_DISPLAY_RENDER_MODE_DIRECT is recommended for best performance*/
#define LV_SDL_BUF_COUNT 1 /*1 or 2*/
#define LV_SDL_FULLSCREEN 0 /*1: Make the window full screen by default*/
#define LV_SDL_DIRECT_EXIT 1 /*1: Exit the application when all SDL windows are closed*/
#define LV_SDL_INCLUDE_PATH <SDL2/SDL.h>
#define LV_SDL_RENDER_MODE LV_DISPLAY_RENDER_MODE_DIRECT /*LV_DISPLAY_RENDER_MODE_DIRECT is recommended for best performance*/
#define LV_SDL_BUF_COUNT 1 /*1 or 2*/
#define LV_SDL_FULLSCREEN 0 /*1: Make the window full screen by default*/
#define LV_SDL_DIRECT_EXIT 1 /*1: Exit the application when all SDL windows are closed*/
#define LV_SDL_MOUSEWHEEL_MODE LV_SDL_MOUSEWHEEL_MODE_ENCODER /*LV_SDL_MOUSEWHEEL_MODE_ENCODER/CROWN*/
#endif

/*Use X11 to open window on Linux desktop and handle mouse and keyboard*/
Expand Down Expand Up @@ -822,6 +842,20 @@
/*Driver for evdev input devices*/
#define LV_USE_EVDEV 0

/*Driver for libinput input devices*/
#define LV_USE_LIBINPUT 0

#if LV_USE_LIBINPUT
#define LV_LIBINPUT_BSD 0

/*Full keyboard support*/
#define LV_LIBINPUT_XKB 0
#if LV_LIBINPUT_XKB
/*"setxkbmap -query" can help find the right values for your keyboard*/
#define LV_LIBINPUT_XKB_KEY_MAP { .rules = NULL, .model = "pc101", .layout = "us", .variant = NULL, .options = NULL }
#endif
#endif

#define LV_USE_GENERIC_MIPI (LV_USE_ST7735 | LV_USE_ST7789 | LV_USE_ST7796 | LV_USE_ILI9341)

/*==================
Expand Down

0 comments on commit e1c0b21

Please sign in to comment.