diff --git a/system/thread_manager/Kconfig b/system/thread_manager/Kconfig new file mode 100644 index 0000000000..c695e08c82 --- /dev/null +++ b/system/thread_manager/Kconfig @@ -0,0 +1,44 @@ + +# Kconfig file for package thread_manager +menuconfig PKG_USING_THREAD_MANAGER + bool "Thread manager (task registry, message dispatch, manager thread)" + default n + select PKG_USING_EVENT_LOOP + select RT_USING_SEMAPHORE + select RT_USING_MUTEX + select RT_USING_EVENT + select RT_USING_MAILBOX + help + Core threading framework for RT-Thread: thread_msg_registry, TASK_ID + lookup, manager thread / thread_spawn_all_registered, and related APIs. + Thread IDs, stack sizes and priorities are defined in inc/thread_config.h + (edit that file for your application). + Delayed events (thread_evt_send_delayed_*) use packages/event_loop. + +if PKG_USING_THREAD_MANAGER + + config PKG_THREAD_MANAGER_PATH + string + default "/packages/system/thread_manager" + + config THREAD_SYSTEM_READY + bool "Publish system-ready event after startup sync" + default y + help + After all registered tasks complete thread_mgr_sys_start_sync_end, + the manager publishes a global rt_event bit. Tasks call + thread_sysready_wait() to block until the system is fully up. + The event bit is never cleared so late callers return immediately. + + config THREAD_MANAGER_USING_SAMPLES + bool "Build samples (thread_test / thread_test1 / thread_test2)" + default y + help + Compiles packages/thread_manager/samples/*.c (demo threads and + cross-subscription demo between sample threads). Disable to save Flash. + + config PKG_THREAD_MANAGER_VER + string + default "latest" + +endif diff --git a/system/thread_manager/package.json b/system/thread_manager/package.json new file mode 100644 index 0000000000..d89229376a --- /dev/null +++ b/system/thread_manager/package.json @@ -0,0 +1,29 @@ +{ + "name": "thread_manager", + "description": "RT-Thread thread manager: task registry, message dispatch, manager thread, optional system-ready sync", + "description_zh": "RT-Thread 线程管理器:任务注册表、消息分发、管理线程、可选的系统就绪同步", + "enable": "PKG_USING_THREAD_MANAGER", + "keywords": [ + "thread", + "manager" + ], + "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/thread_manager", + "icon": "unknown", + "homepage": "https://github.com/Bluetooth-BLE/thread_manager#readme", + "doc": "unknown", + "site": [ + { + "version": "latest", + "URL": "https://github.com/Bluetooth-BLE/thread_manager.git", + "filename": "", + "VER_SHA": "main" + } + ] +}