chore: cmsis pack monthly update (#3435)

* update lv_gpu_arm2d to support  LV_IMG_CF_RGB565A8

* feat(porting) minor update

* feat(cmsis-pack): monthly update for June

* Update LVGL.pidx

* fix(draw): solve memory leaking issue

* Update lv_draw_sw_layer.c

* Update LVGL.lvgl.1.0.5.pack

* Update LVGL.lvgl.1.0.5.pack
This commit is contained in:
Gabriel Wang
2022-07-01 19:20:48 +01:00
committed by GitHub
parent a2bd96023f
commit 922108dbbe
8 changed files with 68 additions and 9 deletions

View File

@@ -36,9 +36,12 @@
<repository type="git">https://github.com/lvgl/lvgl.git</repository> <repository type="git">https://github.com/lvgl/lvgl.git</repository>
<releases> <releases>
<release date="2022-06-13" version="1.0.5-alpha1" url="https://github.com/lvgl/lvgl/raw/ce0605182c31e43abc8137ba21f237ec442735bc/env_support/cmsis-pack/LVGL.lvgl.1.0.5-alpha1.pack"> <release date="2022-06-29" version="1.0.5" url="https://raw.githubusercontent.com/lvgl/lvgl/master/env_support/cmsis-pack/LVGL.lvgl.1.0.5.pack">
- LVGL 8.3.0-dev - LVGL 8.3.0-dev
- Monthly update for June - Monthly update for June
- Add Pinyin as input method
- Update benchmark to support RGB565-A8
- Update support for layers
</release> </release>
<release date="2022-05-31" version="1.0.4" url="https://github.com/lvgl/lvgl/raw/ce0605182c31e43abc8137ba21f237ec442735bc/env_support/cmsis-pack/LVGL.lvgl.1.0.4.pack"> <release date="2022-05-31" version="1.0.4" url="https://github.com/lvgl/lvgl/raw/ce0605182c31e43abc8137ba21f237ec442735bc/env_support/cmsis-pack/LVGL.lvgl.1.0.4.pack">
- LVGL 8.3.0-dev - LVGL 8.3.0-dev
@@ -209,6 +212,7 @@
<file category="sourceC" name="src/draw/lv_draw_arc.c" /> <file category="sourceC" name="src/draw/lv_draw_arc.c" />
<file category="sourceC" name="src/draw/lv_draw_img.c" /> <file category="sourceC" name="src/draw/lv_draw_img.c" />
<file category="sourceC" name="src/draw/lv_draw_label.c" /> <file category="sourceC" name="src/draw/lv_draw_label.c" />
<file category="sourceC" name="src/draw/lv_draw_layer.c" />
<file category="sourceC" name="src/draw/lv_draw_line.c" /> <file category="sourceC" name="src/draw/lv_draw_line.c" />
<file category="sourceC" name="src/draw/lv_draw_mask.c" /> <file category="sourceC" name="src/draw/lv_draw_mask.c" />
<file category="sourceC" name="src/draw/lv_draw_rect.c" /> <file category="sourceC" name="src/draw/lv_draw_rect.c" />
@@ -225,12 +229,14 @@
<file category="sourceC" name="src/draw/sw/lv_draw_sw_dither.c" /> <file category="sourceC" name="src/draw/sw/lv_draw_sw_dither.c" />
<file category="sourceC" name="src/draw/sw/lv_draw_sw_gradient.c" /> <file category="sourceC" name="src/draw/sw/lv_draw_sw_gradient.c" />
<file category="sourceC" name="src/draw/sw/lv_draw_sw_img.c" /> <file category="sourceC" name="src/draw/sw/lv_draw_sw_img.c" />
<file category="sourceC" name="src/draw/sw/lv_draw_sw_layer.c" />
<file category="sourceC" name="src/draw/sw/lv_draw_sw_letter.c" /> <file category="sourceC" name="src/draw/sw/lv_draw_sw_letter.c" />
<file category="sourceC" name="src/draw/sw/lv_draw_sw_line.c" /> <file category="sourceC" name="src/draw/sw/lv_draw_sw_line.c" />
<file category="sourceC" name="src/draw/sw/lv_draw_sw_polygon.c" /> <file category="sourceC" name="src/draw/sw/lv_draw_sw_polygon.c" />
<file category="sourceC" name="src/draw/sw/lv_draw_sw_rect.c" /> <file category="sourceC" name="src/draw/sw/lv_draw_sw_rect.c" />
<file category="sourceC" name="src/draw/sw/lv_draw_sw_transform.c" /> <file category="sourceC" name="src/draw/sw/lv_draw_sw_transform.c" />
<!-- src/font --> <!-- src/font -->
<file category="sourceC" name="src/font/lv_font.c" /> <file category="sourceC" name="src/font/lv_font.c" />
<file category="sourceC" name="src/font/lv_font_dejavu_16_persian_hebrew.c" /> <file category="sourceC" name="src/font/lv_font_dejavu_16_persian_hebrew.c" />
@@ -311,7 +317,7 @@
<file category="sourceC" name="src/widgets/lv_textarea.c" /> <file category="sourceC" name="src/widgets/lv_textarea.c" />
<!-- general --> <!-- general -->
<file category="preIncludeGlobal" name="lv_conf_cmsis.h" attr="config" version="1.0.1" /> <file category="preIncludeGlobal" name="lv_conf_cmsis.h" attr="config" version="1.0.2" />
<file category="sourceC" name="lv_cmsis_pack.c" attr="config" version="1.0.0" /> <file category="sourceC" name="lv_cmsis_pack.c" attr="config" version="1.0.0" />
<file category="header" name="lvgl.h" /> <file category="header" name="lvgl.h" />
<file category="doc" name="README.md"/> <file category="doc" name="README.md"/>
@@ -322,6 +328,7 @@
/*! \brief use lv_config_cmsis.h which will be pre-included */ /*! \brief use lv_config_cmsis.h which will be pre-included */
#define LV_CONF_SKIP #define LV_CONF_SKIP
#define LV_LVGL_H_INCLUDE_SIMPLE 1
</Pre_Include_Global_h> </Pre_Include_Global_h>
<RTE_Components_h> <RTE_Components_h>
@@ -603,6 +610,21 @@
</component> </component>
<component Cgroup="lvgl" Csub="Pinyin" condition="LVGL-Essential">
<description>Add Pinyin input method</description>
<files>
<!-- src/extra/others/ime -->
<file category="sourceC" name="src/extra/others/ime/lv_ime_pinyin.c" />
</files>
<RTE_Components_h>
/*! \brief enable ffmpeg support */
#define LV_USE_IME_PINYIN 1
</RTE_Components_h>
</component>
<component Cgroup="lvgl" Csub="Benchmark" condition="LVGL-Essential"> <component Cgroup="lvgl" Csub="Benchmark" condition="LVGL-Essential">
<description>Add the official benchmark.</description> <description>Add the official benchmark.</description>
<files> <files>
@@ -615,6 +637,8 @@
<file category="sourceC" name="demos/benchmark/assets/img_benchmark_cogwheel_chroma_keyed.c" /> <file category="sourceC" name="demos/benchmark/assets/img_benchmark_cogwheel_chroma_keyed.c" />
<file category="sourceC" name="demos/benchmark/assets/img_benchmark_cogwheel_indexed16.c" /> <file category="sourceC" name="demos/benchmark/assets/img_benchmark_cogwheel_indexed16.c" />
<file category="sourceC" name="demos/benchmark/assets/img_benchmark_cogwheel_rgb.c" /> <file category="sourceC" name="demos/benchmark/assets/img_benchmark_cogwheel_rgb.c" />
<file category="sourceC" name="demos/benchmark/assets/img_benchmark_cogwheel_rgb565a8.c" />
<file category="sourceC" name="demos/benchmark/assets/lv_font_bechmark_montserrat_12_compr_az.c.c" /> <file category="sourceC" name="demos/benchmark/assets/lv_font_bechmark_montserrat_12_compr_az.c.c" />
<file category="sourceC" name="demos/benchmark/assets/lv_font_bechmark_montserrat_16_compr_az.c.c" /> <file category="sourceC" name="demos/benchmark/assets/lv_font_bechmark_montserrat_16_compr_az.c.c" />
<file category="sourceC" name="demos/benchmark/assets/lv_font_bechmark_montserrat_28_compr_az.c.c" /> <file category="sourceC" name="demos/benchmark/assets/lv_font_bechmark_montserrat_28_compr_az.c.c" />

View File

@@ -2,8 +2,8 @@
<index schemaVersion="1.0.0" xs:noNamespaceSchemaLocation="PackIndex.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"> <index schemaVersion="1.0.0" xs:noNamespaceSchemaLocation="PackIndex.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance">
<vendor>LVGL</vendor> <vendor>LVGL</vendor>
<url>https://raw.githubusercontent.com/lvgl/lvgl/master/env_support/cmsis-pack/</url> <url>https://raw.githubusercontent.com/lvgl/lvgl/master/env_support/cmsis-pack/</url>
<timestamp>2022-06-13T00:17:59</timestamp> <timestamp>2022-06-29T00:23:55</timestamp>
<pindex> <pindex>
<pdsc url="https://raw.githubusercontent.com/lvgl/lvgl/master/env_support/cmsis-pack/" vendor="LVGL" name="lvgl" version="1.0.5-alpha1"/> <pdsc url="https://raw.githubusercontent.com/lvgl/lvgl/master/env_support/cmsis-pack/" vendor="LVGL" name="lvgl" version="1.0.5"/>
</pindex> </pindex>
</index> </index>

View File

@@ -45,6 +45,7 @@ remove the misleading guide above this code segment.
- LV_USE_GPU_NXP_VG_LITE - LV_USE_GPU_NXP_VG_LITE
- LV_USE_GPU_SWM341_DMA2D - LV_USE_GPU_SWM341_DMA2D
- LV_USE_GPU_ARM2D - LV_USE_GPU_ARM2D
- LV_USE_IME_PINYIN
5. Update macro `LV_ATTRIBUTE_MEM_ALIGN` and `LV_ATTRIBUTE_MEM_ALIGN_SIZE` to force a WORD alignment. 5. Update macro `LV_ATTRIBUTE_MEM_ALIGN` and `LV_ATTRIBUTE_MEM_ALIGN_SIZE` to force a WORD alignment.
```c ```c
#define LV_ATTRIBUTE_MEM_ALIGN_SIZE 4 #define LV_ATTRIBUTE_MEM_ALIGN_SIZE 4

View File

@@ -132,8 +132,6 @@
* and blend it as an image with the given opacity. * and blend it as an image with the given opacity.
* Note that `bg_opa`, `text_opa` etc don't require buffering into layer) * Note that `bg_opa`, `text_opa` etc don't require buffering into layer)
* The widget can be buffered in smaller chunks to avoid using large buffers. * The widget can be buffered in smaller chunks to avoid using large buffers.
* `draw_area` (`lv_area_t` meaning the area to draw and `px_size` (size of a pixel in bytes)
* can be used the set the buffer size adaptively.
* *
* - LV_LAYER_SIMPLE_BUF_SIZE: [bytes] the optimal target buffer size. LVGL will try to allocate it * - LV_LAYER_SIMPLE_BUF_SIZE: [bytes] the optimal target buffer size. LVGL will try to allocate it
* - LV_LAYER_SIMPLE_FALLBACK_BUF_SIZE: [bytes] used if `LV_LAYER_SIMPLE_BUF_SIZE` couldn't be allocated. * - LV_LAYER_SIMPLE_FALLBACK_BUF_SIZE: [bytes] used if `LV_LAYER_SIMPLE_BUF_SIZE` couldn't be allocated.
@@ -143,7 +141,7 @@
* and can't be drawn in chunks. So these settings affects only widgets with opacity. * and can't be drawn in chunks. So these settings affects only widgets with opacity.
*/ */
#define LV_LAYER_SIMPLE_BUF_SIZE (24 * 1024) #define LV_LAYER_SIMPLE_BUF_SIZE (24 * 1024)
#define LV_LAYER_SIMPLE_FALLBACK_BUF_SIZE LV_MAX(lv_area_get_width(&draw_area) * px_size, 2048) #define LV_LAYER_SIMPLE_FALLBACK_BUF_SIZE (3 * 1024)
/*Default image cache size. Image caching keeps the images opened. /*Default image cache size. Image caching keeps the images opened.
*If only the built-in image formats are used there is no real advantage of caching. (I.e. if no new image decoder is added) *If only the built-in image formats are used there is no real advantage of caching. (I.e. if no new image decoder is added)
@@ -616,6 +614,17 @@
/*1: Enable a published subscriber based messaging system */ /*1: Enable a published subscriber based messaging system */
#define LV_USE_MSG 0 #define LV_USE_MSG 0
/*1: Enable Pinyin input method*/
/*Requires: lv_keyboard*/
#if LV_USE_IME_PINYIN
/*1: Use default thesaurus*/
/*If you do not use the default thesaurus, be sure to use `lv_ime_pinyin` after setting the thesauruss*/
#define LV_IME_PINYIN_USE_DEFAULT_DICT 1
/*Set the maximum number of candidate panels that can be displayed*/
/*This needs to be adjusted according to the size of the screen*/
#define LV_IME_PINYIN_CAND_TEXT_NUM 6
#endif
/*================== /*==================
* EXAMPLES * EXAMPLES
*==================*/ *==================*/

View File

@@ -10,7 +10,6 @@
* INCLUDES * INCLUDES
*********************/ *********************/
#include "lv_port_disp_template.h" #include "lv_port_disp_template.h"
#include "../../lvgl.h"
#include <stdbool.h> #include <stdbool.h>
/********************* /*********************
@@ -121,7 +120,7 @@ void lv_port_disp_init(void)
disp_drv.draw_buf = &draw_buf_dsc_1; disp_drv.draw_buf = &draw_buf_dsc_1;
/*Required for Example 3)*/ /*Required for Example 3)*/
//disp_drv.full_refresh = 1 //disp_drv.full_refresh = 1;
/* Fill a memory array with a color if you have GPU. /* Fill a memory array with a color if you have GPU.
* Note that, in lv_conf.h you can enable GPUs that has built-in support in LVGL. * Note that, in lv_conf.h you can enable GPUs that has built-in support in LVGL.

View File

@@ -16,7 +16,11 @@ extern "C" {
/********************* /*********************
* INCLUDES * INCLUDES
*********************/ *********************/
#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
#include "lvgl.h"
#else
#include "lvgl/lvgl.h" #include "lvgl/lvgl.h"
#endif
/********************* /*********************
* DEFINES * DEFINES

View File

@@ -1335,6 +1335,28 @@ static void convert_cb(const lv_area_t * dest_area, const void * src_buf, lv_coo
src_tmp8 += src_new_line_step_byte; src_tmp8 += src_new_line_step_byte;
} }
} }
else if(cf == LV_IMG_CF_RGB565A8) {
src_tmp8 += (src_stride * dest_area->y1 * sizeof(lv_color_t)) + dest_area->x1 * sizeof(lv_color_t);
lv_coord_t src_stride_byte = src_stride * sizeof(lv_color_t);
lv_coord_t dest_h = lv_area_get_height(dest_area);
lv_coord_t dest_w = lv_area_get_width(dest_area);
for(y = 0; y < dest_h; y++) {
lv_memcpy(cbuf, src_tmp8, dest_w * sizeof(lv_color_t));
cbuf += dest_w;
src_tmp8 += src_stride_byte;
}
src_tmp8 = (const uint8_t *)src_buf;
src_tmp8 += sizeof(lv_color_t) * src_w * src_h;
src_tmp8 += src_stride * dest_area->y1 + dest_area->x1;
for(y = 0; y < dest_h; y++) {
lv_memcpy(abuf, src_tmp8, dest_w);
abuf += dest_w;
src_tmp8 += src_stride;
}
}
} }
#if 0 #if 0