日志提交功能添加完成

This commit is contained in:
ipason 2025-04-27 14:46:47 +08:00
parent be4a0e5ecc
commit f9b3b1b272
7 changed files with 31 additions and 26 deletions

View File

@ -45,6 +45,7 @@ static void button_event_cb(void *arg, void *data)
POWER_OFF;
break;
case BUTTON_CMD_LCD_BACKLIGHT_CHANGE:
#ifdef USE_LCD_BACKLIGHT_CLOSE
/* 单击电源键事件 */
ESP_LOGI(S_BUTTON_TAG, "LCD backlight change");
/* Toggle backlight based on current backlight state */
@ -56,8 +57,8 @@ static void button_event_cb(void *arg, void *data)
LCD_BACKLIGHT_OPEN;
xEventGroupSetBits(g_lcd_state_event_group, LCD_STATE_BIT);
}
#endif
break;
/* 中间按键按下事件 */
case BUTTON_CMD_CENTER_KEY:
if (lv_scr_act()==ui_pageHome)

View File

@ -128,7 +128,7 @@ static esp_err_t s_example_write_file(const char *path, char *data)
*
* @param[in] data
*/
esp_err_t example_write_log(char *data,char *file_name,uint16_t line_num)
esp_err_t example_write_log(char *data,char *file_name,char *functionName,char *taskName,uint16_t line_num,int32_t freeStack)
{
ESP_LOGI(SD_TAG, "Opening file %s", sdData.log_file_dir);
@ -137,10 +137,13 @@ esp_err_t example_write_log(char *data,char *file_name,uint16_t line_num)
ESP_LOGE(SD_TAG, "Failed to open file for writing");
return ESP_FAIL;
}
fprintf(f, "%s,%s,%d,%s\n",\
sdData.strftime_buf,\
fprintf(f, "%s,%s,%s,%s,%d,%ld,%s\n",\
sdData.strftime_buf,\
file_name,\
functionName,\
taskName,\
line_num,\
freeStack,\
data
);
fclose(f);

View File

@ -119,6 +119,8 @@ typedef struct {
/* 导出SD卡全局变量 */
extern struct SD_Data sdData;
#define WRITE_LOG_TO_SD(x) example_write_log(x,__FILE__,__ASSERT_FUNC,pcTaskGetName(NULL),__LINE__,(int32_t)uxTaskGetStackHighWaterMark(NULL));
/**
* @brief SD卡初始化
*
@ -131,7 +133,7 @@ void flux_sd_init(void);
*
*
*/
esp_err_t example_write_log(char *data,char *file_name,uint16_t line_num);
esp_err_t example_write_log(char *data,char *file_name,char *functionName,char *taskName,uint16_t line_num,int32_t freeStack);
/**
* @brief

View File

@ -47,7 +47,7 @@ void on_buttonRateMinus_clicked(lv_event_t * e)
lv_spinbox_set_value(ui_pageHome_spinboxRate,value-5);
#if LOG_RECORD_ENABLE
example_write_log("常规频率减事件",__FILE__,__LINE__);
WRITE_LOG_TO_SD("常规频率减事件");
#endif
}
@ -64,7 +64,7 @@ void on_buttonRatePlus_clicked(lv_event_t * e)
lv_spinbox_set_value(ui_pageHome_spinboxRate,value+5);
#if LOG_RECORD_ENABLE
example_write_log("常规频率加事件",__FILE__,__LINE__);
WRITE_LOG_TO_SD("常规频率加事件");
#endif
}
@ -240,7 +240,7 @@ void comulate_time_set(void)
}
#if LOG_RECORD_ENABLE
example_write_log("脉冲次数重置时间",__FILE__,__LINE__);
WRITE_LOG_TO_SD("脉冲次数重置时间");
#endif
}
@ -345,7 +345,7 @@ static void standard_volume_refresh(void)
RefreshResult();
#if LOG_RECORD_ENABLE
example_write_log("常规测试刷新标准体积",__FILE__,__LINE__);
WRITE_LOG_TO_SD("常规测试刷新标准体积");
#endif
}
@ -582,7 +582,7 @@ void on_dropdown_deviceTypeBS_valueChanged(lv_event_t * e)
on_spinboxStageBS_valueChanged(e);
#if LOG_RECORD_ENABLE
example_write_log("BS测试设备类型修改成功",__FILE__,__LINE__);
WRITE_LOG_TO_SD("BS测试设备类型修改成功");
#endif
}
@ -682,7 +682,7 @@ void on_spinboxStageBS_valueChanged(lv_event_t * e)
//RefreshResult();
#if LOG_RECORD_ENABLE
example_write_log("BS测试刷新标准体积",__FILE__,__LINE__);
WRITE_LOG_TO_SD("BS测试刷新标准体积");
#endif

View File

@ -57,7 +57,7 @@ void on_dropdownDeviceType_valueChanged(lv_event_t * e)
}
#if LOG_RECORD_ENABLE
example_write_log("常规测试设备类型修改成功",__FILE__,__LINE__);
WRITE_LOG_TO_SD("常规测试设备类型修改成功");
#endif
}

View File

@ -160,7 +160,7 @@ void uart1_echoTask(void* arg)
uint8_t bytes[4];
#if LOG_RECORD_ENABLE
example_write_log("流量计任务初始化完毕",__FILE__,__LINE__);
WRITE_LOG_TO_SD("流量计任务初始化完毕");
#endif
while (1)
@ -208,7 +208,7 @@ void uart1_echoTask(void* arg)
lv_label_set_text_fmt(ui_pageFluxRead_labelCumulativeVolume,"%.2f",FluxMachineData.cumulativeVolume);
#if LOG_RECORD_ENABLE
example_write_log("收到有效流量计数据,解析成功。",__FILE__,__LINE__);
WRITE_LOG_TO_SD("收到有效流量计数据,解析成功。");
#endif
/* 获取测试结果并写入到SD卡中 */
@ -360,7 +360,7 @@ void uart2_echoTask(void* arg)
ESP_LOGI("uart2_echoTask", "UART2 ECHO TEST: start test");
#if LOG_RECORD_ENABLE
example_write_log("呼吸模拟器消息处理任务初始化完毕",__FILE__,__LINE__);
WRITE_LOG_TO_SD("呼吸模拟器消息处理任务初始化完毕")
#endif
while (1)
@ -410,8 +410,8 @@ esp_err_t ModbusRTU_Send_0306(uart_port_t uart_num, struct ModbusRTU_Frame *fram
lv_textarea_add_char(ui_pageFluxDebug_textAreaContent,'\n');
#if LOG_RECORD_ENABLE
example_write_log("0306指令数据发送成功。",__FILE__,__LINE__);
example_write_log(text,__FILE__,__LINE__);
WRITE_LOG_TO_SD("0306指令数据发送成功。");
WRITE_LOG_TO_SD(text);
#endif
#endif
@ -483,12 +483,10 @@ esp_err_t ModbusRTU_Send_0x05(uint32_t ADDR)
if (res == -1)
{
return ESP_FAIL;
example_write_log("05指令数据发送失败。",__FILE__,__LINE__);
WRITE_LOG_TO_SD("05指令数据发送失败。");
ESP_LOGI("uart_write_bytes", "uart_write_bytes fail");
}
example_write_log("05指令数据发送成功。",__FILE__,__LINE__);
WRITE_LOG_TO_SD("05指令数据发送成功。");
return ESP_OK;
}
@ -544,7 +542,7 @@ esp_err_t RefreshResult(void)
}
#if LOG_RECORD_ENABLE
example_write_log("结果判断刷新完毕",__FILE__,__LINE__);
WRITE_LOG_TO_SD("结果判断刷新完毕");
#endif
return ESP_OK;

View File

@ -35,7 +35,7 @@ static void create_bs_test_result_file(void)
ESP_LOGI("main.cpp", "Failed to open file for writing log");
}
fprintf(log_f, "time_str,file,line,msg\n");
fprintf(log_f, "time_str,file,func,taskName,line,freeStack,msg\n");
fclose(log_f);
/* 创建测试结果文件 */
@ -50,13 +50,14 @@ static void create_bs_test_result_file(void)
fprintf(nm_result_f, "timestamp,timeStr,is_nom,device type,stage,rate,volume\n");
fclose(nm_result_f);
/* 创建bs测试记录文件 */
sprintf(sdData.bs_file_dir,"/sdcard/bs%d.txt",sdData.file_index);
FILE *bs_result_f = fopen(sdData.bs_file_dir, "w");
fprintf(bs_result_f, BS_RESULT_FILE_HEADER);
fclose(bs_result_f);
printf(" 当前的任务名称是: %s",pcTaskGetName(NULL));
}
extern "C" void app_main(void)
@ -119,7 +120,7 @@ extern "C" void app_main(void)
lv_bar_set_value(ui_pageWelCome_barStartProgress,70,LV_ANIM_ON);
lv_label_set_text(ui_pageWelCome_labelStartInfo,"WiFi scanning environment 70%");
vTaskDelay(PROGRESS_DELAY_TIME/portTICK_PERIOD_MS);
/*创建串口任务*/
/*创建UART1响应任务*/
xTaskCreate(uart1_echoTask, "uart1_echo_task", 8*1024, NULL, 10, NULL);
@ -189,7 +190,7 @@ extern "C" void app_main(void)
FLUX_PROGRESS_BAR_CONTROL(0);
#if LOG_RECORD_ENABLE
example_write_log("main函数执行完毕",__FILE__,__LINE__);
example_write_log("main函数执行完毕",__FILE__,"main",pcTaskGetName(NULL),__LINE__,(int32_t)uxTaskGetStackHighWaterMark(NULL));
#endif
}