feat(cmsis-pack): Monthly update for May (alpha) (#3359)

* feat(cmsis-pack): Monthly update for May

* fix(benchmark): fix a typo

* fix(draw): fix warning

* Update LVGL.lvgl.1.0.4-alpha5.pack

* feat(arm-2d): add a quick patch to support RGB565A8
This commit is contained in:
Gabriel Wang
2022-05-16 19:41:59 +01:00
committed by GitHub
parent c5d1557738
commit a7cfc0b901
8 changed files with 51 additions and 29 deletions

View File

@@ -692,7 +692,7 @@ void lv_demo_benchmark_run_scene(int_fast16_t scene_no)
} }
void lv_demo_benchmark_set_finished_cb(finished_cb_t * finished_cb); void lv_demo_benchmark_set_finished_cb(finished_cb_t * finished_cb)
{ {
benchmark_finished_cb = finished_cb; benchmark_finished_cb = finished_cb;
} }

View File

@@ -36,7 +36,15 @@
<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-04-27" version="1.0.3" url="https://raw.githubusercontent.com/lvgl/lvgl/master/env_support/cmsis-pack/LVGL.lvgl.1.0.3.pack"> <release date="2022-05-16" version="1.0.4-alpha5" url="https://raw.githubusercontent.com/lvgl/lvgl/master/env_support/cmsis-pack/LVGL.lvgl.1.0.4-alpha5.pack">
- LVGL 8.3.0-dev
- Monthly update for May
- Update drawing service
- Update GPU support for Arm-2D library
- Improving the methodology used in the benchmark.
- Add new colour support for RGB565A8
</release>
<release date="2022-04-27" version="1.0.3" url="https://github.com/lvgl/lvgl/raw/b81437e96423826272cd42d5555373f15bfdf03a/env_support/cmsis-pack/LVGL.lvgl.1.0.3.pack">
- LVGL 8.3.0-dev - LVGL 8.3.0-dev
- Monthly update for April - Monthly update for April
- Add GPU support for SWM341-DMA2D - Add GPU support for SWM341-DMA2D

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-04-27T00:49:00</timestamp> <timestamp>2022-05-16T00:17:29</timestamp>
<pindex> <pindex>
<pdsc url="https://raw.githubusercontent.com/lvgl/lvgl/master/env_support/cmsis-pack/" vendor="LVGL" name="lvgl" version="1.0.3"/> <pdsc url="https://raw.githubusercontent.com/lvgl/lvgl/master/env_support/cmsis-pack/" vendor="LVGL" name="lvgl" version="1.0.4-alpha5"/>
</pindex> </pindex>
</index> </index>

View File

@@ -44,11 +44,13 @@ remove the misleading guide above this code segment.
- LV_USE_GPU_NXP_PXP - LV_USE_GPU_NXP_PXP
- 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
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
#define LV_ATTRIBUTE_MEM_ALIGN __attribute__((aligned(4))) #define LV_ATTRIBUTE_MEM_ALIGN __attribute__((aligned(4)))
``` ```
Update macro `LV_MEM_SIZE` to `(64*1024U)`.
6. Update Theme related macros: 6. Update Theme related macros:
```c ```c

View File

@@ -42,14 +42,14 @@
#define LV_MEM_CUSTOM 0 #define LV_MEM_CUSTOM 0
#if LV_MEM_CUSTOM == 0 #if LV_MEM_CUSTOM == 0
/*Size of the memory available for `lv_mem_alloc()` in bytes (>= 2kB)*/ /*Size of the memory available for `lv_mem_alloc()` in bytes (>= 2kB)*/
#define LV_MEM_SIZE (48U * 1024U) /*[bytes]*/ #define LV_MEM_SIZE (64U * 1024U) /*[bytes]*/
/*Set an address for the memory pool instead of allocating it as a normal array. Can be in external SRAM too.*/ /*Set an address for the memory pool instead of allocating it as a normal array. Can be in external SRAM too.*/
#define LV_MEM_ADR 0 /*0: unused*/ #define LV_MEM_ADR 0 /*0: unused*/
/*Instead of an address give a memory allocator that will be called to get a memory pool for LVGL. E.g. my_malloc*/ /*Instead of an address give a memory allocator that will be called to get a memory pool for LVGL. E.g. my_malloc*/
#if LV_MEM_ADR == 0 #if LV_MEM_ADR == 0
//#define LV_MEM_POOL_INCLUDE your_alloc_library /* Uncomment if using an external allocator*/ #undef LV_MEM_POOL_INCLUDE
//#define LV_MEM_POOL_ALLOC your_alloc /* Uncomment if using an external allocator*/ #undef LV_MEM_POOL_ALLOC
#endif #endif
#else /*LV_MEM_CUSTOM*/ #else /*LV_MEM_CUSTOM*/
@@ -182,7 +182,6 @@
* GPU * GPU
*-----------*/ *-----------*/
/*Use STM32's DMA2D (aka Chrom Art) GPU*/ /*Use STM32's DMA2D (aka Chrom Art) GPU*/
#if LV_USE_GPU_STM32_DMA2D #if LV_USE_GPU_STM32_DMA2D
/*Must be defined to include path of CMSIS header of target processor /*Must be defined to include path of CMSIS header of target processor
@@ -205,7 +204,6 @@
#define LV_USE_GPU_NXP_PXP_AUTO_INIT 0 #define LV_USE_GPU_NXP_PXP_AUTO_INIT 0
#endif #endif
/*Use SDL renderer API*/ /*Use SDL renderer API*/
#define LV_USE_GPU_SDL 0 #define LV_USE_GPU_SDL 0
#if LV_USE_GPU_SDL #if LV_USE_GPU_SDL
@@ -461,8 +459,6 @@
#define LV_USE_ARC 1 #define LV_USE_ARC 1
#define LV_USE_ANIMIMG 1
#define LV_USE_BAR 1 #define LV_USE_BAR 1
#define LV_USE_BTN 1 #define LV_USE_BTN 1
@@ -508,6 +504,8 @@
/*----------- /*-----------
* Widgets * Widgets
*----------*/ *----------*/
#define LV_USE_ANIMIMG 1
#define LV_USE_CALENDAR 1 #define LV_USE_CALENDAR 1
#if LV_USE_CALENDAR #if LV_USE_CALENDAR
#define LV_CALENDAR_WEEK_STARTS_MONDAY 0 #define LV_CALENDAR_WEEK_STARTS_MONDAY 0
@@ -540,6 +538,12 @@
#define LV_USE_MSGBOX 1 #define LV_USE_MSGBOX 1
#define LV_USE_SPAN 1
#if LV_USE_SPAN
/*A line text can contain maximum num of span descriptor */
#define LV_SPAN_SNIPPET_STACK_SIZE 64
#endif
#define LV_USE_SPINBOX 1 #define LV_USE_SPINBOX 1
#define LV_USE_SPINNER 1 #define LV_USE_SPINNER 1
@@ -550,12 +554,6 @@
#define LV_USE_WIN 1 #define LV_USE_WIN 1
#define LV_USE_SPAN 1
#if LV_USE_SPAN
/*A line text can contain maximum num of span descriptor */
#define LV_SPAN_SNIPPET_STACK_SIZE 64
#endif
/*----------- /*-----------
* Themes * Themes
*----------*/ *----------*/
@@ -625,6 +623,7 @@
/*Enable the examples to be built with the library*/ /*Enable the examples to be built with the library*/
#define LV_BUILD_EXAMPLES 1 #define LV_BUILD_EXAMPLES 1
/*--END OF LV_CONF_H--*/ /*--END OF LV_CONF_H--*/
#endif /*LV_CONF_H*/ #endif /*LV_CONF_H*/

View File

@@ -868,6 +868,19 @@ static void lv_draw_arm2d_img_decoded(struct _lv_draw_ctx_t * draw_ctx,
blend_dsc.blend_area = coords; blend_dsc.blend_area = coords;
lv_draw_sw_blend(draw_ctx, &blend_dsc); lv_draw_sw_blend(draw_ctx, &blend_dsc);
} }
#if LV_COLOR_DEPTH == 16
else if(!mask_any && !transform && cf == LV_IMG_CF_RGB565A8 && draw_dsc->recolor_opa == LV_OPA_TRANSP) {
lv_coord_t src_w = lv_area_get_width(coords);
lv_coord_t src_h = lv_area_get_height(coords);
blend_dsc.src_buf = (const lv_color_t *)src_buf;
blend_dsc.mask_buf = (lv_opa_t *)src_buf;
blend_dsc.mask_buf += sizeof(lv_color_t) * src_w * src_h;
blend_dsc.blend_area = coords;
blend_dsc.mask_area = coords;
blend_dsc.mask_res = LV_DRAW_MASK_RES_CHANGED;
lv_draw_sw_blend(draw_ctx, &blend_dsc);
}
#endif
/*In the other cases every pixel need to be checked one-by-one*/ /*In the other cases every pixel need to be checked one-by-one*/
else { else {
blend_area.x1 = draw_ctx->clip_area->x1; blend_area.x1 = draw_ctx->clip_area->x1;

View File

@@ -85,7 +85,7 @@ LV_ATTRIBUTE_FAST_MEM void lv_draw_sw_img_decoded(struct _lv_draw_ctx_t * draw_c
lv_coord_t src_w = lv_area_get_width(coords); lv_coord_t src_w = lv_area_get_width(coords);
lv_coord_t src_h = lv_area_get_height(coords); lv_coord_t src_h = lv_area_get_height(coords);
blend_dsc.src_buf = (const lv_color_t *)src_buf; blend_dsc.src_buf = (const lv_color_t *)src_buf;
blend_dsc.mask_buf = (const void *)src_buf; blend_dsc.mask_buf = (lv_opa_t *)src_buf;
blend_dsc.mask_buf += sizeof(lv_color_t) * src_w * src_h; blend_dsc.mask_buf += sizeof(lv_color_t) * src_w * src_h;
blend_dsc.blend_area = coords; blend_dsc.blend_area = coords;
blend_dsc.mask_area = coords; blend_dsc.mask_area = coords;