/* * Copyright (c) 2006-2021, RT-Thread Development Team * * SPDX-License-Identifier: Apache-2.0 * * Change Logs: * Date Author Notes * 2026-02-04 Administrator the first version */ #include #include #include #include #include #include #include #include #include #include #include #include "lvgl.h" #include #include "libcsv.h" // 全局或静态数组 extern struct rt_memheap sram_SRAM1,sdram_heap; static const int get_step_name(char * step_id) { int id_num = atoi(step_id); switch(id_num) { // --- 基础控制 --- case 1: return 0;//"温度控制001"; // 001 case 7: return 1;//"水位进水007"; // 007 (AddWater + WaterLevel) case 8: return 2;//"流量进水008"; // 008 (AddWater + Flowmeter) case 13: return 3;//"水位水洗013"; // 013 (Washing + WaterLevel) case 15: return 4;//"溢流水洗015"; // 015 (Washing + Overflow) case 20: return 5;//"排水020"; // 020 case 22: return 6;//"主泵排水022"; // 022 case 31: return 7;//"运转031"; // 031 case 35: return 8;//"入布035"; // 035 case 36: return 9;//"出布036"; // 036 case 39: return 10;//"呼叫操作员039"; // 039 case 40: return 11;//"取样040"; // 040 case 41: return 12;//"程序结束041"; // 041 case 49: return 13;//"等待049"; // 049 case 50: return 14;//"加压050"; // 050 case 51: return 15;//"减压051"; // 051 case 54: return 16;//"泵风机速度054"; // 054 (Pump + Blower) case 55: return 17;//"泵启动055"; // 055 case 56: return 18;//"泵停止056"; // 056 case 64: return 19;//"备药064"; // 064 case 65: return 20;//"加药065"; // 065 case 66: return 21;//"呼叫输送066"; // 066 case 67: return 22;//"呼叫准备067"; // 067 case 90: return 23;//"快速加酸090"; // 090 case 93: return 24;//"ph检测093"; // 093 case 94: return 25;//"ph控制094"; // 094 default: return 26; } } static const int get_step_namer(char * step_id) { int id_num = atoi(step_id); switch(id_num) { // --- 基础控制 --- case 1: return 0;//"降温水洗017"; // 001 case 50: return 1;//"加压050"; // 050 case 51: return 2;//"减压051"; // 051 case 64: return 3;//"备药064"; // 064 case 66: return 4;//"呼叫输送066"; // 066 case 90: return 5;//"快速加酸090"; // 090 case 91: return 6;//"温控加酸091"; // 090 case 93: return 7;//"ph检测093"; // 093 case 94: return 8;//"ph控制094"; // 094 default: return 9; } } /** * 数据信息显示 **/ #include "sql/DB_SQLite.h" #include"ui_data_csv.h" void str_step_ui(char *buffer,double scaled_val) { int integer_part = (int) scaled_val; int fractional_part = (int)((scaled_val * 10)-(integer_part*10)); if (fractional_part == 0) { lv_snprintf(buffer, sizeof(buffer), "%d", integer_part); } else { lv_snprintf(buffer, sizeof(buffer), "%d.%d", integer_part, fractional_part); } } void STEP_DATA_set_ui(IO_STEP_DATA* STEPDATA_inf) { //步骤信息页面填入 char str_str[4]; char str_step[5]; lv_snprintf(str_str, sizeof(str_str), "%03d", STEPDATA_inf->Step); lv_label_set_text(guider_ui.screen_stepinf_step,(const char *)str_str); lv_label_set_text(guider_ui.screen_stepinf_name,(const char *)STEPDATA_inf->Program); lv_dropdown_set_selected(guider_ui.screen_stepinf_s1,get_step_name(STEPDATA_inf->StepID)); lv_dropdown_set_selected(guider_ui.screen_stepinf_s2,get_step_namer(STEPDATA_inf->StepID_S1)); lv_dropdown_set_selected(guider_ui.screen_stepinf_s3,get_step_namer(STEPDATA_inf->StepID_S2)); str_step_ui(str_step, STEPDATA_inf->Parameter1); lv_textarea_set_text(guider_ui.screen_stepinf_p1,(const char *)str_step); str_step_ui(str_step, STEPDATA_inf->Parameter2); lv_textarea_set_text(guider_ui.screen_stepinf_p2,(const char *)str_step); str_step_ui(str_step, STEPDATA_inf->Parameter3); lv_textarea_set_text(guider_ui.screen_stepinf_p3,(const char *)str_step); str_step_ui(str_step, STEPDATA_inf->Parameter4); lv_textarea_set_text(guider_ui.screen_stepinf_p4,(const char *)str_step); str_step_ui(str_step, STEPDATA_inf->Parameter5); lv_textarea_set_text(guider_ui.screen_stepinf_p5,(const char *)str_step); str_step_ui(str_step, STEPDATA_inf->Parameter1_S1); lv_textarea_set_text(guider_ui.screen_stepinf_p1b1,(const char *)str_step); str_step_ui(str_step, STEPDATA_inf->Parameter2_S1); lv_textarea_set_text(guider_ui.screen_stepinf_p2b1,(const char *)str_step); str_step_ui(str_step, STEPDATA_inf->Parameter3_S1); lv_textarea_set_text(guider_ui.screen_stepinf_p3b1,(const char *)str_step); str_step_ui(str_step, STEPDATA_inf->Parameter4_S1); lv_textarea_set_text(guider_ui.screen_stepinf_p4b1,(const char *)str_step); str_step_ui(str_step, STEPDATA_inf->Parameter5_S1); lv_textarea_set_text(guider_ui.screen_stepinf_p5b1,(const char *)str_step); str_step_ui(str_step, STEPDATA_inf->Parameter1_S2); lv_textarea_set_text(guider_ui.screen_stepinf_p1b2,(const char *)str_step); str_step_ui(str_step, STEPDATA_inf->Parameter2_S2); lv_textarea_set_text(guider_ui.screen_stepinf_p2b2,(const char *)str_step); str_step_ui(str_step, STEPDATA_inf->Parameter3_S2); lv_textarea_set_text(guider_ui.screen_stepinf_p3b2,(const char *)str_step); str_step_ui(str_step, STEPDATA_inf->Parameter4_S2); lv_textarea_set_text(guider_ui.screen_stepinf_p4b2,(const char *)str_step); str_step_ui(str_step, STEPDATA_inf->Parameter5_S2); lv_textarea_set_text(guider_ui.screen_stepinf_p5b2,(const char *)str_step); lv_obj_clear_flag(guider_ui.screen_stepinf_s1b, LV_OBJ_FLAG_HIDDEN); }