Motion_EC_Stm32_archived/App/Src/th_elog.c

92 lines
2.3 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

/*
* @Description:
* @Date: 2021-03-09 11:30:52
* @LastEditors: CK.Zh
* @LastEditTime: 2021-03-10 14:46:32
* @FilePath: \NaviKit_EC_stm32\App\Src\th_elog.c
*/
#define LOG_TAG "TH-Elog"
#include <th_elog.h>
#include "main.h"
//semaphore
const osSemaphoreAttr_t ElogOutputBinarySem_attributes = {
.name = "ElogOutputBinarySem"
};
//semaphore
const osSemaphoreAttr_t ElogUartBinarySem_attributes = {
.name = "ElogUartBinarySem"
};
const osMutexAttr_t ElogOutputMutex_attributes = {
.name = "ElogOutputMutex"
};
//task
const osThreadAttr_t ElogInitTask_attributes = {
.name = "ElogInitTask",
.priority = (osPriority_t) osPriorityNormal,
.stack_size = 128 * 4
};
const osThreadAttr_t ElogFlushTask_attributes = {
.name = "ElogFlushTask",
.priority = (osPriority_t) osPriorityLow1,
.stack_size = 256 * 4
};
void ElogInitTask(void *argument){
// my_elog_init();
// osThreadExit();//exit this thread,execute this code only once
}
//intervalbuffer flush time interval
void ElogFlushTask(uint8_t intervnal){
log_d("Start Log Flush Task");
for(;;){
elog_flush();
osDelay(intervnal);
}
}
void my_elog_init(){
elog_init();
/* close printf buffer */
setbuf(stdout, NULL);
#ifdef DEBUG //debug mode:output all information
ElogFmtIndex ELOG_FMT_SETTING = ELOG_FMT_ALL ;
#else //release mode :only output level、time information
ElogFmtIndex ELOG_FMT_SETTING = ELOG_FMT_LVL | ELOG_FMT_TIME;
#endif
/* set EasyLogger log format */
/* 断言:输出所有内容 */
elog_set_fmt(ELOG_LVL_ASSERT, ELOG_FMT_SETTING);
/* 错误:输出级别、标签和时间 */
elog_set_fmt(ELOG_LVL_ERROR, ELOG_FMT_SETTING);
/* 警告:输出级别、标签和时间 */
elog_set_fmt(ELOG_LVL_WARN, ELOG_FMT_SETTING);
/* 信息:输出级别、标签和时间 */
elog_set_fmt(ELOG_LVL_INFO, ELOG_FMT_SETTING);
/* 调试:输出除了方法名之外的所有内容 */
elog_set_fmt(ELOG_LVL_DEBUG, ELOG_FMT_SETTING);
/* 详细:输出除了方法名之外的所有内容 */
elog_set_fmt(ELOG_LVL_VERBOSE, ELOG_FMT_SETTING);
// enable text color (dynamic)
elog_set_text_color_enabled(true);
/* start EasyLogger */
elog_start();
}
void HAL_UART1_TxCpltCallback(UART_HandleTypeDef *huart){
}
//void elog_set_filter(uint8_t level, const char *tag, const char *keyword);