UP 添加字符串转浮点

main
JiXieShi 2024-06-20 21:40:39 +08:00
parent 7735fe06a1
commit 7a4a6275d0
1 changed files with 40 additions and 14 deletions

View File

@ -18,9 +18,11 @@
#include <cstring> #include <cstring>
#include <cstdlib> #include <cstdlib>
#else #else
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include <stdlib.h> #include <stdlib.h>
#endif #endif
/* 输出日志等级 */ /* 输出日志等级 */
@ -35,11 +37,18 @@
#define LOG_TIMER #define LOG_TIMER
//#define LOG_FOR_MCU //#define LOG_FOR_MCU
#define LOG_LINE_END_CRLF #define LOG_LINE_END_CRLF
//#define LOG_WITH_RUN_TIMER #define LOG_WITH_RUN_TIMER
#define LOG_RUN_TIMER_WITH_MS
#define LOG_OUTPUT_LVL LOG_LVL_INFO #define LOG_OUTPUT_LVL LOG_LVL_INFO
//////////////////////// ////////////////////////
#ifdef LOG_WITH_RUN_TIMER
#define LOG_RUN_TIMER_FUN GetSysCnt32()
#define LOG_RUN_TIMER_FMT "-T(%lums)"
#else
#define LOG_RUN_TIMER_FUN 0
#define LOG_RUN_TIMER_FMT "-T(%lu)"
#endif
#ifdef LOG_LINE_END_CRLF #ifdef LOG_LINE_END_CRLF
#define LOG_LINE_END "\r\n" #define LOG_LINE_END "\r\n"
#else #else
@ -65,18 +74,7 @@
#undef LOG_WITH_COLOR #undef LOG_WITH_COLOR
#endif #endif
#ifdef LOG_WITH_RUN_TIMER
#ifdef LOG_RUN_TIMER_WITH_MS
#define LOG_RUN_TIMER_FUN System_GetTimeInterval()/1000
#define LOG_RUN_TIMER_FMT "-T(%lums)"
#else
#define LOG_RUN_TIMER_FUN System_GetTimeInterval()
#define LOG_RUN_TIMER_FMT "-T(%luus)"
#endif
#else
#define LOG_RUN_TIMER_FUN 0
#define LOG_RUN_TIMER_FMT "-T(%lu)"
#endif
#ifdef LOG_WITH_COLOR #ifdef LOG_WITH_COLOR
#define LOG_COLOR_RED "\033[31m" #define LOG_COLOR_RED "\033[31m"
@ -102,44 +100,72 @@
// 带时钟输出 // 带时钟输出
#if defined(LOG_TIMER) #if defined(LOG_TIMER)
#ifdef LOG_WITH_RUN_TIMER
#define LOGT(tag, fmt, ...) do{ printf(LOG_COLOR_BLUE "[" tag "]" LOG_RUN_TIMER_FMT ": " fmt LOG_END,LOG_RUN_TIMER_FUN, ##__VA_ARGS__); } while(0) #define LOGT(tag, fmt, ...) do{ printf(LOG_COLOR_BLUE "[" tag "]" LOG_RUN_TIMER_FMT ": " fmt LOG_END,LOG_RUN_TIMER_FUN, ##__VA_ARGS__); } while(0)
#else #else
#define LOGT(tag, fmt, ...) do{ printf(LOG_COLOR_BLUE "[" tag "]: " fmt LOG_END, ##__VA_ARGS__); } while(0)
#endif
#else
#define LOGT(fmt, ...) ((void)0) #define LOGT(fmt, ...) ((void)0)
#endif #endif
// 等级输出 // 等级输出
#if LOG_OUTPUT_LVL >= LOG_LVL_FATAL #if LOG_OUTPUT_LVL >= LOG_LVL_FATAL
#ifdef LOG_WITH_RUN_TIMER
#define LOGF(fmt, ...) do{ printf(LOG_COLOR_CYAN "[F]" LOG_RUN_TIMER_FMT ": %s: %s: %d: " fmt LOG_END,LOG_RUN_TIMER_FUN, LOG_BASE_FILENAME, __func__, __LINE__, ##__VA_ARGS__); LOG_EXIT_PROGRAM(); } while(0)
#else
#define LOGF(fmt, ...) do{ printf(LOG_COLOR_CYAN "[F]: %s: %s: %d: " fmt LOG_END, LOG_BASE_FILENAME, __func__, __LINE__, ##__VA_ARGS__); LOG_EXIT_PROGRAM(); } while(0) #define LOGF(fmt, ...) do{ printf(LOG_COLOR_CYAN "[F]: %s: %s: %d: " fmt LOG_END, LOG_BASE_FILENAME, __func__, __LINE__, ##__VA_ARGS__); LOG_EXIT_PROGRAM(); } while(0)
#endif
#else #else
#define LOGF(fmt, ...) ((void)0) #define LOGF(fmt, ...) ((void)0)
#endif #endif
#if LOG_OUTPUT_LVL >= LOG_LVL_ERROR #if LOG_OUTPUT_LVL >= LOG_LVL_ERROR
#ifdef LOG_WITH_RUN_TIMER
#define LOGE(fmt, ...) do{ printf(LOG_COLOR_RED "[E]" LOG_RUN_TIMER_FMT ": %s: %s: %d: " fmt LOG_END,LOG_RUN_TIMER_FUN, LOG_BASE_FILENAME, __func__, __LINE__, ##__VA_ARGS__); } while(0)
#else
#define LOGE(fmt, ...) do{ printf(LOG_COLOR_RED "[E]: %s: %s: %d: " fmt LOG_END, LOG_BASE_FILENAME, __func__, __LINE__, ##__VA_ARGS__); } while(0) #define LOGE(fmt, ...) do{ printf(LOG_COLOR_RED "[E]: %s: %s: %d: " fmt LOG_END, LOG_BASE_FILENAME, __func__, __LINE__, ##__VA_ARGS__); } while(0)
#endif
#else #else
#define LOGE(fmt, ...) ((void)0) #define LOGE(fmt, ...) ((void)0)
#endif #endif
#if LOG_OUTPUT_LVL >= LOG_LVL_WARN #if LOG_OUTPUT_LVL >= LOG_LVL_WARN
#ifdef LOG_WITH_RUN_TIMER
#define LOGW(fmt, ...) do{ printf(LOG_COLOR_CARMINE "[W]" LOG_RUN_TIMER_FMT ": %s: %s: %d: " fmt LOG_END,LOG_RUN_TIMER_FUN, LOG_BASE_FILENAME, __func__, __LINE__, ##__VA_ARGS__); } while(0)
#else
#define LOGW(fmt, ...) do{ printf(LOG_COLOR_CARMINE "[W]: %s: %s: %d: " fmt LOG_END, LOG_BASE_FILENAME, __func__, __LINE__, ##__VA_ARGS__); } while(0) #define LOGW(fmt, ...) do{ printf(LOG_COLOR_CARMINE "[W]: %s: %s: %d: " fmt LOG_END, LOG_BASE_FILENAME, __func__, __LINE__, ##__VA_ARGS__); } while(0)
#endif
#else #else
#define LOGW(fmt, ...) ((void)0) #define LOGW(fmt, ...) ((void)0)
#endif #endif
#if LOG_OUTPUT_LVL >= LOG_LVL_INFO #if LOG_OUTPUT_LVL >= LOG_LVL_INFO
#ifdef LOG_WITH_RUN_TIMER
#define LOGI(fmt, ...) do{ printf(LOG_COLOR_YELLOW "[I]" LOG_RUN_TIMER_FMT ": %s: " fmt LOG_END,LOG_RUN_TIMER_FUN, LOG_BASE_FILENAME, ##__VA_ARGS__); } while(0)
#else
#define LOGI(fmt, ...) do{ printf(LOG_COLOR_YELLOW "[I]: %s: " fmt LOG_END, LOG_BASE_FILENAME, ##__VA_ARGS__); } while(0) #define LOGI(fmt, ...) do{ printf(LOG_COLOR_YELLOW "[I]: %s: " fmt LOG_END, LOG_BASE_FILENAME, ##__VA_ARGS__); } while(0)
#endif
#else #else
#define LOGI(fmt, ...) ((void)0) #define LOGI(fmt, ...) ((void)0)
#endif #endif
#if LOG_OUTPUT_LVL >= LOG_LVL_DEBUG #if LOG_OUTPUT_LVL >= LOG_LVL_DEBUG
#ifdef LOG_WITH_RUN_TIMER
#define LOGD(fmt, ...) do{ printf(LOG_COLOR_DEFAULT "[D]" LOG_RUN_TIMER_FMT ": %s: " fmt LOG_END,LOG_RUN_TIMER_FUN, LOG_BASE_FILENAME, ##__VA_ARGS__); } while(0)
#else
#define LOGD(fmt, ...) do{ printf(LOG_COLOR_DEFAULT "[D]: %s: " fmt LOG_END, LOG_BASE_FILENAME, ##__VA_ARGS__); } while(0) #define LOGD(fmt, ...) do{ printf(LOG_COLOR_DEFAULT "[D]: %s: " fmt LOG_END, LOG_BASE_FILENAME, ##__VA_ARGS__); } while(0)
#endif
#else #else
#define LOGD(fmt, ...) ((void)0) #define LOGD(fmt, ...) ((void)0)
#endif #endif
#if LOG_OUTPUT_LVL >= LOG_LVL_VERBOSE #if LOG_OUTPUT_LVL >= LOG_LVL_VERBOSE
#ifdef LOG_WITH_RUN_TIMER
#define LOGV(fmt, ...) do{ printf(LOG_COLOR_DEFAULT "[V]" LOG_RUN_TIMER_FMT ": %s: " fmt LOG_END,LOG_RUN_TIMER_FUN, LOG_BASE_FILENAME, ##__VA_ARGS__); } while(0)
#else
#define LOGV(fmt, ...) do{ printf(LOG_COLOR_DEFAULT "[V]: %s: " fmt LOG_END, LOG_BASE_FILENAME, ##__VA_ARGS__); } while(0) #define LOGV(fmt, ...) do{ printf(LOG_COLOR_DEFAULT "[V]: %s: " fmt LOG_END, LOG_BASE_FILENAME, ##__VA_ARGS__); } while(0)
#endif
#else #else
#define LOGV(fmt, ...) ((void)0) #define LOGV(fmt, ...) ((void)0)
#endif #endif