Browse Source

编辑幕幕

master
sc 5 months ago
parent
commit
3554991a6d
  1. 2
      .settings/projcfg.ini
  2. 2
      applications/lvgl/guider/generated/setup_scr_screen.c
  3. 15
      applications/lvgl/ui_data_csv.c
  4. 9
      applications/lvgl/ui_data_labels.c
  5. 4
      applications/lvgl/ui_data_labels.h
  6. 84
      applications/lvgl/ui_data_labels_step.c

2
.settings/projcfg.ini

@ -1,5 +1,5 @@
#RT-Thread Studio Project Configuration
#Wed Feb 11 13:52:22 CST 2026
#Wed Mar 04 23:28:35 CST 2026
project_type=rtt
chip_name=STM32H743IITx
cpu_name=None

2
applications/lvgl/guider/generated/setup_scr_screen.c

@ -7480,7 +7480,7 @@ void setup_scr_screen(lv_ui *ui)
//Write codes screen_stepinf_s2
ui->screen_stepinf_s2 = lv_dropdown_create(ui->screen_stepinf);
lv_dropdown_set_options(ui->screen_stepinf_s2, "降温水洗017\n加压050\n减压051\n备药064\n呼叫输送066\n快速加酸090\nph温度控制091\nph检测093\nph控制094\n");
lv_dropdown_set_options(ui->screen_stepinf_s2, "降温水洗017降温水洗017\n加压050\n减压051\n备药064\n呼叫输送066\n快速加酸090\nph温度控制091\nph检测093\nph控制094\n");
lv_obj_set_pos(ui->screen_stepinf_s2, 105, 111);
lv_obj_set_size(ui->screen_stepinf_s2, 180, 45);

15
applications/lvgl/ui_data_csv.c

@ -172,6 +172,7 @@ int parse_csv_to_table(lv_obj_t *container, const char *csv_data,int flags) {
}
user = (UserData *)rt_memheap_alloc(&sdram_heap, sizeof(UserData));
memset(&user->data, 0, sizeof(user->data));
// 解析 CSV
if (parse_csv_string(csv_data, user) != 0) {
@ -212,6 +213,8 @@ int parse_csv_to_inf(lv_obj_t *container, const char *csv_data ,int W_data,int H
}
user = (UserData *)rt_memheap_alloc(&sdram_heap, sizeof(UserData));
memset(&user->data, 0, sizeof(user->data));
int text_row = 0;
// 解析 CSV
@ -251,7 +254,7 @@ int run_csv_to_table(const char *csv_data) {
}
user = (UserData *)rt_memheap_alloc(&sdram_heap, sizeof(UserData));
memset(&user->data, 0, sizeof(user->data));
// 解析 CSV
if (parse_csv_string(csv_data, user) != 0) {
return -1;
@ -324,6 +327,7 @@ int run_csv_to_set(const char *csv_data) {
return -1;
}
user = (UserData *)rt_memheap_alloc(&sdram_heap, sizeof(UserData));
memset(&user->data, 0, sizeof(user->data));
// 解析 CSV
if (parse_csv_string(csv_data, user) != 0) {
@ -356,6 +360,7 @@ IO_STEP_DATA step_csv_to_table(const char *csv_data) {
}
user = (UserData *)rt_memheap_alloc(&sdram_heap, sizeof(UserData));
memset(&user->data, 0, sizeof(user->data));
// 解析 CSV
if (parse_csv_string(csv_data, user) != 0) {
@ -364,9 +369,9 @@ IO_STEP_DATA step_csv_to_table(const char *csv_data) {
//数据组信息
temp.RUN = 0;
rt_snprintf(temp.Dyelot ,1,csv_get_cell(user, 1, 0));
rt_snprintf(temp.StepID ,1,csv_get_cell(user, 1, 1));
rt_snprintf(temp.StepName ,1,csv_get_cell(user, 1, 2));
rt_snprintf(temp.ParameterName ,1,csv_get_cell(user, 1, 3));
rt_snprintf(temp.StepID ,3,csv_get_cell(user, 1, 1));
rt_snprintf(temp.StepID_S1 ,3,csv_get_cell(user, 1, 2));
rt_snprintf(temp.StepID_S2 ,3,csv_get_cell(user, 1, 3));
temp.Parameter1 = atof(csv_get_cell(user, 1, 4));
temp.Parameter2 = atof(csv_get_cell(user, 1, 5));
temp.Parameter3 = atof(csv_get_cell(user, 1, 6));
@ -382,8 +387,6 @@ IO_STEP_DATA step_csv_to_table(const char *csv_data) {
temp.Parameter3_S2 = atof(csv_get_cell(user, 1, 16));
temp.Parameter4_S2 = atof(csv_get_cell(user, 1, 17));
temp.Parameter5_S2 = atof(csv_get_cell(user, 1, 18));
rt_snprintf(temp.StepID_S1, 3,csv_get_cell(user, 1, 19));
rt_snprintf(temp.StepID_S2, 3,csv_get_cell(user, 1, 20));
// 释放内存
rt_memheap_free(user);

9
applications/lvgl/ui_data_labels.c

@ -500,18 +500,21 @@ char UI_pname_Program[32]={0};
int8_t UI_pname_Program_row=0;
void UI_pname_step_inf(char* str_data,int row)
{
if(row==0)
if(row!=0)
{
// 查询数据
rt_snprintf(sqlSELECT, sizeof(sqlSELECT),"%s Program = '%s' AND Step = %d LIMIT 1;",select_Programstep_R,str_data);
rt_snprintf(sqlSELECT, sizeof(sqlSELECT),"%s Program = '%s' AND Step = %d LIMIT 1;",select_Programstep_R,str_data,row);
db_send_select(DB_CMD_SELECT, sqlSELECT, 500,select_data_ui);
UI_pname_step_inf_temp = step_csv_to_table(select_data_ui);
rt_snprintf(UI_pname_step_inf_temp.Program, sizeof(UI_pname_step_inf_temp.Program),str_data);
UI_pname_step_inf_temp.Step = row;
}else{
UI_pname_step_inf_temp = step_csv_to_table(select_data_ui);
rt_snprintf(UI_pname_step_inf_temp.Program, sizeof(UI_pname_step_inf_temp.Program),str_data);
UI_pname_step_inf_temp.Step = row;
rt_snprintf(UI_pname_step_inf_temp.StepID,sizeof(UI_pname_step_inf_temp.StepID),"000");
rt_snprintf(UI_pname_step_inf_temp.StepID_S1,sizeof(UI_pname_step_inf_temp.StepID_S1),"000");
rt_snprintf(UI_pname_step_inf_temp.StepID_S2,sizeof(UI_pname_step_inf_temp.StepID_S2),"000");
}
STEP_DATA_set_ui(&UI_pname_step_inf_temp);

4
applications/lvgl/ui_data_labels.h

@ -21,8 +21,8 @@ StartTime AS 预计开始,EndTime AS 预计完成,Time AS 预计用时,lock AS
#define select_Workordersteps_R "SELECT Dyelot,StepID,StepName,ParameterName,P1,P2,P3,P4,P5,P6,P7,P8,P9,\
P1_S1,P2_S1,P3_S1,P4_S1,P5_S1,P1_S2,P2_S2,P3_S2,P4_S2,P5_S2,P1_S3,P2_S3,P3_S3,P4_S3,P5_S3,ReDye,\
StepID_S1,StepID_S2,StepID_S3 FROM WorkorderSteps WHERE "
#define select_Programstep_R "SELECT ProgramID,StepID,StepName,ParameterName,P1,P2,P3,P4,P5,P1_S1,P2_S1,\
P3_S1,P4_S1,P5_S1,P1_S2,P2_S2,P3_S2,P4_S2,P5_S2,StepID_S1,StepID_S2 FROM ProgramSteps WHERE"
#define select_Programstep_R "SELECT ProgramID,StepID,StepID_S1,StepID_S2,P1,P2,P3,P4,P5,P1_S1,P2_S1,\
P3_S1,P4_S1,P5_S1,P1_S2,P2_S2,P3_S2,P4_S2,P5_S2 FROM ProgramSteps WHERE"
#define select_ProgramStepsinf_DATA "SELECT Program AS 工艺 ,Step AS 步号 ,StepName AS 步骤工艺 , ParameterName AS 细节,\
P1 AS 1 ,P2 AS 2 ,P3 AS 3 ,P4 AS 4 ,P5 AS 5 ,StepName_S1 AS 1 ,P1_S1 AS 1_1 ,P2_S1 AS 1_2,\

84
applications/lvgl/ui_data_labels_step.c

@ -26,41 +26,57 @@
extern struct rt_memheap sram_SRAM1,sdram_heap;
static const char* get_step_name(char * step_id)
static const int get_step_name(char * step_id)
{
int id_num = atoi(step_id);
switch(id_num) {
// --- 基础控制 ---
case 1: return "温度控制001"; // 001
case 7: return "水位进水007"; // 007 (AddWater + WaterLevel)
case 8: return "流量进水008"; // 008 (AddWater + Flowmeter)
case 13: return "水位水洗013"; // 013 (Washing + WaterLevel)
case 15: return "溢流水洗015"; // 015 (Washing + Overflow)
case 20: return "排水020"; // 020
case 22: return "主泵排水022"; // 022
case 31: return "运转031"; // 031
case 35: return "入布035"; // 035
case 36: return "出布036"; // 036
case 39: return "呼叫操作员039"; // 039
case 40: return "取样040"; // 040
case 41: return "程序结束041"; // 041
case 49: return "等待049"; // 049
case 50: return "加压050"; // 050
case 51: return "减压051"; // 051
case 54: return "泵风机速度054"; // 054 (Pump + Blower)
case 55: return "泵启动055"; // 055
case 56: return "泵停止056"; // 056
case 64: return "备药064"; // 064
case 65: return "加药065"; // 065
case 66: return "呼叫输送066"; // 066
case 67: return "呼叫准备067"; // 067
case 90: return "快速加酸090"; // 090
case 93: return "ph检测093"; // 093
case 94: return "ph控制094"; // 094
default: return "";
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;
}
}
/**
*
**/
@ -69,12 +85,12 @@ static const char* get_step_name(char * step_id)
void STEP_DATA_set_ui(IO_STEP_DATA* STEPDATA_inf)
{
char str_str[32];
lv_snprintf(str_str, sizeof(str_str), "%d", STEPDATA_inf->Step);
char str_str[4];
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_label_set_text(guider_ui.screen_stepinf_s1b,get_step_name(STEPDATA_inf->StepID));
lv_label_set_text(guider_ui.screen_stepinf_s2b,get_step_name(STEPDATA_inf->StepID_S1));
lv_label_set_text(guider_ui.screen_stepinf_s3b,get_step_name(STEPDATA_inf->StepID_S2));
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));
}

Loading…
Cancel
Save