步骤信息画面

This commit is contained in:
sc committed 2026-02-25 00:08:23 +08:00
1 parent a89359b423
commit c424b4f626
15 files changed
+302 -74

No files matched your search

+3
View File
@@ -27,8 +27,11 @@ typedef struct {
typedef struct {
char Dyelot[32]; // 单号
char ProgramID[16];
char Program[32];
int ReDye;
int RUN;
int Step;
char StepID[4];
char StepName[20];
char ParameterName[50];
+3 -1
View File
@@ -115,6 +115,7 @@ static void table_step_cb(lv_event_t *e)
}
//点击事件回调
char value_W[32] = {0};
int value_S=0;
static void table_click_event_cb(lv_event_t *e) {
lv_obj_t *table = lv_event_get_target(e);
lv_indev_t *indev = lv_indev_get_act();
@@ -182,7 +183,8 @@ static void table_click_event_cb(lv_event_t *e) {
}
else if(table == guider_ui.screen_pname_step_row){//工艺程序细节信息
pname_step_row = row;// 写入行号
if(value_W[0] == '\0') return;
value_S = lv_table_get_cell_value(guider_ui.screen_pname_step_row, row, 0);
UI_pname_step_inf(value_W,value_S);
}
}
@@ -341,13 +341,50 @@ static void screen_sys_save_event_handler (lv_event_t *e)
}
}
static void screen_stepinf_event_handler (lv_event_t *e)
static void screen_stepinf_s1_event_handler (lv_event_t *e)
{
lv_event_code_t code = lv_event_get_code(e);
switch (code) {
case LV_EVENT_CLICKED:
{
lv_obj_add_flag(guider_ui.screen_stepinf, LV_OBJ_FLAG_HIDDEN);
//uint16_t id = lv_dropdown_get_selected(guider_ui.screen_stepinf_s1);
lv_obj_clear_flag(guider_ui.screen_stepinf_s1b, LV_OBJ_FLAG_HIDDEN);
lv_obj_add_flag(guider_ui.screen_stepinf_s2b, LV_OBJ_FLAG_HIDDEN);
lv_obj_add_flag(guider_ui.screen_stepinf_s3b, LV_OBJ_FLAG_HIDDEN);
break;
}
default:
break;
}
}
static void screen_stepinf_s2_event_handler (lv_event_t *e)
{
lv_event_code_t code = lv_event_get_code(e);
switch (code) {
case LV_EVENT_CLICKED:
{
//uint16_t id = lv_dropdown_get_selected(guider_ui.screen_stepinf_s2);
lv_obj_add_flag(guider_ui.screen_stepinf_s1b, LV_OBJ_FLAG_HIDDEN);
lv_obj_clear_flag(guider_ui.screen_stepinf_s2b, LV_OBJ_FLAG_HIDDEN);
lv_obj_add_flag(guider_ui.screen_stepinf_s3b, LV_OBJ_FLAG_HIDDEN);
break;
}
default:
break;
}
}
static void screen_stepinf_s3_event_handler (lv_event_t *e)
{
lv_event_code_t code = lv_event_get_code(e);
switch (code) {
case LV_EVENT_CLICKED:
{
//uint16_t id = lv_dropdown_get_selected(guider_ui.screen_stepinf_s3);
lv_obj_add_flag(guider_ui.screen_stepinf_s1b, LV_OBJ_FLAG_HIDDEN);
lv_obj_add_flag(guider_ui.screen_stepinf_s2b, LV_OBJ_FLAG_HIDDEN);
lv_obj_clear_flag(guider_ui.screen_stepinf_s1b, LV_OBJ_FLAG_HIDDEN);
break;
}
default:
@@ -361,6 +398,7 @@ static void screen_btn_1_event_handler (lv_event_t *e)
switch (code) {
case LV_EVENT_CLICKED:
{
lv_obj_add_flag(guider_ui.screen_stepinf, LV_OBJ_FLAG_HIDDEN);
break;
}
default:
@@ -392,7 +430,9 @@ void events_init_screen (lv_ui *ui)
lv_obj_add_event_cb(ui->screen_set_Delete, screen_set_Delete_event_handler, LV_EVENT_ALL, ui);
lv_obj_add_event_cb(ui->screen_set_Save, screen_set_Save_event_handler, LV_EVENT_ALL, ui);
lv_obj_add_event_cb(ui->screen_sys_save, screen_sys_save_event_handler, LV_EVENT_ALL, ui);
lv_obj_add_event_cb(ui->screen_stepinf, screen_stepinf_event_handler, LV_EVENT_ALL, ui);
lv_obj_add_event_cb(ui->screen_stepinf_s1, screen_stepinf_s1_event_handler, LV_EVENT_ALL, ui);
lv_obj_add_event_cb(ui->screen_stepinf_s2, screen_stepinf_s2_event_handler, LV_EVENT_ALL, ui);
lv_obj_add_event_cb(ui->screen_stepinf_s3, screen_stepinf_s3_event_handler, LV_EVENT_ALL, ui);
lv_obj_add_event_cb(ui->screen_btn_1, screen_btn_1_event_handler, LV_EVENT_ALL, ui);
}
@@ -447,6 +447,9 @@ typedef struct
lv_obj_t *screen_sys_save;
lv_obj_t *screen_sys_save_label;
lv_obj_t *screen_stepinf;
lv_obj_t *screen_stepinf_s1b;
lv_obj_t *screen_stepinf_s2b;
lv_obj_t *screen_stepinf_s3b;
lv_obj_t *screen_stepinf_s1;
lv_obj_t *screen_stepinf_s2;
lv_obj_t *screen_stepinf_s3;
@@ -7335,6 +7335,84 @@ void setup_scr_screen(lv_ui *ui)
lv_obj_set_style_pad_right(ui->screen_stepinf, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_shadow_width(ui->screen_stepinf, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
//Write codes screen_stepinf_s1b
ui->screen_stepinf_s1b = lv_label_create(ui->screen_stepinf);
lv_label_set_text(ui->screen_stepinf_s1b, "");
lv_label_set_long_mode(ui->screen_stepinf_s1b, LV_LABEL_LONG_WRAP);
lv_obj_set_pos(ui->screen_stepinf_s1b, 0, 50);
lv_obj_set_size(ui->screen_stepinf_s1b, 300, 55);
lv_obj_add_flag(ui->screen_stepinf_s1b, LV_OBJ_FLAG_HIDDEN);
//Write style for screen_stepinf_s1b, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
lv_obj_set_style_border_width(ui->screen_stepinf_s1b, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_radius(ui->screen_stepinf_s1b, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_text_color(ui->screen_stepinf_s1b, lv_color_hex(0x000000), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_text_font(ui->screen_stepinf_s1b, &lv_font_simsun_16, LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_text_opa(ui->screen_stepinf_s1b, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_text_letter_space(ui->screen_stepinf_s1b, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_text_line_space(ui->screen_stepinf_s1b, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_text_align(ui->screen_stepinf_s1b, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_opa(ui->screen_stepinf_s1b, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_color(ui->screen_stepinf_s1b, lv_color_hex(0x2195f6), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_dir(ui->screen_stepinf_s1b, LV_GRAD_DIR_NONE, LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_pad_top(ui->screen_stepinf_s1b, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_pad_right(ui->screen_stepinf_s1b, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_pad_bottom(ui->screen_stepinf_s1b, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_pad_left(ui->screen_stepinf_s1b, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_shadow_width(ui->screen_stepinf_s1b, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
//Write codes screen_stepinf_s2b
ui->screen_stepinf_s2b = lv_label_create(ui->screen_stepinf);
lv_label_set_text(ui->screen_stepinf_s2b, "");
lv_label_set_long_mode(ui->screen_stepinf_s2b, LV_LABEL_LONG_WRAP);
lv_obj_set_pos(ui->screen_stepinf_s2b, 0, 106);
lv_obj_set_size(ui->screen_stepinf_s2b, 300, 55);
lv_obj_add_flag(ui->screen_stepinf_s2b, LV_OBJ_FLAG_HIDDEN);
//Write style for screen_stepinf_s2b, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
lv_obj_set_style_border_width(ui->screen_stepinf_s2b, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_radius(ui->screen_stepinf_s2b, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_text_color(ui->screen_stepinf_s2b, lv_color_hex(0x000000), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_text_font(ui->screen_stepinf_s2b, &lv_font_simsun_16, LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_text_opa(ui->screen_stepinf_s2b, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_text_letter_space(ui->screen_stepinf_s2b, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_text_line_space(ui->screen_stepinf_s2b, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_text_align(ui->screen_stepinf_s2b, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_opa(ui->screen_stepinf_s2b, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_color(ui->screen_stepinf_s2b, lv_color_hex(0x2195f6), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_dir(ui->screen_stepinf_s2b, LV_GRAD_DIR_NONE, LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_pad_top(ui->screen_stepinf_s2b, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_pad_right(ui->screen_stepinf_s2b, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_pad_bottom(ui->screen_stepinf_s2b, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_pad_left(ui->screen_stepinf_s2b, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_shadow_width(ui->screen_stepinf_s2b, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
//Write codes screen_stepinf_s3b
ui->screen_stepinf_s3b = lv_label_create(ui->screen_stepinf);
lv_label_set_text(ui->screen_stepinf_s3b, "");
lv_label_set_long_mode(ui->screen_stepinf_s3b, LV_LABEL_LONG_WRAP);
lv_obj_set_pos(ui->screen_stepinf_s3b, 0, 162);
lv_obj_set_size(ui->screen_stepinf_s3b, 300, 55);
lv_obj_add_flag(ui->screen_stepinf_s3b, LV_OBJ_FLAG_HIDDEN);
//Write style for screen_stepinf_s3b, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
lv_obj_set_style_border_width(ui->screen_stepinf_s3b, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_radius(ui->screen_stepinf_s3b, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_text_color(ui->screen_stepinf_s3b, lv_color_hex(0x000000), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_text_font(ui->screen_stepinf_s3b, &lv_font_simsun_16, LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_text_opa(ui->screen_stepinf_s3b, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_text_letter_space(ui->screen_stepinf_s3b, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_text_line_space(ui->screen_stepinf_s3b, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_text_align(ui->screen_stepinf_s3b, LV_TEXT_ALIGN_CENTER, LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_opa(ui->screen_stepinf_s3b, 255, LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_color(ui->screen_stepinf_s3b, lv_color_hex(0x2195f6), LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_bg_grad_dir(ui->screen_stepinf_s3b, LV_GRAD_DIR_NONE, LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_pad_top(ui->screen_stepinf_s3b, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_pad_right(ui->screen_stepinf_s3b, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_pad_bottom(ui->screen_stepinf_s3b, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_pad_left(ui->screen_stepinf_s3b, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
lv_obj_set_style_shadow_width(ui->screen_stepinf_s3b, 0, LV_PART_MAIN|LV_STATE_DEFAULT);
//Write codes screen_stepinf_s1
ui->screen_stepinf_s1 = lv_dropdown_create(ui->screen_stepinf);
lv_dropdown_set_options(ui->screen_stepinf_s1, "温度控制001\n水位进水007\n流量进水008\n水位水洗013\n溢流水洗015\n排水020\n主泵排水022\n运转031\n入布035\n出布036\n呼叫操作员039\n取样040\n程序结束041\n等待049\n加压050\n减压051\n泵风机速度054\n泵启动055\n泵停止056\n备药064\n加药065\n呼叫输送066\n呼叫准备067\n快速加酸090\nph检测093\nph控制094\n");
@@ -7468,7 +7546,7 @@ void setup_scr_screen(lv_ui *ui)
//Write codes screen_stepinf_s3
ui->screen_stepinf_s3 = lv_dropdown_create(ui->screen_stepinf);
lv_dropdown_set_options(ui->screen_stepinf_s3, "降温水洗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_s3, 105, 173);
lv_obj_set_pos(ui->screen_stepinf_s3, 105, 167);
lv_obj_set_size(ui->screen_stepinf_s3, 180, 45);
//Write style for screen_stepinf_s3, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
@@ -7954,7 +8032,7 @@ void setup_scr_screen(lv_ui *ui)
ui->screen_label_49 = lv_label_create(ui->screen_stepinf);
lv_label_set_text(ui->screen_label_49, "副功能2");
lv_label_set_long_mode(ui->screen_label_49, LV_LABEL_LONG_WRAP);
lv_obj_set_pos(ui->screen_label_49, 10, 183);
lv_obj_set_pos(ui->screen_label_49, 10, 178);
lv_obj_set_size(ui->screen_label_49, 90, 25);
//Write style for screen_label_49, Part: LV_PART_MAIN, State: LV_STATE_DEFAULT.
+57
View File
@@ -345,3 +345,60 @@ int run_csv_to_set(const char *csv_data) {
return 0;
}
// ============ 处理启动信息 ============
//处理程序表
IO_STEP_DATA step_csv_to_table(const char *csv_data) {
IO_STEP_DATA temp = {0};
if (csv_data == NULL) {
return temp;
}
user = (UserData *)rt_memheap_alloc(&sdram_heap, sizeof(UserData));
// 解析 CSV
if (parse_csv_string(csv_data, user) != 0) {
return temp;
}
//数据组信息
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));
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));
temp.Parameter4 = atof(csv_get_cell(user, 1, 7));
temp.Parameter5 = atof(csv_get_cell(user, 1, 8));
temp.P6 = atoi(csv_get_cell(user, 1, 9));
temp.P7 = atoi(csv_get_cell(user, 1, 10));
temp.P8 = atoi(csv_get_cell(user, 1, 11));
temp.P9 = atoi(csv_get_cell(user, 1, 12));
temp.P10 = atoi(csv_get_cell(user, 1, 13));
temp.Parameter1_S1 = atof(csv_get_cell(user, 1, 14));
temp.Parameter2_S1 = atof(csv_get_cell(user, 1, 15));
temp.Parameter3_S1 = atof(csv_get_cell(user, 1, 16));
temp.Parameter4_S1 = atof(csv_get_cell(user, 1, 17));
temp.Parameter5_S1 = atof(csv_get_cell(user, 1, 18));
temp.Parameter1_S2 = atof(csv_get_cell(user, 1, 19));
temp.Parameter2_S2 = atof(csv_get_cell(user, 1, 20));
temp.Parameter3_S2 = atof(csv_get_cell(user, 1, 21));
temp.Parameter4_S2 = atof(csv_get_cell(user, 1, 22));
temp.Parameter5_S2 = atof(csv_get_cell(user, 1, 23));
temp.Parameter1_S3 = atof(csv_get_cell(user, 1, 24));
temp.Parameter2_S3 = atof(csv_get_cell(user, 1, 25));
temp.Parameter3_S3 = atof(csv_get_cell(user, 1, 26));
temp.Parameter4_S3 = atof(csv_get_cell(user, 1, 27));
temp.Parameter5_S3 = atof(csv_get_cell(user, 1, 28));
temp.ReDye = atoi(csv_get_cell(user, 1, 29));
rt_snprintf(temp.StepID_S1, 3,csv_get_cell(user, 1, 30));
rt_snprintf(temp.StepID_S2, 3,csv_get_cell(user, 1, 31));
rt_snprintf(temp.StepID_S3, 3,csv_get_cell(user, 1, 32));
// 释放内存
rt_memheap_free(user);
return temp;
}
+2
View File
@@ -14,4 +14,6 @@ int parse_csv_to_table(lv_obj_t *container, const char *csv_data,int flags);
int parse_csv_to_inf(lv_obj_t *container, const char *csv_data ,int W_data,int H_data);
int run_csv_to_table(const char *csv_data);
int run_csv_to_set(const char *csv_data);
IO_STEP_DATA step_csv_to_table(const char *csv_data);
#endif /* APPLICATIONS_LVGL_UI_DATA_CSV_H_ */
+22 -1
View File
@@ -427,7 +427,7 @@ void Work_start(void)
else
{
//步骤信息
rt_snprintf(sqlSELECT, sizeof(sqlSELECT),"%s ProgramID = '%s' ORDER BY Step ASC;",select_Programstep_R,Work_NAME);
rt_snprintf(sqlSELECT, sizeof(sqlSELECT),"%s Program = '%s' ORDER BY Step ASC;",select_Programstep_R,Work_NAME);
db_send_select(DB_CMD_SELECT, sqlSELECT, 500,select_data_ui);
run_csv_to_table(select_data_ui);
}
@@ -484,3 +484,24 @@ void UI_pname_step_row(char* str_data)
lv_table_set_col_width(guider_ui.screen_pname_step_row, 0, 50);
lv_table_set_col_width(guider_ui.screen_pname_step_row, 1, 250);
}
//程序页面的编辑
IO_STEP_DATA UI_pname_step_inf_temp ={0};
void UI_pname_step_inf(char* str_data,int row)
{
// 查询数据
rt_snprintf(sqlSELECT, sizeof(sqlSELECT),"%s Program = '%s' AND Step = %d LIMIT 1;",select_Programstep_R,str_data);
rt_kprintf(sqlSELECT);
db_send_select(DB_CMD_SELECT, sqlSELECT, 500,select_data_ui);
rt_kprintf(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;
STEP_DATA_set_ui(&UI_pname_step_inf_temp);
}
+7 -2
View File
@@ -21,7 +21,7 @@ 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 Dyelot,StepID,StepName,ParameterName,P1,P2,P3,P4,P5,P6,P7,P8,P9,\
#define select_Programstep_R "SELECT ProgramID,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 ProgramSteps WHERE"
@@ -104,7 +104,6 @@ void update_led_o(void);
char* get_time_str(char *buf, size_t size);
void Work_Program_ui(void);
void Work_Program_step_ui(char* str_data);
void Work_Program_stepINF_ui(char* str_data);
@@ -112,5 +111,11 @@ void Work_start(void);
void UI_pname_row(void);
void UI_pname_step_row(char* str_data);
void UI_pname_step_inf(char* str_data,int row);
//step
#include <data/SC828_DATA_table.h>
void STEP_DATA_set_ui(IO_STEP_DATA* STEPDATA_inf);
#endif /* APPLICATIONS_LVGL_UI_DATA_LABELS_H_ */
+79
View File
@@ -0,0 +1,79 @@
/*
* 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 <rtthread.h>
#include <string.h>
#include <applications/data/Variable.h>
#include <board.h>
#include <stdio.h>
#include <time.h>
#include <string.h>
#include <guider/custom/custom.h>
#include <guider/generated/events_init.h>
#include <guider/generated/gui_guider.h>
#include <guider/generated/widgets_init.h>
#include "lvgl.h"
#include <ui_data_labels.h>
#include "libcsv.h"
// 全局或静态数组
extern struct rt_memheap sram_SRAM1,sdram_heap;
static const char* 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 "";
}
}
/**
* 数据信息显示
**/
#include "sql/DB_SQLite.h"
#include"ui_data_csv.h"
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);
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->StepName);
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));
}