NEW_bubing4_chassis/bsp/log/bsp_log.h

72 lines
2.3 KiB
C
Raw Permalink Normal View History

2024-12-25 15:42:25 +08:00
#ifndef _BSP_LOG_H
#define _BSP_LOG_H
#include "SEGGER_RTT.h"
#include "SEGGER_RTT_Conf.h"
#include <stdio.h>
#define BUFFER_INDEX 0
/**
* @brief
*
*/
void BSPLogInit();
/**
* @brief ,LOGI,LOGW,LOGE等使用
*
*/
#define LOG_PROTO(type, color, format, ...) \
SEGGER_RTT_printf(BUFFER_INDEX, " %s%s" format "\r\n%s", \
color, \
type, \
##__VA_ARGS__, \
RTT_CTRL_RESET)
/*----------------------------------------下面是日志输出的接口-------------------------------------------------*/
/* 清屏 */
#define LOG_CLEAR() SEGGER_RTT_WriteString(0, " " RTT_CTRL_CLEAR)
/* 无颜色日志输出 */
#define LOG(format, ...) LOG_PROTO("", "", format, ##__VA_ARGS__)
/**
* ,使
* @attention ,,使Float2Str()
* @note release版本上车使用时,makefile中添加的宏DISABLE_LOG_SYSTEM一起使用,
*/
#if DISABLE_LOG_SYSTEM
#define LOGINFO(format, ...)
#define LOGWARNING(format, ...)
#define LOGERROR(format, ...)
#else
// information level
#define LOGINFO(format, ...) LOG_PROTO("I:", RTT_CTRL_TEXT_BRIGHT_GREEN, format, ##__VA_ARGS__)
// warning level
#define LOGWARNING(format, ...) LOG_PROTO("W:", RTT_CTRL_TEXT_BRIGHT_YELLOW, format, ##__VA_ARGS__)
// error level
#define LOGERROR(format, ...) LOG_PROTO("E:", RTT_CTRL_TEXT_BRIGHT_RED, format, ##__VA_ARGS__)
#endif // DISABLE_LOG_SYSTEM
/**
* @brief segger RTT打印日志,,printf.
* @attention !! ,,使Float2Str() !!
*
* @param fmt
* @param ...
* @return int log字符数
*/
int PrintLog(const char *fmt, ...);
/**
* @brief sprintf(),float转换为字符串进行打印
* @attention RTT打印
*
* @param str
* @param va float
*/
void Float2Str(char *str, float va);
#endif