xt-sdk 文档
v1.0.3
xt-sdk 嵌入式 SDK API 参考
Toggle main menu visibility
载入中...
搜索中...
未找到
xt_log.h
浏览该文件的文档.
1
12
13
#ifndef __XT_LOG_H__
14
#define __XT_LOG_H__
15
16
/* ==================== [Includes] ========================================== */
17
18
#include <stdio.h>
19
#include <stdint.h>
20
#include <stdarg.h>
21
22
// TODO: xt_conf.h 机制?
23
24
// #include "xt_conf_internal.h"
25
// #include "xt_utils.h"
26
#include "
xt_error.h
"
27
28
#ifdef __cplusplus
29
extern
"C"
{
30
#endif
31
38
39
/* ==================== [Defines] =========================================== */
40
41
#define XT_LOG_ERROR 1
42
#define XT_LOG_WARN 2
43
#define XT_LOG_INFO 3
44
#define XT_LOG_DEBUG 4
45
46
/* ==================== [Typedefs] ========================================== */
47
49
typedef
void (*
xt_assert_cb_t
)(
xt_err_t
errcode);
50
51
/* ==================== [Global Prototypes] ================================= */
52
57
66
void
xt_log_setup
(uint8_t
id
, uint32_t baudrate, uint8_t tx_io, uint8_t rx_io);
67
73
void
xt_log_set_level
(uint8_t level);
74
80
uint8_t
xt_log_get_level
(
void
);
81
/* 初始化与配置 */
83
88
97
void
xt_log
(uint8_t level,
const
char
*tag,
const
char
*fmt, ...);
98
105
void
xt_log_dump_hex
(
const
void
*ptr, uint32_t size);
106
113
void
xt_log_dump_hex_debug
(
const
void
*ptr, uint32_t size);
114
/* 日志输出 */
116
117
/* 如果没定义 xt_vprintf/xt_printf 则以函数方式实现 */
118
#if !defined(xt_vprintf)
119
127
int
xt_vprintf
(
const
char
*fmt, va_list args);
128
#endif
129
130
#if !defined(xt_printf)
131
139
int
xt_printf
(
const
char
*fmt, ...);
140
#endif
141
146
152
void
xt_assert_failed
(
xt_err_t
errcode);
153
162
void
xt_assert_set_callback
(
xt_assert_cb_t
cb);
163
/* 断言处理 */
165
166
/* ==================== [Macros] ============================================ */
167
168
#if !defined(xt_log_error)
169
# define xt_log_error(format, ...) xt_log(XT_LOG_ERROR, NULL, format, ##__VA_ARGS__)
170
#endif
171
#if !defined(xt_log_warn)
172
# define xt_log_warn(format, ...) xt_log(XT_LOG_WARN, NULL, format, ##__VA_ARGS__)
173
#endif
174
#if !defined(xt_log_info)
175
# define xt_log_info(format, ...) xt_log(XT_LOG_INFO, NULL, format, ##__VA_ARGS__)
176
#endif
177
#if !defined(xt_log_debug)
178
# define xt_log_debug(format, ...) xt_log(XT_LOG_DEBUG, NULL, format, ##__VA_ARGS__)
179
#endif
180
181
#if !defined(XT_LOGE)
182
# define XT_LOGE(tag, format, ...) xt_log(XT_LOG_ERROR, tag, format, ##__VA_ARGS__)
183
#endif
184
#if !defined(XT_LOGW)
185
# define XT_LOGW(tag, format, ...) xt_log(XT_LOG_WARN, tag, format, ##__VA_ARGS__)
186
#endif
187
#if !defined(XT_LOGI)
188
# define XT_LOGI(tag, format, ...) xt_log(XT_LOG_INFO, tag, format, ##__VA_ARGS__)
189
#endif
190
#if !defined(XT_LOGD)
191
# define XT_LOGD(tag, format, ...) xt_log(XT_LOG_DEBUG, tag, format, ##__VA_ARGS__)
192
#endif
193
194
#if !defined(XT_ASSERT_MSG)
195
# define XT_ASSERT_MSG(expr, errcode) \
196
do { \
197
if (!(expr)) { \
198
xt_log_error("assert failed:%s:%d:err:%d", __FUNCTION__, __LINE__, (errcode)); \
199
xt_assert_failed(errcode); \
200
} \
201
} while(0)
202
#endif
203
/* xt_log */
205
206
#ifdef __cplusplus
207
}
/* extern "C" */
208
#endif
209
210
#endif
/* __XT_LOG_H__ */
xt_err_t
int32_t xt_err_t
错误码类型
定义
xt_error.h:38
xt_assert_cb_t
void(* xt_assert_cb_t)(xt_err_t errcode)
assert 回调函数类型
定义
xt_log.h:49
xt_log_setup
void xt_log_setup(uint8_t id, uint32_t baudrate, uint8_t tx_io, uint8_t rx_io)
初始化日志模块
xt_log_dump_hex
void xt_log_dump_hex(const void *ptr, uint32_t size)
以十六进制格式打印内存数据
xt_assert_set_callback
void xt_assert_set_callback(xt_assert_cb_t cb)
注册 assert 触发回调
xt_vprintf
int xt_vprintf(const char *fmt, va_list args)
格式化输出(va_list 版本)
xt_log_set_level
void xt_log_set_level(uint8_t level)
设置日志输出级别
xt_printf
int xt_printf(const char *fmt,...)
格式化输出
xt_assert_failed
void xt_assert_failed(xt_err_t errcode)
断言失败处理函数(__weak 可重写)
xt_log
void xt_log(uint8_t level, const char *tag, const char *fmt,...)
输出日志
xt_log_dump_hex_debug
void xt_log_dump_hex_debug(const void *ptr, uint32_t size)
以十六进制格式打印内存数据(仅 DEBUG 级别)
xt_log_get_level
uint8_t xt_log_get_level(void)
获取当前日志级别
xt_error.h
XTINY 错误码定义
platforms
components
xtiny
xt_log
xt_log.h
生成于
, 为 xt-sdk 文档使用
1.17.0