From 5a2810eddea513c6243baf220b52cf1f7374316d Mon Sep 17 00:00:00 2001 From: John <450547566@qq.com> Date: Fri, 10 Apr 2026 11:56:37 +0800 Subject: [PATCH 1/3] =?UTF-8?q?event=20loop=20=E8=BD=AF=E4=BB=B6=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- system/event_loop/Kconfig | 70 ++++++++++++++++++++++++++++++++++ system/event_loop/package.json | 34 +++++++++++++++++ 2 files changed, 104 insertions(+) create mode 100644 system/event_loop/Kconfig create mode 100644 system/event_loop/package.json diff --git a/system/event_loop/Kconfig b/system/event_loop/Kconfig new file mode 100644 index 0000000000..4b0c358ebd --- /dev/null +++ b/system/event_loop/Kconfig @@ -0,0 +1,70 @@ + +# Kconfig file for package event_loop +menuconfig PKG_USING_EVENT_LOOP + bool "Event loop (delayed dispatch: mq + soft one-shot timer)" + default n + select RT_USING_MESSAGEQUEUE + select RT_USING_MUTEX + select RT_USING_TIMER_SOFT + help + Delay table processing runs only in the soft-timer callback (system timer thread): + RT_TIMER_FLAG_ONE_SHOT | RT_TIMER_FLAG_SOFT_TIMER. No extra el_tmr worker thread. + Public API: evt_loop_push_delayed / evt_loop_remove_delayed and + macros EVT_LOOP_PUSH, EVT_LOOP_REMOVE, EVT_LOOP_REMOVE_WITH_ARGS. + +if PKG_USING_EVENT_LOOP + + config PKG_EVENT_LOOP_PATH + string + default "/packages/system/event_loop" + + config EVENT_LOOP_MAX_EVENT_CNT + int "Maximum delayed slots in table" + default 32 + help + Fixed table size for pending delayed events. + + config EVENT_LOOP_MSGQ_DEPTH + int "Message queue depth (immediate + due callbacks)" + default 15 + help + rt_mq capacity for evt_loop_handle_t messages. + + config EVENT_LOOP_THREAD_STACK_SIZE + int "Event loop thread stack size (bytes)" + default 3072 + + config EVENT_LOOP_THREAD_PRIORITY + int "Event loop thread priority (smaller = higher)" + default 12 + range 0 31 + help + Must be strictly greater than RT_TIMER_THREAD_PRIO in rtconfig.h so the + soft-timer daemon (lower number) preempts evt_loop. Example: timer prio 4, + use 12 here. + + config EVENT_LOOP_USING_SAMPLES + bool "Build event_loop sample (event_loop_test.c)" + default n + help + Registers MSH command event_loop_test (when FINSH enabled). + + choice + prompt "Version" + default PKG_USING_EVENT_LOOP_V100 + help + Select the package version + + config PKG_USING_EVENT_LOOP_V100 + bool "v1.0.0" + + config PKG_USING_EVENT_LOOP_LATEST_VERSION + bool "latest" + endchoice + + config PKG_EVENT_LOOP_VER + string + default "v1.0.0" if PKG_USING_EVENT_LOOP_V100 + default "latest" if PKG_USING_EVENT_LOOP_LATEST_VERSION + +endif diff --git a/system/event_loop/package.json b/system/event_loop/package.json new file mode 100644 index 0000000000..71e23cf84b --- /dev/null +++ b/system/event_loop/package.json @@ -0,0 +1,34 @@ +{ + "name": "event_loop", + "description": "RT-Thread event loop: delayed callback dispatch (message queue + soft timer)", + "description_zh": "RT-Thread 事件循环:消息队列与软定时器实现延迟回调执行", + "enable": "PKG_USING_EVENT_LOOP", + "keywords": [ + "event", + "loop", + ], + "category": "system", + "author": { + "name": "John.liu", + "email": "450547566@qq.com", + "github": "https://github.com/Bluetooth-BLE" + }, + "license": "Apache-2.0", + "repository": "https://github.com/Bluetooth-BLE/event_loop", + "icon": "unknown", + "homepage": "https://github.com/Bluetooth-BLE/event_loop#readme", + "doc": "unknown", + "site": [ + { + "version": "v1.0.0", + "URL": "https://event_loop-1.0.0.zip", + "filename": "event_loop-1.0.0.zip" + }, + { + "version": "latest", + "URL": "https://github.com/Bluetooth-BLE/event_loop.git", + "filename": "", + "VER_SHA": "main" + } + ] +} From c896f212f701edf2556d0f0be8a1ad435fdfdd17 Mon Sep 17 00:00:00 2001 From: John <450547566@qq.com> Date: Fri, 10 Apr 2026 18:49:23 +0800 Subject: [PATCH 2/3] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9json=E8=AF=AD?= =?UTF-8?q?=E6=B3=95=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- system/event_loop/package.json | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/system/event_loop/package.json b/system/event_loop/package.json index 71e23cf84b..f1d60364d7 100644 --- a/system/event_loop/package.json +++ b/system/event_loop/package.json @@ -5,7 +5,7 @@ "enable": "PKG_USING_EVENT_LOOP", "keywords": [ "event", - "loop", + "loop" ], "category": "system", "author": { @@ -19,11 +19,6 @@ "homepage": "https://github.com/Bluetooth-BLE/event_loop#readme", "doc": "unknown", "site": [ - { - "version": "v1.0.0", - "URL": "https://event_loop-1.0.0.zip", - "filename": "event_loop-1.0.0.zip" - }, { "version": "latest", "URL": "https://github.com/Bluetooth-BLE/event_loop.git", From 1c0c503cdbf9f61279886d6aac5ec2824f83abc9 Mon Sep 17 00:00:00 2001 From: John <450547566@qq.com> Date: Fri, 10 Apr 2026 19:13:40 +0800 Subject: [PATCH 3/3] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8DVersion=20?= =?UTF-8?q?=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- system/event_loop/Kconfig | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/system/event_loop/Kconfig b/system/event_loop/Kconfig index 4b0c358ebd..76d188fcef 100644 --- a/system/event_loop/Kconfig +++ b/system/event_loop/Kconfig @@ -49,22 +49,8 @@ if PKG_USING_EVENT_LOOP help Registers MSH command event_loop_test (when FINSH enabled). - choice - prompt "Version" - default PKG_USING_EVENT_LOOP_V100 - help - Select the package version - - config PKG_USING_EVENT_LOOP_V100 - bool "v1.0.0" - - config PKG_USING_EVENT_LOOP_LATEST_VERSION - bool "latest" - endchoice - config PKG_EVENT_LOOP_VER string - default "v1.0.0" if PKG_USING_EVENT_LOOP_V100 - default "latest" if PKG_USING_EVENT_LOOP_LATEST_VERSION + default "latest" endif