XFusion API v1.3.0
载入中...
搜索中...
未找到
xf_task_default.c
浏览该文件的文档.
1
12/* ==================== [Includes] ========================================== */
13
14#include "xf_task_default.h"
15#include "xf_ctask.h"
16#include "xf_ttask.h"
17
18/* ==================== [Defines] =========================================== */
19
20/* ==================== [Typedefs] ========================================== */
21
22/* ==================== [Static Prototypes] ================================= */
23
24/* ==================== [Static Variables] ================================== */
25
27
28/* ==================== [Macros] ============================================ */
29
30/* ==================== [Global Functions] ================================== */
31
33{
35 if (default_manager == NULL) {
36 return XF_FAIL;
37 }
38 return XF_OK;
39}
40
45
50
55
60
61xf_task_t xf_task_create(xf_task_type_t type, xf_task_func_t func, void *func_arg, uint16_t priority, void *config)
62{
63 return xf_task_create_with_manager(default_manager, type, func, func_arg, priority, config);
64}
65
66/* ==================== [Static Functions] ================================== */
xf_err_t xf_task_set_urgent_task(xf_task_t task, bool force)
基于默认 manager,将任务设置为紧急任务,下次调度立即执行。
xf_err_t xf_task_manager_set_default_idle(xf_task_on_idle_t on_idle)
设置默认任务管理器的空闲回调函数
void xf_task_manager_run_default(void)
开始默认启动任务管理器调度任务。
xf_task_manager_t xf_task_get_default_manager(void)
获取默认的任务管理器。
xf_err_t xf_task_manager_default_init(xf_task_on_idle_t on_idle)
创建默认的任务管理器。
xf_task_t xf_task_create(xf_task_type_t type, xf_task_func_t func, void *func_arg, uint16_t priority, void *config)
基于默认 manager,创建任务。
int32_t xf_err_t
整形错误类型。 错误码具体值见 xf_err_code_t.
Definition xf_err.h:69
@ XF_FAIL
Definition xf_err.h:42
@ XF_OK
Definition xf_err.h:43
static void task(xf_task_t task)
Definition xf_main.c:45
有栈协程。
static xf_task_manager_t default_manager
默认任务管理器。用于简化调用。
xf_task_t xf_task_create_with_manager(xf_task_manager_t manager, xf_task_type_t type, xf_task_func_t func, void *func_arg, uint16_t priority, void *config)
在指定任务管理器下创建任务。
void(* xf_task_func_t)(xf_task_t task)
任务调用函数原型。
enum _xf_task_type_t xf_task_type_t
任务类型,通过注册表 xf_task_reg.inc 生成相关的内容。
xf_err_t xf_task_manager_set_idle(xf_task_manager_t manager, xf_task_on_idle_t on_idle)
设置 manager 的空闲回调函数
void xf_task_manager_run(xf_task_manager_t manager)
开始启动任务管理器调度任务。
xf_err_t xf_task_set_urgent_task_with_manager(xf_task_manager_t manager, xf_task_t task, bool force)
将任务设置为紧急任务,下次调度立即执行。
xf_task_manager_t xf_task_manager_create(xf_task_on_idle_t on_idle)
创建任务管理器。
void * xf_task_manager_t
任务管理器句柄。
void * xf_task_t
任务句柄。
void(* xf_task_on_idle_t)(unsigned long int max_idle_ms)
空闲任务回调函数原型。
定时器任务。