XFusion API
v1.3.0
载入中...
搜索中...
未找到
xfusion.c
浏览该文件的文档.
1
12
/* ==================== [Includes] ========================================== */
13
14
#include "
xfusion.h
"
15
#include "xf_task.h"
16
#include "xf_sys.h"
17
18
#if XF_OSAL_ENABLE
19
#include "xf_osal.h"
20
#endif
21
22
/* ==================== [Defines] =========================================== */
23
24
/* ==================== [Typedefs] ========================================== */
25
26
/* ==================== [Static Prototypes] ================================= */
27
28
#if XF_TASK_MBUS_IS_ENABLE
34
static
void
mbus_handle
(
xf_task_t
task
);
35
#endif
36
37
static
void
xf_task_on_idle
(
unsigned
long
int
max_idle_ms);
38
39
/* ==================== [Static Variables] ================================== */
40
41
/* ==================== [Macros] ============================================ */
42
43
/* ==================== [Global Functions] ================================== */
44
45
extern
void
xf_main
(
void
);
46
47
void
xfusion_init
(
void
)
48
{
49
xf_log_set_time_func
((
xf_log_time_func_t
)
xf_sys_time_get_ms
);
50
51
xf_init
();
52
53
xf_task_tick_init
(
xf_sys_time_get_ms
);
54
xf_task_manager_default_init
(
xf_task_on_idle
);
55
56
#if XF_TASK_MBUS_IS_ENABLE
57
xf_ttask_create_loop
(
mbus_handle
, NULL, 0, 10);
58
#endif
59
60
xf_main
();
61
}
62
63
void
xfusion_run
(
void
)
64
{
65
xf_task_manager_run_default
();
66
}
67
68
/* ==================== [Static Functions] ================================== */
69
70
#if XF_TASK_MBUS_IS_ENABLE
71
72
static
void
mbus_handle
(
xf_task_t
task
)
73
{
74
(void)
task
;
75
xf_task_mbus_handle
();
76
}
77
78
#endif
79
80
static
void
xf_task_on_idle
(
unsigned
long
int
max_idle_ms)
81
{
82
#if XF_OSAL_ENABLE
83
xf_osal_delay_ms
(max_idle_ms);
84
#endif
85
}
xf_log_set_time_func
void xf_log_set_time_func(xf_log_time_func_t log_time_func)
设置log的时间戳打印函数
Definition
xf_log.c:198
xf_osal_delay_ms
xf_err_t xf_osal_delay_ms(uint32_t ms)
(睡眠)等待超时,以 ms 为单位。
xf_sys_time_get_ms
xf_ms_t xf_sys_time_get_ms(void)
获取系统时间的时间戳,单位毫秒(ms)
Definition
xf_sys_time.c:96
xf_task_mbus_handle
void xf_task_mbus_handle(void)
处理异步的消息。
Definition
xf_task_mbus.c:207
xf_task_manager_run_default
void xf_task_manager_run_default(void)
开始默认启动任务管理器调度任务。
Definition
xf_task_default.c:51
xf_task_manager_default_init
xf_err_t xf_task_manager_default_init(xf_task_on_idle_t on_idle)
创建默认的任务管理器。
Definition
xf_task_default.c:32
xf_ttask_create_loop
static xf_task_t xf_ttask_create_loop(xf_task_func_t func, void *func_arg, uint16_t priority, uint32_t delay_ms)
在默认的任务管理下,创建 ttask 循环任务。
Definition
xf_task.h:162
task
static void task(xf_task_t task)
Definition
xf_main.c:45
xf_init
xf_err_t xf_init(void)
xf 初始化. 所有使用宏收集的初始化函数,将会在这里统一调用
Definition
xf_init.c:30
xf_log_time_func_t
uint32_t(* xf_log_time_func_t)(void)
log 时间戳原型。
Definition
xf_log.h:99
xf_task_t
void * xf_task_t
任务句柄。
Definition
xf_task_manager.h:40
xf_task_tick_init
xf_err_t xf_task_tick_init(xf_task_clock_t clock)
设置当前任务的心跳。
Definition
xf_task_port.c:38
xf_main
void xf_main(void)
全局函数定义: [Global Functions].
Definition
xf_main.c:28
mbus_handle
static void mbus_handle(xf_task_t task)
发布订阅默认处理函数。
Definition
xfusion.c:72
xfusion_init
void xfusion_init(void)
初始化 xfusion,包含log初始化,自动初始化等。
Definition
xfusion.c:47
xfusion_run
void xfusion_run(void)
运行 xfusion。需要将该函数放到循环里面调用。
Definition
xfusion.c:63
xf_task_on_idle
static void xf_task_on_idle(unsigned long int max_idle_ms)
Definition
xfusion.c:80
xfusion.h
运行 xfusion。
components
xf_init
xfusion.c
生成于 2025年 一月 21日 星期二 17:25:09 , 为 XFusion API使用
1.9.8