aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--demos/widgets/lv_demo_widgets.c2
-rw-r--r--lv_conf_template.h2
-rw-r--r--src/core/lv_obj.c2
-rw-r--r--src/core/lv_obj.h2
-rw-r--r--src/core/lv_refr.c4
-rw-r--r--src/draw/nxp/pxp/lv_draw_pxp_blend.c4
-rw-r--r--src/draw/stm32_dma2d/lv_gpu_stm32_dma2d.c5
-rw-r--r--src/draw/sw/lv_draw_sw_blend.c23
-rw-r--r--src/draw/sw/lv_draw_sw_letter.c17
-rw-r--r--src/draw/sw/lv_draw_sw_transform.c8
-rw-r--r--src/extra/libs/bmp/lv_bmp.c8
-rw-r--r--src/extra/libs/ffmpeg/lv_ffmpeg.c6
-rw-r--r--src/extra/libs/fsdrv/lv_fs_stdio.c13
-rw-r--r--src/extra/libs/rlottie/lv_rlottie.c5
-rw-r--r--src/extra/libs/sjpg/lv_sjpg.c4
-rw-r--r--src/lv_conf_internal.h10
-rw-r--r--src/misc/lv_color.h32
-rw-r--r--src/misc/lv_gc.h4
-rw-r--r--src/misc/lv_log.c11
-rw-r--r--src/misc/lv_mem.c2
-rw-r--r--src/misc/lv_mem.h2
-rw-r--r--src/misc/lv_mem_builtin.c1
-rw-r--r--src/misc/lv_mem_builtin.h2
-rw-r--r--src/misc/lv_printf.c9
-rw-r--r--src/misc/lv_printf.h33
-rw-r--r--src/misc/lv_tlsf.c4
-rw-r--r--src/misc/lv_tlsf.h4
-rw-r--r--src/widgets/lv_canvas.c36
-rw-r--r--tests/CMakeLists.txt10
-rw-r--r--tests/src/lv_test_init.c3
-rw-r--r--tests/src/test_cases/test_fs.c2
-rw-r--r--tests/src/test_cases/test_mem.c2
32 files changed, 80 insertions, 192 deletions
diff --git a/demos/widgets/lv_demo_widgets.c b/demos/widgets/lv_demo_widgets.c
index 41c4d4047..45523d95a 100644
--- a/demos/widgets/lv_demo_widgets.c
+++ b/demos/widgets/lv_demo_widgets.c
@@ -10,7 +10,7 @@
#if LV_USE_DEMO_WIDGETS
-#if LV_MEM_CUSTOM == 0 && LV_MEM_SIZE < (38ul * 1024ul)
+#if LV_USE_BUILTIN_MALLOC && LV_MEM_SIZE < (38ul * 1024ul)
#error Insufficient memory for lv_demo_widgets. Please set LV_MEM_SIZE to at least 38KB (38ul * 1024ul). 48KB is recommended.
#endif
diff --git a/lv_conf_template.h b/lv_conf_template.h
index 917a84235..29bdf268f 100644
--- a/lv_conf_template.h
+++ b/lv_conf_template.h
@@ -710,7 +710,7 @@
====================*/
/*Show some widget. It might be required to increase `LV_MEM_SIZE` */
-#define LV_USE_DEMO_WIDGETS 1
+#define LV_USE_DEMO_WIDGETS 0
#if LV_USE_DEMO_WIDGETS
#define LV_DEMO_WIDGETS_SLIDESHOW 0
#endif
diff --git a/src/core/lv_obj.c b/src/core/lv_obj.c
index 976728633..6503f8d8d 100644
--- a/src/core/lv_obj.c
+++ b/src/core/lv_obj.c
@@ -187,7 +187,7 @@ void lv_init(void)
LV_LOG_TRACE("finished");
}
-#if LV_ENABLE_GC || !LV_MEM_CUSTOM
+#if LV_ENABLE_GC || LV_USE_BUILTIN_MALLOC
void lv_deinit(void)
{
diff --git a/src/core/lv_obj.h b/src/core/lv_obj.h
index c89e46099..97c74bac6 100644
--- a/src/core/lv_obj.h
+++ b/src/core/lv_obj.h
@@ -201,7 +201,7 @@ typedef struct _lv_obj_t {
*/
void lv_init(void);
-#if LV_ENABLE_GC || !LV_MEM_CUSTOM
+#if LV_ENABLE_GC || LV_USE_BUILTIN_MALLOC
/**
* Deinit the 'lv' library
diff --git a/src/core/lv_refr.c b/src/core/lv_refr.c
index ffd4c98ba..34db8e593 100644
--- a/src/core/lv_refr.c
+++ b/src/core/lv_refr.c
@@ -384,7 +384,7 @@ void _lv_disp_refr_timer(lv_timer_t * tmr)
fps_limit = 1000 / disp_refr->refr_timer->period;
}
else {
- fps_limit = 1000 / LV_DISP_DEF_REFR_PERIOD;
+ fps_limit = 1000 / 33;
}
if(perf_monitor.elaps_sum == 0) {
@@ -409,7 +409,7 @@ void _lv_disp_refr_timer(lv_timer_t * tmr)
}
#endif
-#if LV_USE_MEM_MONITOR && LV_MEM_CUSTOM == 0 && LV_USE_LABEL
+#if LV_USE_MEM_MONITOR && LV_USE_BUILTIN_MALLOC && LV_USE_LABEL
lv_obj_t * mem_label = mem_monitor.mem_label;
if(mem_label == NULL) {
mem_label = lv_label_create(lv_layer_sys());
diff --git a/src/draw/nxp/pxp/lv_draw_pxp_blend.c b/src/draw/nxp/pxp/lv_draw_pxp_blend.c
index adf907891..24628cb78 100644
--- a/src/draw/nxp/pxp/lv_draw_pxp_blend.c
+++ b/src/draw/nxp/pxp/lv_draw_pxp_blend.c
@@ -39,10 +39,6 @@
* DEFINES
*********************/
-#if LV_COLOR_16_SWAP
- #error Color swap not implemented. Disable LV_COLOR_16_SWAP feature.
-#endif
-
#if LV_COLOR_DEPTH==16
#define PXP_OUT_PIXEL_FORMAT kPXP_OutputPixelFormatRGB565
#define PXP_AS_PIXEL_FORMAT kPXP_AsPixelFormatRGB565
diff --git a/src/draw/stm32_dma2d/lv_gpu_stm32_dma2d.c b/src/draw/stm32_dma2d/lv_gpu_stm32_dma2d.c
index 4eb1940ef..28cdab51c 100644
--- a/src/draw/stm32_dma2d/lv_gpu_stm32_dma2d.c
+++ b/src/draw/stm32_dma2d/lv_gpu_stm32_dma2d.c
@@ -17,11 +17,6 @@
* DEFINES
*********************/
-#if LV_COLOR_16_SWAP
- // TODO: F7 has red blue swap bit in control register for all layers and output
- #error "Can't use DMA2D with LV_COLOR_16_SWAP 1"
-#endif
-
#if LV_COLOR_DEPTH == 8
#error "Can't use DMA2D with LV_COLOR_DEPTH == 8"
#endif
diff --git a/src/draw/sw/lv_draw_sw_blend.c b/src/draw/sw/lv_draw_sw_blend.c
index 10fa75f75..02318a0f8 100644
--- a/src/draw/sw/lv_draw_sw_blend.c
+++ b/src/draw/sw/lv_draw_sw_blend.c
@@ -356,7 +356,7 @@ static inline void set_px_argb(uint8_t * buf, lv_color_t color, lv_opa_t opa)
lv_color_t bg_color;
lv_color_t res_color;
lv_opa_t bg_opa = buf[LV_IMG_PX_SIZE_ALPHA_BYTE - 1];
-#if LV_COLOR_DEPTH == 8
+#if LV_COLOR_DEPTH == 8 || LV_COLOR_DEPTH == 1
bg_color.full = buf[0];
lv_color_mix_with_alpha(bg_color, bg_opa, color, opa, &res_color, &buf[1]);
if(buf[1] <= LV_OPA_MIN) return;
@@ -388,7 +388,7 @@ static inline void set_px_argb_blend(uint8_t * buf, lv_color_t color, lv_opa_t o
lv_color_t bg_color;
/*Get the BG color*/
-#if LV_COLOR_DEPTH == 8
+#if LV_COLOR_DEPTH == 8 || LV_COLOR_DEPTH == 1
if(buf[1] <= LV_OPA_MIN) return;
bg_color.full = buf[0];
#elif LV_COLOR_DEPTH == 16
@@ -408,8 +408,8 @@ static inline void set_px_argb_blend(uint8_t * buf, lv_color_t color, lv_opa_t o
}
/*Set the result color*/
-#if LV_COLOR_DEPTH == 8
- buf[0] = res_color.full;
+#if LV_COLOR_DEPTH == 8 || LV_COLOR_DEPTH == 1
+ buf[0] = last_res_color.full;
#elif LV_COLOR_DEPTH == 16
buf[0] = last_res_color.full & 0xff;
buf[1] = last_res_color.full >> 8;
@@ -936,16 +936,8 @@ static inline lv_color_t color_blend_true_color_additive(lv_color_t fg, lv_color
tmp = bg.ch.green + fg.ch.green;
fg.ch.green = LV_MIN(tmp, 7);
#elif LV_COLOR_DEPTH == 16
-#if LV_COLOR_16_SWAP == 0
tmp = bg.ch.green + fg.ch.green;
fg.ch.green = LV_MIN(tmp, 63);
-#else
- tmp = (bg.ch.green_h << 3) + bg.ch.green_l + (fg.ch.green_h << 3) + fg.ch.green_l;
- tmp = LV_MIN(tmp, 63);
- fg.ch.green_h = tmp >> 3;
- fg.ch.green_l = tmp & 0x7;
-#endif
-
#elif LV_COLOR_DEPTH == 32
tmp = bg.ch.green + fg.ch.green;
fg.ch.green = LV_MIN(tmp, 255);
@@ -974,15 +966,8 @@ static inline lv_color_t color_blend_true_color_subtractive(lv_color_t fg, lv_co
tmp = bg.ch.red - fg.ch.red;
fg.ch.red = LV_MAX(tmp, 0);
-#if LV_COLOR_16_SWAP == 0
tmp = bg.ch.green - fg.ch.green;
fg.ch.green = LV_MAX(tmp, 0);
-#else
- tmp = (bg.ch.green_h << 3) + bg.ch.green_l + (fg.ch.green_h << 3) + fg.ch.green_l;
- tmp = LV_MAX(tmp, 0);
- fg.ch.green_h = tmp >> 3;
- fg.ch.green_l = tmp & 0x7;
-#endif
tmp = bg.ch.blue - fg.ch.blue;
fg.ch.blue = LV_MAX(tmp, 0);
diff --git a/src/draw/sw/lv_draw_sw_letter.c b/src/draw/sw/lv_draw_sw_letter.c
index aaef85fee..1d740f348 100644
--- a/src/draw/sw/lv_draw_sw_letter.c
+++ b/src/draw/sw/lv_draw_sw_letter.c
@@ -438,11 +438,7 @@ static void draw_letter_subpx(lv_draw_ctx_t * draw_ctx, const lv_draw_label_dsc_
uint8_t font_rgb[3];
lv_color_t color = dsc->color;
-#if LV_COLOR_16_SWAP == 0
uint8_t txt_rgb[3] = {color.ch.red, color.ch.green, color.ch.blue};
-#else
- uint8_t txt_rgb[3] = {color.ch.red, (color.ch.green_h << 3) + color.ch.green_l, color.ch.blue};
-#endif
lv_draw_sw_blend_dsc_t blend_dsc;
lv_memzero(&blend_dsc, sizeof(blend_dsc));
@@ -481,14 +477,7 @@ static void draw_letter_subpx(lv_draw_ctx_t * draw_ctx, const lv_draw_label_dsc_
subpx_cnt = 0;
lv_color_t res_color;
-#if LV_COLOR_16_SWAP == 0
uint8_t bg_rgb[3] = {dest_buf_tmp->ch.red, dest_buf_tmp->ch.green, dest_buf_tmp->ch.blue};
-#else
- uint8_t bg_rgb[3] = {dest_buf_tmp->ch.red,
- (dest_buf_tmp->ch.green_h << 3) + dest_buf_tmp->ch.green_l,
- dest_buf_tmp->ch.blue
- };
-#endif
#if LV_DRAW_SW_FONT_SUBPX_BGR
res_color.ch.blue = (uint32_t)((uint32_t)txt_rgb[0] * font_rgb[0] + (bg_rgb[0] * (255 - font_rgb[0]))) >> 8;
@@ -498,13 +487,7 @@ static void draw_letter_subpx(lv_draw_ctx_t * draw_ctx, const lv_draw_label_dsc_
res_color.ch.blue = (uint32_t)((uint16_t)txt_rgb[2] * font_rgb[2] + (bg_rgb[2] * (255 - font_rgb[2]))) >> 8;
#endif
-#if LV_COLOR_16_SWAP == 0
res_color.ch.green = (uint32_t)((uint32_t)txt_rgb[1] * font_rgb[1] + (bg_rgb[1] * (255 - font_rgb[1]))) >> 8;
-#else
- uint8_t green = (uint32_t)((uint32_t)txt_rgb[1] * font_rgb[1] + (bg_rgb[1] * (255 - font_rgb[1]))) >> 8;
- res_color.ch.green_h = green >> 3;
- res_color.ch.green_l = green & 0x7;
-#endif
#if LV_COLOR_DEPTH == 32
res_color.ch.alpha = 0xff;
diff --git a/src/draw/sw/lv_draw_sw_transform.c b/src/draw/sw/lv_draw_sw_transform.c
index 12fe89eff..65aec0e22 100644
--- a/src/draw/sw/lv_draw_sw_transform.c
+++ b/src/draw/sw/lv_draw_sw_transform.c
@@ -181,7 +181,7 @@ static void rgb_no_aa(const uint8_t * src, lv_coord_t src_w, lv_coord_t src_h, l
}
else {
-#if LV_COLOR_DEPTH == 8
+#if LV_COLOR_DEPTH == 8 || LV_COLOR_DEPTH == 1
const uint8_t * src_tmp = src;
src_tmp += ys_int * src_stride + xs_int;
cbuf[x].full = src_tmp[0];
@@ -222,7 +222,7 @@ static void argb_no_aa(const uint8_t * src, lv_coord_t src_w, lv_coord_t src_h,
const uint8_t * src_tmp = src;
src_tmp += (ys_int * src_stride * LV_IMG_PX_SIZE_ALPHA_BYTE) + xs_int * LV_IMG_PX_SIZE_ALPHA_BYTE;
-#if LV_COLOR_DEPTH == 8
+#if LV_COLOR_DEPTH == 8 || LV_COLOR_DEPTH == 1
cbuf[x].full = src_tmp[0];
#elif LV_COLOR_DEPTH == 16
cbuf[x].full = src_tmp[0] + (src_tmp[1] << 8);
@@ -397,7 +397,7 @@ static void argb_and_rgb_aa(const uint8_t * src, lv_coord_t src_w, lv_coord_t sr
if(abuf[x] == 0x00) continue;
-#if LV_COLOR_DEPTH == 8
+#if LV_COLOR_DEPTH == 8 || LV_COLOR_DEPTH == 1
c_base.full = px_base[0];
c_ver.full = px_ver[0];
c_hor.full = px_hor[0];
@@ -430,7 +430,7 @@ static void argb_and_rgb_aa(const uint8_t * src, lv_coord_t src_w, lv_coord_t sr
}
/*Partially out of the image*/
else {
-#if LV_COLOR_DEPTH == 8
+#if LV_COLOR_DEPTH == 8 || LV_COLOR_DEPTH == 1
cbuf[x].full = src_tmp[0];
#elif LV_COLOR_DEPTH == 16
cbuf[x].full = src_tmp[0] + (src_tmp[1] << 8);
diff --git a/src/extra/libs/bmp/lv_bmp.c b/src/extra/libs/bmp/lv_bmp.c
index 8484b6cd8..3c5bd337d 100644
--- a/src/extra/libs/bmp/lv_bmp.c
+++ b/src/extra/libs/bmp/lv_bmp.c
@@ -203,14 +203,8 @@ static lv_res_t decoder_read_line(lv_img_decoder_t * decoder, lv_img_decoder_dsc
lv_fs_seek(&b->f, p, LV_FS_SEEK_SET);
lv_fs_read(&b->f, buf, len * (b->bpp / 8), NULL);
-#if LV_COLOR_DEPTH == 16 && LV_COLOR_16_SWAP == 1
- for(unsigned int i = 0; i < len * (b->bpp / 8); i += 2) {
- buf[i] = buf[i] ^ buf[i + 1];
- buf[i + 1] = buf[i] ^ buf[i + 1];
- buf[i] = buf[i] ^ buf[i + 1];
- }
-#elif LV_COLOR_DEPTH == 32
+#if LV_COLOR_DEPTH == 32
if(b->bpp == 32) {
lv_coord_t i;
for(i = 0; i < len; i++) {
diff --git a/src/extra/libs/ffmpeg/lv_ffmpeg.c b/src/extra/libs/ffmpeg/lv_ffmpeg.c
index efaa6925e..ff580cdc7 100644
--- a/src/extra/libs/ffmpeg/lv_ffmpeg.c
+++ b/src/extra/libs/ffmpeg/lv_ffmpeg.c
@@ -22,11 +22,7 @@
#if LV_COLOR_DEPTH == 1 || LV_COLOR_DEPTH == 8
#define AV_PIX_FMT_TRUE_COLOR AV_PIX_FMT_RGB8
#elif LV_COLOR_DEPTH == 16
- #if LV_COLOR_16_SWAP == 0
- #define AV_PIX_FMT_TRUE_COLOR AV_PIX_FMT_RGB565LE
- #else
- #define AV_PIX_FMT_TRUE_COLOR AV_PIX_FMT_RGB565BE
- #endif
+ #define AV_PIX_FMT_TRUE_COLOR AV_PIX_FMT_RGB565LE
#elif LV_COLOR_DEPTH == 32
#define AV_PIX_FMT_TRUE_COLOR AV_PIX_FMT_BGR0
#else
diff --git a/src/extra/libs/fsdrv/lv_fs_stdio.c b/src/extra/libs/fsdrv/lv_fs_stdio.c
index 00acad1fb..4f9fa1670 100644
--- a/src/extra/libs/fsdrv/lv_fs_stdio.c
+++ b/src/extra/libs/fsdrv/lv_fs_stdio.c
@@ -14,6 +14,7 @@
#ifndef WIN32
#include <dirent.h>
#include <unistd.h>
+ #include <errno.h>
#else
#include <windows.h>
#endif
@@ -117,7 +118,17 @@ static void * fs_open(lv_fs_drv_t * drv, const char * path, lv_fs_mode_t mode)
char buf[MAX_PATH_LEN];
lv_snprintf(buf, sizeof(buf), LV_FS_STDIO_PATH "%s", path);
- return fopen(buf, flags);
+ void * a = fopen(buf, flags);
+
+ printf("%s\n", path);
+ printf("%d\n", errno);
+
+ char buf2[512];
+ getcwd(buf2, 512);
+ printf("%s\n", buf2);
+ printf("%p\n", a);
+
+ return a;
}
/**
diff --git a/src/extra/libs/rlottie/lv_rlottie.c b/src/extra/libs/rlottie/lv_rlottie.c
index e208fa5a2..aa6e9866a 100644
--- a/src/extra/libs/rlottie/lv_rlottie.c
+++ b/src/extra/libs/rlottie/lv_rlottie.c
@@ -207,12 +207,7 @@ static void convert_to_rgba5658(uint32_t * pix, const size_t width, const size_t
That's 3 mask, 3 bitshifts and 2 or operations */
for(size_t x = 0; x < width; x++) {
uint32_t in = src[x];
-#if LV_COLOR_16_SWAP == 0
uint16_t r = (uint16_t)(((in & 0xF80000) >> 8) | ((in & 0xFC00) >> 5) | ((in & 0xFF) >> 3));
-#else
- /* We want: rrrr rrrr GGGg gggg bbbb bbbb => gggb bbbb rrrr rGGG */
- uint16_t r = (uint16_t)(((in & 0xF80000) >> 16) | ((in & 0xFC00) >> 13) | ((in & 0x1C00) << 3) | ((in & 0xF8) << 5));
-#endif
lv_memcpy(dest, &r, sizeof(r));
dest[sizeof(r)] = (uint8_t)(in >> 24);
diff --git a/src/extra/libs/sjpg/lv_sjpg.c b/src/extra/libs/sjpg/lv_sjpg.c
index e65cfcb38..85fe1f6a9 100644
--- a/src/extra/libs/sjpg/lv_sjpg.c
+++ b/src/extra/libs/sjpg/lv_sjpg.c
@@ -767,7 +767,7 @@ static lv_res_t decoder_read_line(lv_img_decoder_t * decoder, lv_img_decoder_dsc
uint16_t col_16bit = (*cache++ & 0xf8) << 8;
col_16bit |= (*cache++ & 0xFC) << 3;
col_16bit |= (*cache++ >> 3);
-#if LV_BIG_ENDIAN_SYSTEM == 1 || LV_COLOR_16_SWAP == 1
+#if LV_BIG_ENDIAN_SYSTEM == 1
buf[offset++] = col_16bit >> 8;
buf[offset++] = col_16bit & 0xff;
#else
@@ -831,7 +831,7 @@ static lv_res_t decoder_read_line(lv_img_decoder_t * decoder, lv_img_decoder_dsc
uint16_t col_8bit = (*cache++ & 0xf8) << 8;
col_8bit |= (*cache++ & 0xFC) << 3;
col_8bit |= (*cache++ >> 3);
-#if LV_BIG_ENDIAN_SYSTEM == 1 || LV_COLOR_16_SWAP == 1
+#if LV_BIG_ENDIAN_SYSTEM == 1
buf[offset++] = col_8bit >> 8;
buf[offset++] = col_8bit & 0xff;
#else
diff --git a/src/lv_conf_internal.h b/src/lv_conf_internal.h
index ea37b12eb..a17ca4189 100644
--- a/src/lv_conf_internal.h
+++ b/src/lv_conf_internal.h
@@ -2337,14 +2337,10 @@
/*Show some widget. It might be required to increase `LV_MEM_SIZE` */
#ifndef LV_USE_DEMO_WIDGETS
- #ifdef _LV_KCONFIG_PRESENT
- #ifdef CONFIG_LV_USE_DEMO_WIDGETS
- #define LV_USE_DEMO_WIDGETS CONFIG_LV_USE_DEMO_WIDGETS
- #else
- #define LV_USE_DEMO_WIDGETS 0
- #endif
+ #ifdef CONFIG_LV_USE_DEMO_WIDGETS
+ #define LV_USE_DEMO_WIDGETS CONFIG_LV_USE_DEMO_WIDGETS
#else
- #define LV_USE_DEMO_WIDGETS 1
+ #define LV_USE_DEMO_WIDGETS 0
#endif
#endif
#if LV_USE_DEMO_WIDGETS
diff --git a/src/misc/lv_color.h b/src/misc/lv_color.h
index 2cc92f277..9039dc4dc 100644
--- a/src/misc/lv_color.h
+++ b/src/misc/lv_color.h
@@ -23,17 +23,12 @@ extern "C" {
#error "LV_COLOR_DEPTH 24 is deprecated. Use LV_COLOR_DEPTH 32 instead (lv_conf.h)"
#endif
-#if LV_COLOR_DEPTH != 16 && LV_COLOR_16_SWAP != 0
-#error "LV_COLOR_16_SWAP requires LV_COLOR_DEPTH == 16. Set it in lv_conf.h"
-#endif
-
#include <stdint.h>
/*********************
* DEFINES
*********************/
LV_EXPORT_CONST_INT(LV_COLOR_DEPTH);
-LV_EXPORT_CONST_INT(LV_COLOR_16_SWAP);
/**
* Opacity percentages.
@@ -128,30 +123,17 @@ enum {
# define LV_COLOR_MAKE8(r8, g8, b8) {{(uint8_t)((b8 >> 6) & 0x3U), (uint8_t)((g8 >> 5) & 0x7U), (uint8_t)((r8 >> 5) & 0x7U)}}
# define LV_COLOR_SET_R16(c, v) (c).ch.red = (uint8_t)((v) & 0x1FU)
-#if LV_COLOR_16_SWAP == 0
# define LV_COLOR_SET_G16(c, v) (c).ch.green = (uint8_t)((v) & 0x3FU)
-#else
-# define LV_COLOR_SET_G16(c, v) {(c).ch.green_h = (uint8_t)(((v) >> 3) & 0x7); (c).ch.green_l = (uint8_t)((v) & 0x7);}
-#endif
# define LV_COLOR_SET_B16(c, v) (c).ch.blue = (uint8_t)((v) & 0x1FU)
# define LV_COLOR_SET_A16(c, v) do {} while(0)
# define LV_COLOR_GET_R16(c) (c).ch.red
-#if LV_COLOR_16_SWAP == 0
# define LV_COLOR_GET_G16(c) (c).ch.green
-#else
-# define LV_COLOR_GET_G16(c) (((c).ch.green_h << 3) + (c).ch.green_l)
-#endif
# define LV_COLOR_GET_B16(c) (c).ch.blue
# define LV_COLOR_GET_A16(c) 0xFF
-#if LV_COLOR_16_SWAP == 0
# define _LV_COLOR_ZERO_INITIALIZER16 {{0x00, 0x00, 0x00}}
# define LV_COLOR_MAKE16(r8, g8, b8) {{(uint8_t)((b8 >> 3) & 0x1FU), (uint8_t)((g8 >> 2) & 0x3FU), (uint8_t)((r8 >> 3) & 0x1FU)}}
-#else
-# define _LV_COLOR_ZERO_INITIALIZER16 {{0x00, 0x00, 0x00, 0x00}}
-# define LV_COLOR_MAKE16(r8, g8, b8) {{(uint8_t)((g8 >> 5) & 0x7U), (uint8_t)((r8 >> 3) & 0x1FU), (uint8_t)((b8 >> 3) & 0x1FU), (uint8_t)((g8 >> 2) & 0x7U)}}
-#endif
# define LV_COLOR_SET_R32(c, v) (c).ch.red = (uint8_t)((v) & 0xFF)
# define LV_COLOR_SET_G32(c, v) (c).ch.green = (uint8_t)((v) & 0xFF)
@@ -207,16 +189,9 @@ typedef union {
typedef union {
struct {
-#if LV_COLOR_16_SWAP == 0
uint16_t blue : 5;
uint16_t green : 6;
uint16_t red : 5;
-#else
- uint16_t green_h : 3;
- uint16_t red : 5;
- uint16_t blue : 5;
- uint16_t green_l : 3;
-#endif
} ch;
uint16_t full;
} lv_color16_t;
@@ -440,7 +415,7 @@ LV_ATTRIBUTE_FAST_MEM static inline lv_color_t lv_color_mix(lv_color_t c1, lv_co
{
lv_color_t ret;
-#if LV_COLOR_DEPTH == 16 && LV_COLOR_16_SWAP == 0 && LV_COLOR_MIX_ROUND_OFS == 0
+#if LV_COLOR_DEPTH == 16 && LV_COLOR_MIX_ROUND_OFS == 0
/*Source: https://stackoverflow.com/a/50012418/1999969*/
mix = (uint32_t)((uint32_t)mix + 4) >> 3;
uint32_t bg = (uint32_t)((uint32_t)c2.full | ((uint32_t)c2.full << 16)) &
@@ -594,7 +569,6 @@ static inline lv_color_t lv_color_hex(uint32_t c)
{
#if LV_COLOR_DEPTH == 16
lv_color_t r;
-#if LV_COLOR_16_SWAP == 0
/* Convert a 4 bytes per pixel in format ARGB32 to R5G6B5 format
naive way (by calling lv_color_make with components):
r = ((c & 0xFF0000) >> 19)
@@ -610,10 +584,6 @@ static inline lv_color_t lv_color_hex(uint32_t c)
rgb565 = r | g | b
That's 3 mask, 3 bitshifts and 2 or operations */
r.full = (uint16_t)(((c & 0xF80000) >> 8) | ((c & 0xFC00) >> 5) | ((c & 0xFF) >> 3));
-#else
- /* We want: rrrr rrrr GGGg gggg bbbb bbbb => gggb bbbb rrrr rGGG */
- r.full = (uint16_t)(((c & 0xF80000) >> 16) | ((c & 0xFC00) >> 13) | ((c & 0x1C00) << 3) | ((c & 0xF8) << 5));
-#endif
return r;
#elif LV_COLOR_DEPTH == 32
lv_color_t r;
diff --git a/src/misc/lv_gc.h b/src/misc/lv_gc.h
index 98c978150..cbabb4a8c 100644
--- a/src/misc/lv_gc.h
+++ b/src/misc/lv_gc.h
@@ -65,9 +65,9 @@ extern "C" {
#define LV_ROOTS LV_ITERATE_ROOTS(LV_DEFINE_ROOT)
#if LV_ENABLE_GC == 1
-#if LV_MEM_CUSTOM != 1
+#if LV_USE_BUILTIN_MALLOC
#error "GC requires CUSTOM_MEM"
-#endif /*LV_MEM_CUSTOM*/
+#endif /*LV_USE_BUILTIN_MALLOC*/
#include LV_GC_INCLUDE
#else /*LV_ENABLE_GC*/
#define LV_GC_ROOT(x) x
diff --git a/src/misc/lv_log.c b/src/misc/lv_log.c
index d79463f2b..badf400d9 100644
--- a/src/misc/lv_log.c
+++ b/src/misc/lv_log.c
@@ -93,16 +93,10 @@ void _lv_log_add(lv_log_level_t level, const char * file, int line, const char *
#else
if(custom_print_cb) {
char buf[512];
-#if LV_SPRINTF_CUSTOM
char msg[256];
lv_vsnprintf(msg, sizeof(msg), format, args);
lv_snprintf(buf, sizeof(buf), "[%s]\t(%" LV_PRId32 ".%03" LV_PRId32 ", +%" LV_PRId32 ")\t %s: %s \t(in %s line #%d)\n",
lvl_prefix[level], t / 1000, t % 1000, t - last_log_time, func, msg, &file[p], line);
-#else
- lv_vaformat_t vaf = {format, &args};
- lv_snprintf(buf, sizeof(buf), "[%s]\t(%" LV_PRId32 ".%03" LV_PRId32 ", +%" LV_PRId32 ")\t %s: %pV \t(in %s line #%d)\n",
- lvl_prefix[level], t / 1000, t % 1000, t - last_log_time, func, (void *)&vaf, &file[p], line);
-#endif
custom_print_cb(buf);
}
#endif
@@ -124,12 +118,7 @@ void lv_log(const char * format, ...)
#else
if(custom_print_cb) {
char buf[512];
-#if LV_SPRINTF_CUSTOM
lv_vsnprintf(buf, sizeof(buf), format, args);
-#else
- lv_vaformat_t vaf = {format, &args};
- lv_snprintf(buf, sizeof(buf), "%pV", (void *)&vaf);
-#endif
custom_print_cb(buf);
}
#endif
diff --git a/src/misc/lv_mem.c b/src/misc/lv_mem.c
index f165848a0..b4a7f6860 100644
--- a/src/misc/lv_mem.c
+++ b/src/misc/lv_mem.c
@@ -135,7 +135,7 @@ void * lv_memcpy(void * dst, const void * src, size_t len)
void lv_memset(void * dst, uint8_t v, size_t len)
{
- return LV_MEMSET(dst, v, len);
+ LV_MEMSET(dst, v, len);
}
size_t lv_strlen(const char * str)
diff --git a/src/misc/lv_mem.h b/src/misc/lv_mem.h
index 84230001c..3d0a7cab5 100644
--- a/src/misc/lv_mem.h
+++ b/src/misc/lv_mem.h
@@ -84,7 +84,7 @@ static inline void lv_memzero(void * dst, size_t len)
lv_memset(dst, 0x00, len);
}
-size_t lv_strlenn(const char * str);
+size_t lv_strlen(const char * str);
size_t lv_strncpy(char * dst, size_t dest_size, const char * src);
diff --git a/src/misc/lv_mem_builtin.c b/src/misc/lv_mem_builtin.c
index c438b5211..fd7ee35cc 100644
--- a/src/misc/lv_mem_builtin.c
+++ b/src/misc/lv_mem_builtin.c
@@ -7,6 +7,7 @@
*********************/
#include "lv_mem.h"
#if LV_USE_BUILTIN_MALLOC
+#include "lv_mem_builtin.h"
#include "lv_tlsf.h"
#include "lv_assert.h"
#include "lv_log.h"
diff --git a/src/misc/lv_mem_builtin.h b/src/misc/lv_mem_builtin.h
index 5f6a0c36c..e413da96c 100644
--- a/src/misc/lv_mem_builtin.h
+++ b/src/misc/lv_mem_builtin.h
@@ -60,7 +60,7 @@ LV_ATTRIBUTE_FAST_MEM void lv_memset_builtin(void * dst, uint8_t v, size_t len);
size_t lv_strlen_builtin(const char * str);
-size_t lv_strncpy_builtin(char * dst, size_t dest_size, const char * src);;
+size_t lv_strncpy_builtin(char * dst, size_t dest_size, const char * src);
/**
*
diff --git a/src/misc/lv_printf.c b/src/misc/lv_printf.c
index 9077a7a11..252dce936 100644
--- a/src/misc/lv_printf.c
+++ b/src/misc/lv_printf.c
@@ -33,9 +33,6 @@
/*Original repository: https://github.com/mpaland/printf*/
#include "lv_printf.h"
-
-#if LV_SPRINTF_CUSTOM == 0
-
#include <stdbool.h>
#define PRINTF_DISABLE_SUPPORT_FLOAT (!LV_SPRINTF_USE_FLOAT)
@@ -862,7 +859,7 @@ static int _vsnprintf(out_fct_type out, char * buffer, const size_t maxlen, cons
///////////////////////////////////////////////////////////////////////////////
-int lv_snprintf(char * buffer, size_t count, const char * format, ...)
+int lv_snprintf_builtin(char * buffer, size_t count, const char * format, ...)
{
va_list va;
va_start(va, format);
@@ -871,9 +868,7 @@ int lv_snprintf(char * buffer, size_t count, const char * format, ...)
return ret;
}
-int lv_vsnprintf(char * buffer, size_t count, const char * format, va_list va)
+int lv_vsnprintf_builtin(char * buffer, size_t count, const char * format, va_list va)
{
return _vsnprintf(_out_buffer, buffer, count, format, va);
}
-
-#endif /*LV_SPRINTF_CUSTOM*/
diff --git a/src/misc/lv_printf.h b/src/misc/lv_printf.h
index 4cbbd84c0..fc9bb0a1f 100644
--- a/src/misc/lv_printf.h
+++ b/src/misc/lv_printf.h
@@ -55,9 +55,6 @@ extern "C" {
#endif
#include "../lv_conf_internal.h"
-
-#if LV_SPRINTF_CUSTOM == 0
-
#include <stdarg.h>
#include <stddef.h>
@@ -68,6 +65,9 @@ typedef struct {
va_list * va;
} lv_vaformat_t;
+int lv_snprintf_builtin(char * buffer, size_t count, const char * format, ...);
+int lv_vsnprintf_builtin(char * buffer, size_t count, const char * format, va_list va);
+
/**
* Tiny snprintf/vsnprintf implementation
* \param buffer A pointer to the buffer where to store the formatted string
@@ -78,12 +78,29 @@ typedef struct {
* null character. A value equal or larger than count indicates truncation. Only when the returned value
* is non-negative and less than count, the string has been completely written.
*/
-int lv_snprintf(char * buffer, size_t count, const char * format, ...) LV_FORMAT_ATTRIBUTE(3, 4);
-int lv_vsnprintf(char * buffer, size_t count, const char * format, va_list va) LV_FORMAT_ATTRIBUTE(3, 0);
+LV_FORMAT_ATTRIBUTE(3, 4) static inline int lv_snprintf(char * buffer, size_t count, const char * format, ...)
+{
+
+ /* Declare a va_list type variable */
+ va_list args;
+
+ /* Initialise the va_list variable with the ... after fmt */
+ va_start(args, format);
+
+ /* Forward the '...' to vprintf */
+ int ret = LV_SNPRINTF(buffer, count, format, args);
+
+ /* Clean up the va_list */
+ va_end(args);
+
+ return ret;
+}
+
+LV_FORMAT_ATTRIBUTE(3, 0) static inline int lv_vsnprintf(char * buffer, size_t count, const char * format, va_list va)
+{
+ return LV_VSNPRINTF(buffer, count, format, va);
+}
-#else
-#include LV_SPRINTF_INCLUDE
-#endif
#ifdef __cplusplus
} /*extern "C"*/
diff --git a/src/misc/lv_tlsf.c b/src/misc/lv_tlsf.c
index 27e0a46cf..255ff3132 100644
--- a/src/misc/lv_tlsf.c
+++ b/src/misc/lv_tlsf.c
@@ -1,5 +1,5 @@
#include "../lv_conf_internal.h"
-#if LV_MEM_CUSTOM == 0
+#if LV_USE_BUILTIN_MALLOC
#include <limits.h>
#include "lv_tlsf.h"
@@ -1243,4 +1243,4 @@ void * lv_tlsf_realloc(lv_tlsf_t tlsf, void * ptr, size_t size)
return p;
}
-#endif /* LV_MEM_CUSTOM == 0 */
+#endif /* LV_USE_BUILTIN_MALLOC */
diff --git a/src/misc/lv_tlsf.h b/src/misc/lv_tlsf.h
index f12590b60..ade62970d 100644
--- a/src/misc/lv_tlsf.h
+++ b/src/misc/lv_tlsf.h
@@ -1,5 +1,5 @@
#include "../lv_conf_internal.h"
-#if LV_MEM_CUSTOM == 0
+#if LV_USE_BUILTIN_MALLOC
#ifndef LV_TLSF_H
#define LV_TLSF_H
@@ -92,4 +92,4 @@ int lv_tlsf_check_pool(lv_pool_t pool);
#endif /*LV_TLSF_H*/
-#endif /* LV_MEM_CUSTOM == 0 */
+#endif /* LV_USE_BUILTIN_MALLOC */
diff --git a/src/widgets/lv_canvas.c b/src/widgets/lv_canvas.c
index afa905f0e..fa3945984 100644
--- a/src/widgets/lv_canvas.c
+++ b/src/widgets/lv_canvas.c
@@ -289,11 +289,7 @@ void lv_canvas_blur_hor(lv_obj_t * obj, const lv_area_t * area, uint16_t r)
if(has_alpha) opa = lv_img_buf_get_px_alpha(&line_img, x_safe, 0);
rsum += c.ch.red;
-#if LV_COLOR_DEPTH == 16 && LV_COLOR_16_SWAP
- gsum += (c.ch.green_h << 3) + c.ch.green_l;
-#else
gsum += c.ch.green;
-#endif
bsum += c.ch.blue;
if(has_alpha) asum += opa;
}
@@ -305,13 +301,7 @@ void lv_canvas_blur_hor(lv_obj_t * obj, const lv_area_t * area, uint16_t r)
if(asum) {
c.ch.red = rsum / r;
-#if LV_COLOR_DEPTH == 16 && LV_COLOR_16_SWAP
- uint8_t gtmp = gsum / r;
- c.ch.green_h = gtmp >> 3;
- c.ch.green_l = gtmp & 0x7;
-#else
c.ch.green = gsum / r;
-#endif
c.ch.blue = bsum / r;
if(has_alpha) opa = asum / r;
@@ -325,11 +315,7 @@ void lv_canvas_blur_hor(lv_obj_t * obj, const lv_area_t * area, uint16_t r)
if(has_alpha) opa = lv_img_buf_get_px_alpha(&line_img, x_safe, 0);
rsum -= c.ch.red;
-#if LV_COLOR_DEPTH == 16 && LV_COLOR_16_SWAP
- gsum -= (c.ch.green_h << 3) + c.ch.green_l;
-#else
gsum -= c.ch.green;
-#endif
bsum -= c.ch.blue;
if(has_alpha) asum -= opa;
@@ -339,11 +325,7 @@ void lv_canvas_blur_hor(lv_obj_t * obj, const lv_area_t * area, uint16_t r)
if(has_alpha) opa = lv_img_buf_get_px_alpha(&line_img, x_safe, 0);
rsum += c.ch.red;
-#if LV_COLOR_DEPTH == 16 && LV_COLOR_16_SWAP
- gsum += (c.ch.green_h << 3) + c.ch.green_l;
-#else
gsum += c.ch.green;
-#endif
bsum += c.ch.blue;
if(has_alpha) asum += opa;
}
@@ -418,11 +400,7 @@ void lv_canvas_blur_ver(lv_obj_t * obj, const lv_area_t * area, uint16_t r)
if(has_alpha) lv_img_buf_set_px_alpha(&line_img, 0, y_safe, opa);
rsum += c.ch.red;
-#if LV_COLOR_DEPTH == 16 && LV_COLOR_16_SWAP
- gsum += (c.ch.green_h << 3) + c.ch.green_l;
-#else
gsum += c.ch.green;
-#endif
bsum += c.ch.blue;
if(has_alpha) asum += opa;
}
@@ -433,13 +411,7 @@ void lv_canvas_blur_ver(lv_obj_t * obj, const lv_area_t * area, uint16_t r)
for(y = a.y1; y <= a.y2; y++) {
if(asum) {
c.ch.red = rsum / r;
-#if LV_COLOR_DEPTH == 16 && LV_COLOR_16_SWAP
- uint8_t gtmp = gsum / r;
- c.ch.green_h = gtmp >> 3;
- c.ch.green_l = gtmp & 0x7;
-#else
c.ch.green = gsum / r;
-#endif
c.ch.blue = bsum / r;
if(has_alpha) opa = asum / r;
@@ -453,11 +425,7 @@ void lv_canvas_blur_ver(lv_obj_t * obj, const lv_area_t * area, uint16_t r)
if(has_alpha) opa = lv_img_buf_get_px_alpha(&line_img, 0, y_safe);
rsum -= c.ch.red;
-#if LV_COLOR_DEPTH == 16 && LV_COLOR_16_SWAP
- gsum -= (c.ch.green_h << 3) + c.ch.green_l;
-#else
gsum -= c.ch.green;
-#endif
bsum -= c.ch.blue;
if(has_alpha) asum -= opa;
@@ -471,11 +439,7 @@ void lv_canvas_blur_ver(lv_obj_t * obj, const lv_area_t * area, uint16_t r)
if(has_alpha) lv_img_buf_set_px_alpha(&line_img, 0, y_safe, opa);
rsum += c.ch.red;
-#if LV_COLOR_DEPTH == 16 && LV_COLOR_16_SWAP
- gsum += (c.ch.green_h << 3) + c.ch.green_l;
-#else
gsum += c.ch.green;
-#endif
bsum += c.ch.blue;
if(has_alpha) asum += opa;
}
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 147c8c13a..9f0d1b614 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -23,7 +23,7 @@ set(LVGL_TEST_OPTIONS_MINIMAL_MONOCHROME
-DLV_COLOR_DEPTH=1
-DLV_MEM_SIZE=65535
-DLV_DPI_DEF=40
- -DLV_DRAW_COMPLEX=0
+ -DLV_USE_DRAW_MASKS=0
-DLV_USE_METER=0
-DLV_USE_LOG=1
-DLV_USE_ASSERT_NULL=0
@@ -47,7 +47,7 @@ set(LVGL_TEST_OPTIONS_NORMAL_8BIT
-DLV_COLOR_DEPTH=8
-DLV_MEM_SIZE=65535
-DLV_DPI_DEF=40
- -DLV_DRAW_COMPLEX=1
+ -DLV_USE_DRAW_MASKS=1
-DLV_USE_LOG=1
-DLV_USE_ASSERT_NULL=0
-DLV_USE_ASSERT_MALLOC=0
@@ -73,7 +73,7 @@ set(LVGL_TEST_OPTIONS_16BIT
-DLV_COLOR_16_SWAP=0
-DLV_MEM_SIZE=65536
-DLV_DPI_DEF=40
- -DLV_DRAW_COMPLEX=1
+ -DLV_USE_DRAW_MASKS=1
-DLV_DITHER_GRADIENT=1
-DLV_USE_LOG=1
-DLV_USE_ASSERT_NULL=0
@@ -100,7 +100,7 @@ set(LVGL_TEST_OPTIONS_16BIT_SWAP
-DLV_COLOR_16_SWAP=1
-DLV_MEM_SIZE=65536
-DLV_DPI_DEF=40
- -DLV_DRAW_COMPLEX=1
+ -DLV_USE_DRAW_MASKS=1
-DLV_DITHER_GRADIENT=1
-DLV_DITHER_ERROR_DIFFUSION=1
-DLV_GRAD_CACHE_DEF_SIZE=8*1024
@@ -128,7 +128,7 @@ set(LVGL_TEST_OPTIONS_FULL_32BIT
-DLV_COLOR_DEPTH=32
-DLV_MEM_SIZE=8388608
-DLV_DPI_DEF=160
- -DLV_DRAW_COMPLEX=1
+ -DLV_USE_DRAW_MASKS=1
-DLV_SHADOW_CACHE_SIZE=1
-DLV_IMG_CACHE_DEF_SIZE=32
-DLV_USE_LOG=1
diff --git a/tests/src/lv_test_init.c b/tests/src/lv_test_init.c
index 8c156022a..0c5f626e3 100644
--- a/tests/src/lv_test_init.c
+++ b/tests/src/lv_test_init.c
@@ -2,6 +2,7 @@
#if LV_BUILD_TEST
#include "lv_test_init.h"
#include "lv_test_indev.h"
+#include "../../src/misc/lv_mem_builtin.h"
#include <sys/time.h>
#include <stdio.h>
#include <stdlib.h>
@@ -28,7 +29,7 @@ void lv_test_init(void)
void lv_test_deinit(void)
{
- lv_mem_deinit();
+ lv_mem_deinit_builtin();
}
static void hal_init(void)
diff --git a/tests/src/test_cases/test_fs.c b/tests/src/test_cases/test_fs.c
index 7e31a96a8..831a8ec4d 100644
--- a/tests/src/test_cases/test_fs.c
+++ b/tests/src/test_cases/test_fs.c
@@ -23,7 +23,7 @@ void test_read(void)
/*'A' has cache*/
lv_fs_file_t fa;
- res = lv_fs_open(&fa, "A:src/test_files/readtest.txt", LV_FS_MODE_RD);
+ res = lv_fs_open(&fa, "A:readtest.txt", LV_FS_MODE_RD);
TEST_ASSERT_EQUAL(LV_FS_RES_OK, res);
/*'B' has no cache*/
diff --git a/tests/src/test_cases/test_mem.c b/tests/src/test_cases/test_mem.c
index 59d4837a8..9f739e54c 100644
--- a/tests/src/test_cases/test_mem.c
+++ b/tests/src/test_cases/test_mem.c
@@ -16,7 +16,7 @@ void tearDown(void)
/* #3324 */
void test_mem_buf_realloc(void)
{
-#if LV_MEM_CUSTOM == 0
+#if LV_USE_BUILTIN_MALLOC
void * buf1 = lv_malloc(20);
void * buf2 = lv_realloc(buf1, LV_MEM_SIZE + 16384);
TEST_ASSERT_NULL(buf2);