| 
    XFusion API v1.3.0
    
   | 
 
本头文件外界无法调用,manager 基于 base 进行调度。 开放部分在 xf_task_kernel.h . 更多...
#include "xf_task_kernel.h"
结构体 | |
| struct | _xf_task_vfunc_t | 
| 虚函数表,不在 base 对象实现,由子对象完成实现。  更多... | |
| struct | _xf_task_base_t | 
| task 的父对象,保存了 task 的公共属性。  更多... | |
宏定义 | |
| #define | XF_TASK_FALG_FEEL_HUNGERY (1UL << 0) | 
| 外部设置的标志位,内部只会读取不会设置.   | |
XF_TASK_SIGNAL  | |
内部传递消息使用,外部无法设置。  | |
| #define | XF_TASK_SIGNAL_READY (1UL << 0) | 
| #define | XF_TASK_SIGNAL_TIMEOUT (1UL << 1) | 
| #define | XF_TASK_SIGNAL_EVENT (1UL << 2) | 
| #define | XF_TASK_SIGNAL_RESUME (1UL << 3) | 
类型定义 | |
| typedef xf_task_t(* | xf_task_create_t) (xf_task_manager_t manager, xf_task_func_t func, void *func_arg, uint16_t priority, void *config) | 
| 构造任务函数指针,函数对象由它构造。   | |
| typedef void(* | xf_task_delete_t) (xf_task_t task) | 
| 删除任务函数指针。函数对象的生命周期结尾时调用。   | |
| typedef void(* | xf_task_reset_t) (xf_task_t task) | 
| 任务重置函数。当任务执行不如意希望任务能重新执行的时候调用。   | |
| typedef xf_task_time_t(* | xf_task_update_t) (xf_task_t task) | 
| 任务更新函数。当任务出于阻塞状态时运行,更新当前任务状态。   | |
| typedef void(* | xf_task_exec_t) (xf_task_manager_t manager) | 
| 任务执行函数。调度器用于恢复/执行当前任务。   | |
| typedef struct _xf_task_vfunc_t | xf_task_vfunc_t | 
| 虚函数表,不在 base 对象实现,由子对象完成实现。   | |
| typedef struct _xf_task_base_t | xf_task_base_t | 
| task 的父对象,保存了 task 的公共属性。   | |
函数 | |
| xf_err_t | xf_task_vfunc_register (xf_task_type_t type, const xf_task_vfunc_t *vfunc) | 
| task 的虚函数注册。   | |
| xf_err_t | xf_task_vfunc_unregister (xf_task_type_t type) | 
| task 注销虚函数注册(一般用不到的函数)。   | |
| const xf_task_vfunc_t * | xf_task_get_vfunc (xf_task_type_t type) | 
| task 获取虚函数。   | |
| xf_err_t | xf_task_base_set_state (xf_task_t task, xf_task_state_t state) | 
| task 设置状态。   | |
| void | xf_task_base_init (xf_task_base_t *task_base, xf_task_manager_t manager, xf_task_type_t type, uint16_t priority, xf_task_func_t func, void *arg) | 
| task 初始化。   | |
| void | xf_task_base_reset (xf_task_base_t *task_base) | 
| 重置 task base 部分内容   | |
| void | xf_task_destructor (xf_task_t task) | 
| 任务销毁。回收任务资源   | |
本头文件外界无法调用,manager 基于 base 进行调度。 开放部分在 xf_task_kernel.h .
在文件 xf_task_base.h 中定义.
| #define XF_TASK_SIGNAL_READY (1UL << 0) | 
准备信号,通知调度器该任务可进入就绪
在文件 xf_task_base.h 第 40 行定义.
| #define XF_TASK_SIGNAL_TIMEOUT (1UL << 1) | 
超时信号,会在任务更新中转变为准备信号
在文件 xf_task_base.h 第 41 行定义.
| #define XF_TASK_SIGNAL_EVENT (1UL << 2) | 
事件信号,会在任务更新中转变为准备信号
在文件 xf_task_base.h 第 42 行定义.
| #define XF_TASK_SIGNAL_RESUME (1UL << 3) | 
恢复信号,通知任务从挂起状态被恢复
在文件 xf_task_base.h 第 43 行定义.
| #define XF_TASK_FALG_FEEL_HUNGERY (1UL << 0) | 
| typedef xf_task_t(* xf_task_create_t) (xf_task_manager_t manager, xf_task_func_t func, void *func_arg, uint16_t priority, void *config) | 
构造任务函数指针,函数对象由它构造。
| manager | 任务所从属的任务管理器。 | 
| func | 任务执行的函数。 | 
| func_arg | 任务用户定义的参数。 | 
| priority | 任务优先级。 | 
| config | 任务参数配置(不同任务配置不同)。 | 
在文件 xf_task_base.h 第 68 行定义.
| typedef xf_task_time_t(* xf_task_update_t) (xf_task_t task) | 
| typedef void(* xf_task_exec_t) (xf_task_manager_t manager) | 
| typedef struct _xf_task_vfunc_t xf_task_vfunc_t | 
虚函数表,不在 base 对象实现,由子对象完成实现。
| typedef struct _xf_task_base_t xf_task_base_t | 
task 的父对象,保存了 task 的公共属性。
| xf_err_t xf_task_vfunc_register | ( | xf_task_type_t | type, | 
| const xf_task_vfunc_t * | vfunc | ||
| ) | 
task 的虚函数注册。
| type | 任务类型,该类型通过注册表 xf_task_reg.inc 实现静态注册任务类型。 | 
| vfunc | 用于调用子任务功能的虚函数。 | 
在文件 xf_task_base.c 第 34 行定义.
| xf_err_t xf_task_vfunc_unregister | ( | xf_task_type_t | type | ) | 
task 注销虚函数注册(一般用不到的函数)。
| type | 任务类型,该类型通过注册表 xf_task_reg.inc 实现静态注册任务类型。 | 
在文件 xf_task_base.c 第 44 行定义.
| const xf_task_vfunc_t * xf_task_get_vfunc | ( | xf_task_type_t | type | ) | 
task 获取虚函数。
| type | 任务,该类型通过注册表 xf_task_reg.inc 实现静态注册任务类型。 | 
在文件 xf_task_base.c 第 53 行定义.
| xf_err_t xf_task_base_set_state | ( | xf_task_t | task, | 
| xf_task_state_t | state | ||
| ) | 
task 设置状态。
| task | task 任务对象。 | 
| state | task 任务状态。 | 
在文件 xf_task_base.c 第 105 行定义.
| void xf_task_base_init | ( | xf_task_base_t * | task_base, | 
| xf_task_manager_t | manager, | ||
| xf_task_type_t | type, | ||
| uint16_t | priority, | ||
| xf_task_func_t | func, | ||
| void * | arg | ||
| ) | 
task 初始化。
| task_base | task base 对象。 | 
| manager | task 所从属的任务管理器。 | 
| type | task 子任务类型,该类型通过注册表 xf_task_reg.inc 实现静态注册任务类型。 | 
| priority | 任务优先级。 | 
| func | 任务执行函数。 | 
| arg | 任务自定义参数。 | 
在文件 xf_task_base.c 第 61 行定义.
| void xf_task_base_reset | ( | xf_task_base_t * | task_base | ) | 
| void xf_task_destructor | ( | xf_task_t | task | ) |