summaryrefslogtreecommitdiff
path: root/lib/lvgl/src/stdlib/rtthread
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2024-06-12 17:54:40 +1000
committerjacqueline <me@jacqueline.id.au>2024-06-12 17:54:40 +1000
commit64bd9053a25297f7a442ca831c7da5b44bd33f84 (patch)
treea90c6cad25a12028302ab1a5334510fba0229bae /lib/lvgl/src/stdlib/rtthread
parent611176ed667c4ed7ee9f609e958f9404f4aee91d (diff)
downloadtangara-fw-64bd9053a25297f7a442ca831c7da5b44bd33f84.tar.gz
Update LVGL to v9.1.0
Diffstat (limited to 'lib/lvgl/src/stdlib/rtthread')
-rw-r--r--lib/lvgl/src/stdlib/rtthread/lv_mem_core_rtthread.c98
-rw-r--r--lib/lvgl/src/stdlib/rtthread/lv_sprintf_rtthread.c61
-rw-r--r--lib/lvgl/src/stdlib/rtthread/lv_string_rtthread.c92
3 files changed, 251 insertions, 0 deletions
diff --git a/lib/lvgl/src/stdlib/rtthread/lv_mem_core_rtthread.c b/lib/lvgl/src/stdlib/rtthread/lv_mem_core_rtthread.c
new file mode 100644
index 00000000..29a600a6
--- /dev/null
+++ b/lib/lvgl/src/stdlib/rtthread/lv_mem_core_rtthread.c
@@ -0,0 +1,98 @@
+/**
+ * @file lv_malloc_core_rtthread.c
+ */
+
+/*********************
+ * INCLUDES
+ *********************/
+#include "../lv_mem.h"
+#if LV_USE_STDLIB_MALLOC == LV_STDLIB_RTTHREAD
+#include "../../stdlib/lv_mem.h"
+#include <rtthread.h>
+
+#ifndef RT_USING_HEAP
+ #error "lv_mem_core_rtthread: RT_USING_HEAP is required. Define it in rtconfig.h"
+#endif
+
+/*********************
+ * DEFINES
+ *********************/
+
+/**********************
+ * TYPEDEFS
+ **********************/
+
+/**********************
+ * STATIC PROTOTYPES
+ **********************/
+
+/**********************
+ * STATIC VARIABLES
+ **********************/
+
+/**********************
+ * MACROS
+ **********************/
+
+/**********************
+ * GLOBAL FUNCTIONS
+ **********************/
+
+void lv_mem_init(void)
+{
+ return; /*Nothing to init*/
+}
+
+void lv_mem_deinit(void)
+{
+ return; /*Nothing to deinit*/
+}
+
+lv_mem_pool_t lv_mem_add_pool(void * mem, size_t bytes)
+{
+ /*Not supported*/
+ LV_UNUSED(mem);
+ LV_UNUSED(bytes);
+ return NULL;
+}
+
+void lv_mem_remove_pool(lv_mem_pool_t pool)
+{
+ /*Not supported*/
+ LV_UNUSED(pool);
+ return;
+}
+
+void * lv_malloc_core(size_t size)
+{
+ return rt_malloc(size);
+}
+
+void * lv_realloc_core(void * p, size_t new_size)
+{
+ return rt_realloc(p, new_size);
+}
+
+void lv_free_core(void * p)
+{
+ rt_free(p);
+}
+
+void lv_mem_monitor_core(lv_mem_monitor_t * mon_p)
+{
+ /*Not supported*/
+ LV_UNUSED(mon_p);
+ return;
+}
+
+lv_result_t lv_mem_test_core(void)
+{
+ /*Not supported*/
+ return LV_RESULT_OK;
+}
+
+/**********************
+ * STATIC FUNCTIONS
+ **********************/
+
+#endif /*LV_STDLIB_RTTHREAD*/
diff --git a/lib/lvgl/src/stdlib/rtthread/lv_sprintf_rtthread.c b/lib/lvgl/src/stdlib/rtthread/lv_sprintf_rtthread.c
new file mode 100644
index 00000000..721f4fd0
--- /dev/null
+++ b/lib/lvgl/src/stdlib/rtthread/lv_sprintf_rtthread.c
@@ -0,0 +1,61 @@
+/**
+ * @file lv_sprintf_rtthread.c
+ *
+ */
+
+/*********************
+ * INCLUDES
+ *********************/
+#include "../../lv_conf_internal.h"
+#if LV_USE_STDLIB_SPRINTF == LV_STDLIB_RTTHREAD
+#include <rtthread.h>
+#include <stdarg.h>
+#include "../lv_sprintf.h"
+
+#if LV_USE_FLOAT == 1
+ #warning "lv_sprintf_rtthread: rtthread not support float in sprintf"
+#endif
+
+/*********************
+ * DEFINES
+ *********************/
+
+/**********************
+ * TYPEDEFS
+ **********************/
+
+/**********************
+ * STATIC PROTOTYPES
+ **********************/
+
+/**********************
+ * STATIC VARIABLES
+ **********************/
+
+/**********************
+ * MACROS
+ **********************/
+
+/**********************
+ * GLOBAL FUNCTIONS
+ **********************/
+
+int lv_snprintf(char * buffer, size_t count, const char * format, ...)
+{
+ va_list va;
+ va_start(va, format);
+ const int ret = rt_vsnprintf(buffer, count, format, va);
+ va_end(va);
+ return ret;
+}
+
+int lv_vsnprintf(char * buffer, size_t count, const char * format, va_list va)
+{
+ return rt_vsnprintf(buffer, count, format, va);
+}
+
+/**********************
+ * STATIC FUNCTIONS
+ **********************/
+
+#endif /*LV_STDLIB_RTTHREAD*/
diff --git a/lib/lvgl/src/stdlib/rtthread/lv_string_rtthread.c b/lib/lvgl/src/stdlib/rtthread/lv_string_rtthread.c
new file mode 100644
index 00000000..86949814
--- /dev/null
+++ b/lib/lvgl/src/stdlib/rtthread/lv_string_rtthread.c
@@ -0,0 +1,92 @@
+/**
+ * @file lv_string_rtthread.c
+ */
+
+/*********************
+ * INCLUDES
+ *********************/
+#include "../../lv_conf_internal.h"
+#if LV_USE_STDLIB_STRING == LV_STDLIB_RTTHREAD
+#include "../lv_string.h"
+#include "../lv_mem.h" /*Need lv_malloc*/
+#include <rtthread.h>
+
+/*********************
+ * DEFINES
+ *********************/
+
+/**********************
+ * TYPEDEFS
+ **********************/
+
+/**********************
+ * STATIC PROTOTYPES
+ **********************/
+
+/**********************
+ * STATIC VARIABLES
+ **********************/
+
+/**********************
+ * MACROS
+ **********************/
+
+/**********************
+ * GLOBAL FUNCTIONS
+ **********************/
+
+void * LV_ATTRIBUTE_FAST_MEM lv_memcpy(void * dst, const void * src, size_t len)
+{
+ return rt_memcpy(dst, src, len);
+}
+
+void LV_ATTRIBUTE_FAST_MEM lv_memset(void * dst, uint8_t v, size_t len)
+{
+ rt_memset(dst, v, len);
+}
+
+void * LV_ATTRIBUTE_FAST_MEM lv_memmove(void * dst, const void * src, size_t len)
+{
+ return rt_memmove(dst, src, len);
+}
+
+size_t lv_strlen(const char * str)
+{
+ return rt_strlen(str);
+}
+
+char * lv_strncpy(char * dst, const char * src, size_t dest_size)
+{
+ return rt_strncpy(dst, src, dest_size);
+}
+
+char * lv_strcpy(char * dst, const char * src)
+{
+ return rt_strcpy(dst, src);
+}
+
+int32_t lv_strcmp(const char * s1, const char * s2)
+{
+ return rt_strcmp(s1, s2);
+}
+
+char * lv_strdup(const char * src)
+{
+ /*strdup uses rt_malloc, so use the lv_malloc when LV_USE_STDLIB_MALLOC is not LV_STDLIB_RTTHREAD */
+#if LV_USE_STDLIB_MALLOC != LV_STDLIB_RTTHREAD
+ size_t len = lv_strlen(src) + 1;
+ char * dst = lv_malloc(len);
+ if(dst == NULL) return NULL;
+
+ lv_memcpy(dst, src, len); /*do memcpy is faster than strncpy when length is known*/
+ return dst;
+#else
+ return rt_strdup(src);
+#endif
+}
+
+/**********************
+ * STATIC FUNCTIONS
+ **********************/
+
+#endif /*LV_STDLIB_RTTHREAD*/