diff --git a/env_support/cmsis-pack/LVGL.lvgl.1.0.8-alpha1.pack b/env_support/cmsis-pack/LVGL.lvgl.1.0.8-alpha1.pack
deleted file mode 100644
index ca055acce4..0000000000
Binary files a/env_support/cmsis-pack/LVGL.lvgl.1.0.8-alpha1.pack and /dev/null differ
diff --git a/env_support/cmsis-pack/LVGL.lvgl.1.0.8.pack b/env_support/cmsis-pack/LVGL.lvgl.1.0.9-alpha.pack
similarity index 92%
rename from env_support/cmsis-pack/LVGL.lvgl.1.0.8.pack
rename to env_support/cmsis-pack/LVGL.lvgl.1.0.9-alpha.pack
index 8264fcefae..9cfbe446f2 100644
Binary files a/env_support/cmsis-pack/LVGL.lvgl.1.0.8.pack and b/env_support/cmsis-pack/LVGL.lvgl.1.0.9-alpha.pack differ
diff --git a/env_support/cmsis-pack/LVGL.lvgl.pdsc b/env_support/cmsis-pack/LVGL.lvgl.pdsc
index 66cdd76bc2..95d0517bbb 100644
--- a/env_support/cmsis-pack/LVGL.lvgl.pdsc
+++ b/env_support/cmsis-pack/LVGL.lvgl.pdsc
@@ -36,7 +36,12 @@
https://github.com/lvgl/lvgl.git
-
+
+ - LVGL 9.0.0-dev
+ - Introduce a new component: File Explorer
+ - Montyly update for September
+
+
- LVGL 9.0.0-dev
- Add the binding for pikascript (an ultra-light-weight python VM)
- Montyly update for August
@@ -230,24 +235,9 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
@@ -267,16 +257,7 @@
-
-
-
-
-
-
-
-
-
@@ -409,7 +390,7 @@
-
+
@@ -736,12 +717,28 @@
-/*! \brief enable ffmpeg support */
+/*! \brief enable pinying support */
#define LV_USE_IME_PINYIN 1
+
+ Add Pinyin input method
+
+
+
+
+
+
+
+
+/*! \brief enable file explorer support */
+#define LV_USE_FILE_EXPLORER 1
+
+
+
+
Add the official benchmark.
diff --git a/env_support/cmsis-pack/LVGL.pidx b/env_support/cmsis-pack/LVGL.pidx
index 75f9269d59..2b4f4bff2e 100644
--- a/env_support/cmsis-pack/LVGL.pidx
+++ b/env_support/cmsis-pack/LVGL.pidx
@@ -2,8 +2,8 @@
LVGL
https://raw.githubusercontent.com/lvgl/lvgl/master/env_support/cmsis-pack/
- 2022-08-30T00:15:09
+ 2022-09-16T00:16:38
-
+
\ No newline at end of file
diff --git a/env_support/cmsis-pack/README.md b/env_support/cmsis-pack/README.md
index c030be44bd..14677c68fc 100644
--- a/env_support/cmsis-pack/README.md
+++ b/env_support/cmsis-pack/README.md
@@ -46,6 +46,7 @@ remove the misleading guide above this code segment.
- LV_USE_GPU_SWM341_DMA2D
- LV_USE_GPU_ARM2D
- LV_USE_IME_PINYIN
+ - LV_USE_FILE_EXPLORER
5. Update macro `LV_ATTRIBUTE_MEM_ALIGN` and `LV_ATTRIBUTE_MEM_ALIGN_SIZE` to force a WORD alignment.
```c
#define LV_ATTRIBUTE_MEM_ALIGN_SIZE 4
@@ -92,13 +93,9 @@ Make sure `LV_MEM_SIZE` is no less than `(64*1024U)`.
#define LV_TICK_CUSTOM 1
#if LV_TICK_CUSTOM
extern uint32_t SystemCoreClock;
- #define LV_TICK_CUSTOM_INCLUDE "perf_counter.h"
+ #define LV_TICK_CUSTOM_INCLUDE "perf_counter.h"
- #if __PER_COUNTER_VER__ < 10902ul
- #define LV_TICK_CUSTOM_SYS_TIME_EXPR ((uint32_t)get_system_ticks() / (SystemCoreClock / 1000ul))
- #else
- #define LV_TICK_CUSTOM_SYS_TIME_EXPR get_system_ms()
- #endif
+ #define LV_TICK_CUSTOM_SYS_TIME_EXPR get_system_ms()
#endif /*LV_TICK_CUSTOM*/
#else
#define LV_TICK_CUSTOM 0
diff --git a/env_support/cmsis-pack/lv_conf_cmsis.h b/env_support/cmsis-pack/lv_conf_cmsis.h
index 48f6402f58..ffbf310dfb 100644
--- a/env_support/cmsis-pack/lv_conf_cmsis.h
+++ b/env_support/cmsis-pack/lv_conf_cmsis.h
@@ -70,13 +70,9 @@
#define LV_TICK_CUSTOM 1
#if LV_TICK_CUSTOM
extern uint32_t SystemCoreClock;
- #define LV_TICK_CUSTOM_INCLUDE "perf_counter.h"
+ #define LV_TICK_CUSTOM_INCLUDE "perf_counter.h"
- #if __PER_COUNTER_VER__ < 10902ul
- #define LV_TICK_CUSTOM_SYS_TIME_EXPR ((uint32_t)get_system_ticks() / (SystemCoreClock / 1000ul))
- #else
- #define LV_TICK_CUSTOM_SYS_TIME_EXPR get_system_ms()
- #endif
+ #define LV_TICK_CUSTOM_SYS_TIME_EXPR get_system_ms()
#endif /*LV_TICK_CUSTOM*/
#else
#define LV_TICK_CUSTOM 0
@@ -405,7 +401,7 @@
#define LV_TXT_ENC LV_TXT_ENC_UTF8
/*Can break (wrap) texts on these chars*/
-#define LV_TXT_BREAK_CHARS " ,.;:-_"
+#define LV_TXT_BREAK_CHARS " ,.;:-_)]}"
/*If a word is at least this long, will break wherever "prettiest"
*To disable, set to a value <= 0*/
@@ -617,6 +613,16 @@
#endif // LV_IME_PINYIN_USE_K9_MODE
#endif
+/*1: Enable file explorer*/
+/*Requires: lv_table*/
+#if LV_USE_FILE_EXPLORER
+ /*Maximum length of path*/
+ #define LV_FILE_EXPLORER_PATH_MAX_LEN (128)
+ /*Quick access bar, 1:use, 0:not use*/
+ /*Requires: lv_list*/
+ #define LV_FILE_EXPLORER_QUICK_ACCESS 1
+#endif
+
/*==================
* EXAMPLES
*==================*/
@@ -636,7 +642,7 @@
/*Benchmark your system*/
#if LV_USE_DEMO_BENCHMARK
/*Use RGB565A8 images with 16 bit color depth instead of ARGB8565*/
- #define LV_DEMO_BENCHMARK_RGB565A8 0
+ #define LV_DEMO_BENCHMARK_RGB565A8 1
#endif
/*--END OF LV_CONF_H--*/
diff --git a/env_support/pikascript/pika_lv_point_t.c b/env_support/pikascript/pika_lv_point_t.c
index 229e5efabb..f51feaa514 100644
--- a/env_support/pikascript/pika_lv_point_t.c
+++ b/env_support/pikascript/pika_lv_point_t.c
@@ -1,4 +1,8 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
#include "../../lvgl.h"
+#endif
#ifdef PIKASCRIPT
#include "pika_lvgl_point_t.h"
diff --git a/env_support/pikascript/pika_lv_timer_t.c b/env_support/pikascript/pika_lv_timer_t.c
index c120fe3e62..8aa8764984 100644
--- a/env_support/pikascript/pika_lv_timer_t.c
+++ b/env_support/pikascript/pika_lv_timer_t.c
@@ -1,4 +1,8 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
#include "../../lvgl.h"
+#endif
#ifdef PIKASCRIPT
#include "pika_lvgl_lv_timer_t.h"
diff --git a/env_support/pikascript/pika_lv_wegit.c b/env_support/pikascript/pika_lv_wegit.c
index 759afcfdfa..91da51b1f9 100644
--- a/env_support/pikascript/pika_lv_wegit.c
+++ b/env_support/pikascript/pika_lv_wegit.c
@@ -1,4 +1,8 @@
-#include "../../lvgl.h"
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "../../lvgl.h"
+#endif
#ifdef PIKASCRIPT
#include "BaseObj.h"
#include "pika_lvgl.h"
diff --git a/env_support/pikascript/pika_lvgl.c b/env_support/pikascript/pika_lvgl.c
index 8b2bb1121e..2b6424a94c 100644
--- a/env_support/pikascript/pika_lvgl.c
+++ b/env_support/pikascript/pika_lvgl.c
@@ -1,4 +1,8 @@
-#include "../../lvgl.h"
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "../../lvgl.h"
+#endif
#ifdef PIKASCRIPT
#include "pika_lvgl.h"
#include "BaseObj.h"
diff --git a/env_support/pikascript/pika_lvgl_indev_t.c b/env_support/pikascript/pika_lvgl_indev_t.c
index f12d98ab8d..db3998f855 100644
--- a/env_support/pikascript/pika_lvgl_indev_t.c
+++ b/env_support/pikascript/pika_lvgl_indev_t.c
@@ -1,4 +1,8 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
#include "../../lvgl.h"
+#endif
#ifdef PIKASCRIPT
#include "pika_lvgl_indev_t.h"
diff --git a/env_support/pikascript/pika_lvgl_lv_event.c b/env_support/pikascript/pika_lvgl_lv_event.c
index 55b676293a..3cb49adbbe 100644
--- a/env_support/pikascript/pika_lvgl_lv_event.c
+++ b/env_support/pikascript/pika_lvgl_lv_event.c
@@ -1,4 +1,8 @@
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
#include "../../lvgl.h"
+#endif
#ifdef PIKASCRIPT
#include "pika_lvgl_lv_event.h"
diff --git a/env_support/pikascript/pika_lvgl_lv_obj.c b/env_support/pikascript/pika_lvgl_lv_obj.c
index b44af47e04..445dc0be3c 100644
--- a/env_support/pikascript/pika_lvgl_lv_obj.c
+++ b/env_support/pikascript/pika_lvgl_lv_obj.c
@@ -1,4 +1,8 @@
-#include "../../lvgl.h"
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "../../lvgl.h"
+#endif
#ifdef PIKASCRIPT
#include "pika_lvgl_lv_obj.h"
#include "BaseObj.h"
diff --git a/env_support/pikascript/pika_lvgl_lv_style_t.c b/env_support/pikascript/pika_lvgl_lv_style_t.c
index aeda56751b..4cfa2159a3 100644
--- a/env_support/pikascript/pika_lvgl_lv_style_t.c
+++ b/env_support/pikascript/pika_lvgl_lv_style_t.c
@@ -1,4 +1,8 @@
-#include "../../lvgl.h"
+#if defined(LV_LVGL_H_INCLUDE_SIMPLE)
+#include "lvgl.h"
+#else
+#include "../../lvgl.h"
+#endif
#ifdef PIKASCRIPT
#include "pika_lvgl_style_t.h"
diff --git a/src/widgets/roller/lv_roller.c b/src/widgets/roller/lv_roller.c
index 5a4f24fa21..9f84e6c23f 100644
--- a/src/widgets/roller/lv_roller.c
+++ b/src/widgets/roller/lv_roller.c
@@ -123,7 +123,7 @@ void lv_roller_set_options(lv_obj_t * obj, const char * options, lv_roller_mode_
const lv_font_t * font = lv_obj_get_style_text_font(obj, 0);
lv_coord_t normal_h = roller->option_cnt * (lv_font_get_line_height(font) + lv_obj_get_style_text_letter_space(obj, 0));
roller->inf_page_cnt = LV_CLAMP(3, EXTRA_INF_SIZE / normal_h, 15);
- if(!roller->inf_page_cnt & 1) roller->inf_page_cnt++; /*Make it odd*/
+ if(!(roller->inf_page_cnt & 1)) roller->inf_page_cnt++; /*Make it odd*/
LV_LOG_INFO("Using %d pages to make the roller look infinite", roller->inf_page_cnt);
size_t opt_len = strlen(options) + 1; /*+1 to add '\n' after option lists*/