diff --git a/.vscode/settings.json b/.vscode/settings.json index 977a329..ed9e9b9 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -12,7 +12,7 @@ "idf.openOcdConfigs": [ "board/esp32s3-builtin.cfg" ], - "idf.portWin": "COM5", + "idf.portWin": "COM6", "idf.flashType": "UART", "files.associations": { "*.md": "markdown", diff --git a/components/FluxProtocol/FluxProtocol.c b/components/FluxProtocol/FluxProtocol.c index 04a984a..9722177 100644 --- a/components/FluxProtocol/FluxProtocol.c +++ b/components/FluxProtocol/FluxProtocol.c @@ -24,10 +24,14 @@ int flux_test_time_series[6] = {40,30,24,20,18,15}; /* 定于用于存储当前测试阶段的枚举变量 */ enum Bs_test_Stage currentTestStage = BS_STAGE_NONE; +/* 定义用于存储当前工作模式的变量,默认是bs模式 */ +bool is_test_mode_nom = false; + /* 应用 event_homePage 中的测试状态显示变量 */ extern bool is_bs_test_ing; extern bool is_nom_test_ing; +/* 声明函数 */ extern void comulate_time_set(void); /* 定义控制LED小灯的任务句柄 */ @@ -78,9 +82,16 @@ void nom_test_task(void* arg) vTaskResume(nom_stateLED_task_handle); /* 测试开始 */ - + FLUX_TEST_START; + /* 等待测试结束 */ vTaskDelay(time*1000 / portTICK_PERIOD_MS); + /* 再等待2秒钟 */ + vTaskDelay(2*1000 / portTICK_PERIOD_MS); + + /* 下发数据获取指令 */ + flux_test_result_get(); + /* 测试结束 */ lv_label_set_text(ui_pageHome_labelStartTest,"Start Test Nom"); is_nom_test_ing = false; diff --git a/components/FluxSD/FluxSD.c b/components/FluxSD/FluxSD.c index cb353c4..35c06ef 100644 --- a/components/FluxSD/FluxSD.c +++ b/components/FluxSD/FluxSD.c @@ -308,42 +308,51 @@ esp_err_t sd_current_fileIndex_get(void) * 1.文件头为 时间戳、设备类型、挡位、频率、流量体积 * 2.向总的测试结果文件写入测试结果 */ -esp_err_t sd_testData_write(void) +esp_err_t sd_testData_write(bool is_nom,float test_result) { - /* 打开当前测试文件 */ - FILE *current_test_f = fopen(sdData.test_file_dir, "a+"); - if (current_test_f == NULL) + if (is_test_mode_nom) { - ESP_LOGE(SD_TAG, "Failed to open file for writing"); - return ESP_FAIL; + /* 获取当前挡位及呼吸频率 */ + int32_t current_stage = lv_spinbox_get_value(ui_pageHome_spinboxStage); + int32_t current_rate = lv_spinbox_get_value(ui_pageHome_spinboxRate); + + /* 打开当前测试文件 */ + FILE *current_test_f = fopen(sdData.test_file_dir, "a+"); + if (current_test_f == NULL) + { + ESP_LOGE(SD_TAG, "Failed to open file for writing"); + return ESP_FAIL; + } + fprintf(current_test_f,"%lld,%s,%d,%d,%ld,%ld,%.3f\n",\ + sdData.current_time,\ + sdData.strftime_buf,\ + is_nom,\ + sdData.flux_test_result.current_device_type,\ + current_stage,\ + current_rate,\ + test_result + ); + fclose(current_test_f); + + /* 打开总的测试结果文件 */ + FILE *total_test_f = fopen(TEST_FILE_NAME, "a+"); + if (total_test_f == NULL) + { + ESP_LOGE(SD_TAG, "Failed to open file for writing"); + return ESP_FAIL; + } + + fprintf(total_test_f,"%lld,%s,%d,%d,%ld,%ld,%.3f\n",\ + sdData.current_time,\ + sdData.strftime_buf,\ + is_nom,\ + sdData.flux_test_result.current_device_type,\ + current_stage,\ + current_rate,\ + test_result + ); + fclose(total_test_f); } - fprintf(current_test_f,"%lld,%s,%d,%d,%ld,%.3f\n",\ - sdData.current_time,\ - sdData.strftime_buf,\ - sdData.flux_test_result.current_device_type,\ - sdData.flux_test_result.current_stage,\ - sdData.flux_test_result.current_rate,\ - sdData.flux_test_result.current_test_result - ); - fclose(current_test_f); - - /* 打开总的测试结果文件 */ - FILE *total_test_f = fopen(TEST_FILE_NAME, "a+"); - if (total_test_f == NULL) - { - ESP_LOGE(SD_TAG, "Failed to open file for writing"); - return ESP_FAIL; - } - - fprintf(total_test_f,"%lld,%s,%d,%d,%ld,%.3f\n",\ - sdData.current_time,\ - sdData.strftime_buf,\ - sdData.flux_test_result.current_device_type,\ - sdData.flux_test_result.current_stage,\ - sdData.flux_test_result.current_rate,\ - sdData.flux_test_result.current_test_result - ); - fclose(total_test_f); - + return ESP_OK; } \ No newline at end of file diff --git a/components/FluxSD/FluxSD.h b/components/FluxSD/FluxSD.h index e1a9fe9..5983752 100644 --- a/components/FluxSD/FluxSD.h +++ b/components/FluxSD/FluxSD.h @@ -144,7 +144,7 @@ esp_err_t sd_current_fileIndex_get(void); * 1.文件头为 时间戳、设备类型、挡位、频率、流量体积 * */ -esp_err_t sd_testData_write(void); +esp_err_t sd_testData_write(bool is_nom,float test_result); #ifdef __cplusplus } diff --git a/components/FluxUI/screens/ui_pageHome.c b/components/FluxUI/screens/ui_pageHome.c index bb53812..fb7272e 100644 --- a/components/FluxUI/screens/ui_pageHome.c +++ b/components/FluxUI/screens/ui_pageHome.c @@ -271,8 +271,6 @@ void ui_pageHome_screen_init(void) ui_pageHome_panelCenter = lv_obj_create(ui_pageHome_panelBody); lv_obj_set_width(ui_pageHome_panelCenter, 297); lv_obj_set_height(ui_pageHome_panelCenter, 430); - lv_obj_set_x(ui_pageHome_panelCenter, 0); - lv_obj_set_y(ui_pageHome_panelCenter, 1); lv_obj_set_align(ui_pageHome_panelCenter, LV_ALIGN_CENTER); lv_obj_clear_flag(ui_pageHome_panelCenter, LV_OBJ_FLAG_SCROLLABLE); /// Flags lv_obj_set_style_radius(ui_pageHome_panelCenter, 15, LV_PART_MAIN | LV_STATE_DEFAULT); @@ -701,7 +699,7 @@ void ui_pageHome_screen_init(void) lv_obj_set_width(ui_pageHome_labelstr22, LV_SIZE_CONTENT); /// 1 lv_obj_set_height(ui_pageHome_labelstr22, LV_SIZE_CONTENT); /// 1 lv_obj_set_x(ui_pageHome_labelstr22, 65); - lv_obj_set_y(ui_pageHome_labelstr22, 90); + lv_obj_set_y(ui_pageHome_labelstr22, 91); lv_obj_set_align(ui_pageHome_labelstr22, LV_ALIGN_CENTER); lv_label_set_text(ui_pageHome_labelstr22, "State"); lv_obj_set_style_text_font(ui_pageHome_labelstr22, &ui_font_MiSansN14, LV_PART_MAIN | LV_STATE_DEFAULT); @@ -875,8 +873,8 @@ void ui_pageHome_screen_init(void) lv_spinbox_set_value(ui_pageHome_spinboxRate, 15); lv_obj_set_style_pad_left(ui_pageHome_spinboxRate, 0, LV_PART_MAIN | LV_STATE_DEFAULT); lv_obj_set_style_pad_right(ui_pageHome_spinboxRate, 0, LV_PART_MAIN | LV_STATE_DEFAULT); - lv_obj_set_style_pad_top(ui_pageHome_spinboxRate, 10, LV_PART_MAIN | LV_STATE_DEFAULT); - lv_obj_set_style_pad_bottom(ui_pageHome_spinboxRate, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_top(ui_pageHome_spinboxRate, 2, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_bottom(ui_pageHome_spinboxRate, 2, LV_PART_MAIN | LV_STATE_DEFAULT); lv_obj_set_style_text_align(ui_pageHome_spinboxRate, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN | LV_STATE_DEFAULT); lv_obj_set_style_text_font(ui_pageHome_spinboxRate, &ui_font_homePanelLabel, LV_PART_MAIN | LV_STATE_DEFAULT); @@ -1014,8 +1012,8 @@ void ui_pageHome_screen_init(void) lv_spinbox_set_value(ui_pageHome_spinboxStage, 1); lv_obj_set_style_pad_left(ui_pageHome_spinboxStage, 0, LV_PART_MAIN | LV_STATE_DEFAULT); lv_obj_set_style_pad_right(ui_pageHome_spinboxStage, 0, LV_PART_MAIN | LV_STATE_DEFAULT); - lv_obj_set_style_pad_top(ui_pageHome_spinboxStage, 7, LV_PART_MAIN | LV_STATE_DEFAULT); - lv_obj_set_style_pad_bottom(ui_pageHome_spinboxStage, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_top(ui_pageHome_spinboxStage, 2, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_bottom(ui_pageHome_spinboxStage, 2, LV_PART_MAIN | LV_STATE_DEFAULT); lv_obj_set_style_text_color(ui_pageHome_spinboxStage, lv_color_hex(0x030000), LV_PART_MAIN | LV_STATE_DEFAULT); lv_obj_set_style_text_opa(ui_pageHome_spinboxStage, 255, LV_PART_MAIN | LV_STATE_DEFAULT); lv_obj_set_style_text_align(ui_pageHome_spinboxStage, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN | LV_STATE_DEFAULT); @@ -1136,6 +1134,7 @@ void ui_pageHome_screen_init(void) lv_obj_set_y(ui_pageHome_panelNomTest, 86); lv_obj_set_align(ui_pageHome_panelNomTest, LV_ALIGN_CENTER); lv_obj_clear_flag(ui_pageHome_panelNomTest, LV_OBJ_FLAG_SCROLLABLE); /// Flags + lv_obj_set_style_radius(ui_pageHome_panelNomTest, 15, LV_PART_MAIN | LV_STATE_DEFAULT); ui_pageHome_Label8 = lv_label_create(ui_pageHome_panelLeft); lv_obj_set_width(ui_pageHome_Label8, LV_SIZE_CONTENT); /// 1 diff --git a/components/FluxUI/ui_event_homePage.c b/components/FluxUI/ui_event_homePage.c index 447c4d2..10b767f 100644 --- a/components/FluxUI/ui_event_homePage.c +++ b/components/FluxUI/ui_event_homePage.c @@ -364,6 +364,9 @@ static void standard_volume_refresh(void) */ void on_buttonStartTest_clicked(lv_event_t * e) { + /* 设定当前工作模式为nom */ + is_test_mode_nom = true; + /* 判断是否正在测试 */ if(is_nom_test_ing) { @@ -480,6 +483,9 @@ static void comulate_result_read(lv_timer_t * timer) */ void on_buttonStartTestBS_clicked(lv_event_t * e) { + /* 设定当前工作模式为bs */ + is_test_mode_nom = false; + /* 判断是否正在测试 */ if(is_bs_test_ing) { diff --git a/components/FluxUart/FluxUart.c b/components/FluxUart/FluxUart.c index 315c422..6acecbe 100644 --- a/components/FluxUart/FluxUart.c +++ b/components/FluxUart/FluxUart.c @@ -180,13 +180,13 @@ void uart1_echoTask(void* arg) for(int i=0;i