Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 56 additions & 0 deletions system/event_loop/Kconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@

# 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).

config PKG_EVENT_LOOP_VER
string
default "latest"

endif
29 changes: 29 additions & 0 deletions system/event_loop/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
{
"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": "latest",
"URL": "https://github.com/Bluetooth-BLE/event_loop.git",
"filename": "",
"VER_SHA": "main"
}
]
}
Loading