cmcu为stm32h743IIt6
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

601 lines
21 KiB

/*
* 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 <applications/data/SC828_DATA_table.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"
6 months ago
#include <ui_data_labels.h>
#include "libcsv.h"
// 全局或静态数组
char buf[8];
lv_obj_t *di_led_array[64];
lv_obj_t *do_led_array[64];
lv_obj_t *di_labels[24]; // DI: AIO4001 ~ AIO4024 (24个)
lv_obj_t *do_labels[16]; // DO: AIO5001 ~ AIO5016 (16个)
WorkOrder_DATA_tab * WorkDATA_tab=NULL;
Program_DATA_tab * ProgramDATA_tab=NULL;
STEP_DATA_tab * StepDATA_tab=NULL;
extern struct rt_memheap sram_SRAM1,sdram_heap;
6 months ago
/**
*
* DIO,AIO
*/
void ui_init_io(lv_ui *ui) {
6 months ago
WorkDATA_tab = rt_memheap_alloc(&sdram_heap, sizeof(WorkOrder_DATA_tab)*128);
ProgramDATA_tab = rt_memheap_alloc(&sdram_heap, sizeof(Program_DATA_tab)*512);
StepDATA_tab = rt_memheap_alloc(&sdram_heap, sizeof(STEP_DATA_tab)*256);
//di
di_led_array[0] = ui->screen_di1;
di_led_array[1] = ui->screen_di2;
di_led_array[2] = ui->screen_di3;
di_led_array[3] = ui->screen_di4;
di_led_array[4] = ui->screen_di5;
di_led_array[5] = ui->screen_di6;
di_led_array[6] = ui->screen_di7;
di_led_array[7] = ui->screen_di8;
di_led_array[8] = ui->screen_di9;
di_led_array[9] = ui->screen_di10;
di_led_array[10] = ui->screen_di11;
di_led_array[11] = ui->screen_di12;
di_led_array[12] = ui->screen_di13;
di_led_array[13] = ui->screen_di14;
di_led_array[14] = ui->screen_di15;
di_led_array[15] = ui->screen_di16;
di_led_array[16] = ui->screen_di17;
di_led_array[17] = ui->screen_di18;
di_led_array[18] = ui->screen_di19;
di_led_array[19] = ui->screen_di20;
di_led_array[20] = ui->screen_di21;
di_led_array[21] = ui->screen_di22;
di_led_array[22] = ui->screen_di23;
di_led_array[23] = ui->screen_di24;
di_led_array[24] = ui->screen_di25;
di_led_array[25] = ui->screen_di26;
di_led_array[26] = ui->screen_di27;
di_led_array[27] = ui->screen_di28;
di_led_array[28] = ui->screen_di29;
di_led_array[29] = ui->screen_di30;
di_led_array[30] = ui->screen_di31;
di_led_array[31] = ui->screen_di32;
di_led_array[32] = ui->screen_di33;
di_led_array[33] = ui->screen_di34;
di_led_array[34] = ui->screen_di35;
di_led_array[35] = ui->screen_di36;
di_led_array[36] = ui->screen_di37;
di_led_array[37] = ui->screen_di38;
di_led_array[38] = ui->screen_di39;
di_led_array[39] = ui->screen_di40;
di_led_array[40] = ui->screen_di41;
di_led_array[41] = ui->screen_di42;
di_led_array[42] = ui->screen_di43;
di_led_array[43] = ui->screen_di44;
di_led_array[44] = ui->screen_di45;
di_led_array[45] = ui->screen_di46;
di_led_array[46] = ui->screen_di47;
di_led_array[47] = ui->screen_di48;
di_led_array[48] = ui->screen_di49;
di_led_array[49] = ui->screen_di50;
di_led_array[50] = ui->screen_di51;
di_led_array[51] = ui->screen_di52;
di_led_array[52] = ui->screen_di53;
di_led_array[53] = ui->screen_di54;
di_led_array[54] = ui->screen_di55;
di_led_array[55] = ui->screen_di56;
di_led_array[56] = ui->screen_di57;
di_led_array[57] = ui->screen_di58;
di_led_array[58] = ui->screen_di59;
di_led_array[59] = ui->screen_di60;
di_led_array[60] = ui->screen_di61;
di_led_array[61] = ui->screen_di62;
di_led_array[62] = ui->screen_di63;
di_led_array[63] = ui->screen_di64;
//do
do_led_array[0] = ui->screen_do0;
do_led_array[1] = ui->screen_do1;
do_led_array[2] = ui->screen_do2;
do_led_array[3] = ui->screen_do3;
do_led_array[4] = ui->screen_do4;
do_led_array[5] = ui->screen_do5;
do_led_array[6] = ui->screen_do6;
do_led_array[7] = ui->screen_do7;
do_led_array[8] = ui->screen_do8;
do_led_array[9] = ui->screen_do9;
do_led_array[10] = ui->screen_do10;
do_led_array[11] = ui->screen_do11;
do_led_array[12] = ui->screen_do12;
do_led_array[13] = ui->screen_do13;
do_led_array[14] = ui->screen_do14;
do_led_array[15] = ui->screen_do15;
do_led_array[16] = ui->screen_do16;
do_led_array[17] = ui->screen_do17;
do_led_array[18] = ui->screen_do18;
do_led_array[19] = ui->screen_do19;
do_led_array[20] = ui->screen_do20;
do_led_array[21] = ui->screen_do21;
do_led_array[22] = ui->screen_do22;
do_led_array[23] = ui->screen_do23;
do_led_array[24] = ui->screen_do24;
do_led_array[25] = ui->screen_do25;
do_led_array[26] = ui->screen_do26;
do_led_array[27] = ui->screen_do27;
do_led_array[28] = ui->screen_do28;
do_led_array[29] = ui->screen_do29;
do_led_array[30] = ui->screen_do30;
do_led_array[31] = ui->screen_do31;
do_led_array[32] = ui->screen_do32;
do_led_array[33] = ui->screen_do33;
do_led_array[34] = ui->screen_do34;
do_led_array[35] = ui->screen_do35;
do_led_array[36] = ui->screen_do36;
do_led_array[37] = ui->screen_do37;
do_led_array[38] = ui->screen_do38;
do_led_array[39] = ui->screen_do39;
do_led_array[40] = ui->screen_do40;
do_led_array[41] = ui->screen_do41;
do_led_array[42] = ui->screen_do42;
do_led_array[43] = ui->screen_do43;
do_led_array[44] = ui->screen_do44;
do_led_array[45] = ui->screen_do45;
do_led_array[46] = ui->screen_do46;
do_led_array[47] = ui->screen_do47;
do_led_array[48] = ui->screen_do48;
do_led_array[49] = ui->screen_do49;
do_led_array[50] = ui->screen_do50;
do_led_array[51] = ui->screen_do51;
do_led_array[52] = ui->screen_do52;
do_led_array[53] = ui->screen_do53;
do_led_array[54] = ui->screen_do54;
do_led_array[55] = ui->screen_do55;
do_led_array[56] = ui->screen_do56;
do_led_array[57] = ui->screen_do57;
do_led_array[58] = ui->screen_do58;
do_led_array[59] = ui->screen_do59;
do_led_array[60] = ui->screen_do60;
do_led_array[61] = ui->screen_do61;
do_led_array[62] = ui->screen_do62;
do_led_array[63] = ui->screen_do63;
//ai
di_labels[0] = ui->screen_AIO4001;
di_labels[1] = ui->screen_AIO4002;
di_labels[2] = ui->screen_AIO4003;
di_labels[3] = ui->screen_AIO4004;
di_labels[4] = ui->screen_AIO4005;
di_labels[5] = ui->screen_AIO4006;
di_labels[6] = ui->screen_AIO4007;
di_labels[7] = ui->screen_AIO4008;
di_labels[8] = ui->screen_AIO4009;
di_labels[9] = ui->screen_AIO4010;
di_labels[10] = ui->screen_AIO4011;
di_labels[11] = ui->screen_AIO4012;
di_labels[12] = ui->screen_AIO4013;
di_labels[13] = ui->screen_AIO4014;
di_labels[14] = ui->screen_AIO4015;
di_labels[15] = ui->screen_AIO4016;
di_labels[16] = ui->screen_AIO4017;
di_labels[17] = ui->screen_AIO4018;
di_labels[18] = ui->screen_AIO4019;
di_labels[19] = ui->screen_AIO4020;
di_labels[20] = ui->screen_AIO4021;
di_labels[21] = ui->screen_AIO4022;
di_labels[22] = ui->screen_AIO4023;
di_labels[23] = ui->screen_AIO4024;
//ao
do_labels[0] = ui->screen_AIO5001;
do_labels[1] = ui->screen_AIO5002;
do_labels[2] = ui->screen_AIO5003;
do_labels[3] = ui->screen_AIO5004;
do_labels[4] = ui->screen_AIO5005;
do_labels[5] = ui->screen_AIO5006;
do_labels[6] = ui->screen_AIO5007;
do_labels[7] = ui->screen_AIO5008;
do_labels[8] = ui->screen_AIO5009;
do_labels[9] = ui->screen_AIO5010;
do_labels[10] = ui->screen_AIO5011;
do_labels[11] = ui->screen_AIO5012;
do_labels[12] = ui->screen_AIO5013;
do_labels[13] = ui->screen_AIO5014;
do_labels[14] = ui->screen_AIO5015;
do_labels[15] = ui->screen_AIO5016;
}
void update_io_labels(void)
{
for (int i = 0; i < 24; i++) {
snprintf(buf, sizeof(buf), "%d", ai_table[i].current_Value);
lv_label_set_text(di_labels[i], buf);
}
for (int i = 0; i < 16; i++) {
snprintf(buf, sizeof(buf), "%d", ao_table[i].current_Value);
lv_label_set_text(do_labels[i], buf);
}
}
void update_led_i(void)
{
for (int i = 0; i < 64; i++)
{
if(di_table[i].current_state)
{
lv_led_on(di_led_array[i]);
}
else
{
lv_led_off(di_led_array[i]);
}
}
}
void update_led_o(void)
{
for (int i = 0; i < 64; i++)
{
if(do_table[i].current_state)
{
lv_led_on(do_led_array[i]);
}
else
{
lv_led_off(do_led_array[i]);
}
}
}
5 months ago
/**
* 2025/01/25 13:55:11
* @param buf
* @param size >= 22
* @return buf NULL
*/
char* get_time_str(char *buf, size_t size)
{
time_t now;
struct tm *tm_info;
if (buf == RT_NULL || size < 22)
return RT_NULL;
time(&now); // 获取当前时间戳(秒)
5 months ago
tm_info = localtime(&now); // 转为本地时间
if (tm_info == RT_NULL)
{
rt_strncpy(buf, "invalid", size - 1);
buf[size - 1] = '\0';
return buf;
}
5 months ago
// 格式:2025/01/25 13:55:11 (两个空格)
5 months ago
strftime(buf, size, "%Y/%m/%d %H:%M:%S", tm_info);
return buf;
}
/**
*
**/
#include "sql/DB_SQLite.h"
#include"ui_data_csv.h"
int Work_Program_DATA=0;
5 months ago
char Work_NAME[32] = {0}; // 初始化为 0
char select_data_ui[4096]= {0};
char sqlSELECT[512] = {0}; // 初始化为 0
//工单页面的工艺/工单表
void Work_Program_ui(void)
{
//清楚点击行记录
Work_row = -1;
Work_step_row = -1;
Work_Program_DATA = ~Work_Program_DATA;
if(Work_Program_DATA==0)
{
char time_str[32];
if (get_time_str(time_str, sizeof(time_str)) != RT_NULL)
{
// 安全格式化
rt_snprintf(sqlSELECT, sizeof(sqlSELECT),"%s'%s' LIMIT 16;",select_WorkOrder_DATA,time_str);
db_send_select(DB_CMD_SELECT, sqlSELECT, 500,select_data_ui);
// 表格绘图
5 months ago
parse_csv_to_table(guider_ui.screen_list_inf, select_data_ui,0);
}
}
else
{
// 查询工艺数据
db_send_select(DB_CMD_SELECT, select_Program_DATA, 500,select_data_ui);
// 表格绘图
5 months ago
parse_csv_to_table(guider_ui.screen_list_inf, select_data_ui,0);
}
lv_table_set_col_cnt(guider_ui.screen_w_list,2);
5 months ago
lv_table_set_row_cnt(guider_ui.screen_w_list,0);
5 months ago
lv_table_set_col_width(guider_ui.screen_w_list, 0, 50);
lv_table_set_col_width(guider_ui.screen_w_list, 1, 250);
}
//工单页面的步骤信息表
void Work_Program_step_ui(char* str_data)
{
if(Work_Program_DATA==0)
{
// 安全格式化
5 months ago
rt_snprintf(Work_NAME, sizeof(Work_NAME),"%s",str_data);
rt_snprintf(sqlSELECT, sizeof(sqlSELECT),"%s'%s' ORDER BY Step ASC;",select_WorkorderSteps_DATA,str_data);
db_send_select(DB_CMD_SELECT, sqlSELECT, 500,select_data_ui);
5 months ago
// 表格绘图
5 months ago
if((select_data_ui[0]=='N')&&(select_data_ui[1]=='o')){
parse_csv_to_inf(guider_ui.screen_text_inf,"",550,230);
lv_table_set_col_cnt(guider_ui.screen_w_list,2);
lv_table_set_row_cnt(guider_ui.screen_w_list,0);
lv_table_set_col_width(guider_ui.screen_w_list, 0, 50);
lv_table_set_col_width(guider_ui.screen_w_list, 1, 250);
return;
}
5 months ago
parse_csv_to_table(guider_ui.screen_w_list, select_data_ui,1);
lv_table_set_col_width(guider_ui.screen_w_list, 0, 50);
lv_table_set_col_width(guider_ui.screen_w_list, 1, 250);
rt_snprintf(sqlSELECT, sizeof(sqlSELECT),"%s WorkOrder = '%s' LIMIT 1;",select_Workorderinf_DATA,str_data);
db_send_select(DB_CMD_SELECT, sqlSELECT, 500,select_data_ui);
5 months ago
//信息显示
parse_csv_to_inf(guider_ui.screen_text_inf,select_data_ui,550,230);
}
else
{
// 安全格式化
5 months ago
rt_snprintf(Work_NAME, sizeof(Work_NAME),"%s",str_data);
rt_snprintf(sqlSELECT, sizeof(sqlSELECT),"%s'%s' ORDER BY Step ASC;",select_ProgramSteps_DATA,str_data);
db_send_select(DB_CMD_SELECT, sqlSELECT, 500,select_data_ui);
5 months ago
// 表格绘图
5 months ago
parse_csv_to_inf(guider_ui.screen_text_inf,"",550,230);
if((select_data_ui[0]=='N')&&(select_data_ui[1]=='o')){
parse_csv_to_inf(guider_ui.screen_text_inf,"",550,230);
lv_table_set_col_cnt(guider_ui.screen_w_list,2);
lv_table_set_row_cnt(guider_ui.screen_w_list,0);
lv_table_set_col_width(guider_ui.screen_w_list, 0, 50);
lv_table_set_col_width(guider_ui.screen_w_list, 1, 250);
return;
}
5 months ago
parse_csv_to_table(guider_ui.screen_w_list, select_data_ui,1);
lv_table_set_col_width(guider_ui.screen_w_list, 0, 50);
lv_table_set_col_width(guider_ui.screen_w_list, 1, 250);
}
}
//工单页面的步骤详细
void Work_Program_stepINF_ui(char* str_data)
{
if(Work_Program_DATA==0)
{
// 安全格式化
rt_snprintf(sqlSELECT, sizeof(sqlSELECT),"%s WorkOrder = '%s LIMIT 1;",select_WorkorderStepsinf_DATA,str_data);
db_send_select(DB_CMD_SELECT, sqlSELECT, 500,select_data_ui);
//信息显示
parse_csv_to_inf(guider_ui.screen_text_inf,select_data_ui,550,230);
}
else
{
// 安全格式化
rt_snprintf(sqlSELECT, sizeof(sqlSELECT),"%s ProgramID = '%s LIMIT 1;",select_ProgramStepsinf_DATA,str_data);
db_send_select(DB_CMD_SELECT, sqlSELECT, 500,select_data_ui);
//信息显示
parse_csv_to_inf(guider_ui.screen_text_inf,select_data_ui,550,230);
}
}
5 months ago
//启动按钮
void Work_start(void)
5 months ago
{
if (Work_NAME[0] == '\0') return;
5 months ago
if(Work_Program_DATA==0)
{
//步骤信息
rt_snprintf(sqlSELECT, sizeof(sqlSELECT),"%s WorkOrder = '%s' ORDER BY Step ASC;",select_Workordersteps_R,Work_NAME);
db_send_select(DB_CMD_SELECT, sqlSELECT, 500,select_data_ui);
run_csv_to_table(select_data_ui);
//启动信息
rt_snprintf(sqlSELECT, sizeof(sqlSELECT),"%s w.WorkOrder = '%s' LIMIT 1;",select_Workorder_R,Work_NAME);
5 months ago
db_send_select(DB_CMD_SELECT, sqlSELECT, 500,select_data_ui);
run_csv_to_set(select_data_ui);
5 months ago
}
else
{
//步骤信息
rt_snprintf(sqlSELECT, sizeof(sqlSELECT),"%s Program = '%s' ORDER BY Step ASC;",select_Programstep_R,Work_NAME);
5 months ago
db_send_select(DB_CMD_SELECT, sqlSELECT, 500,select_data_ui);
run_csv_to_table(select_data_ui);
}
}
//===========程序页面==============
void UI_pname_row(void)
{
pname_row = -1;
pname_step_row = -1;
// 查询工艺数据和返回行数
db_send_select(DB_CMD_SELECT, select_Program_DATA, 500,select_data_ui);
// 表格绘图
int select_row = parse_csv_to_table(guider_ui.screen_pname_row, select_data_ui,0);
lv_table_set_col_width(guider_ui.screen_pname_row, 0, 430);
lv_table_set_col_width(guider_ui.screen_pname_row, 1, 80);
lv_table_set_col_width(guider_ui.screen_pname_row, 2, 200);
5 months ago
if(select_row >0 && select_row <255)
{
//有多少工艺
char name_select_row[8] = {0};
rt_snprintf(name_select_row, sizeof(name_select_row),"%d/255",select_row-1);
lv_label_set_text(guider_ui.screen_step_,name_select_row);
}else{ lv_label_set_text(guider_ui.screen_step_,"---/255");}
}
//
void UI_pname_step_row(char* str_data)
{
pname_step_row = -1;
//工艺名显示输入框
char name_data[64] = {0};
rt_snprintf(name_data, sizeof(name_data),"工艺:%s",str_data);
lv_textarea_set_text(guider_ui.screen_pname_set,(const char *)name_data);
// 查询工艺数据
rt_snprintf(sqlSELECT, sizeof(sqlSELECT),"%s'%s' ORDER BY Step ASC;",select_ProgramSteps_DATA,str_data);
db_send_select(DB_CMD_SELECT, sqlSELECT, 500,select_data_ui);
//添加删除信息
lv_label_set_text(guider_ui.screen_step_DELETE_name,str_data);
rt_snprintf(sqlSELECT, sizeof(sqlSELECT),"删除工艺:'%s'",str_data);
lv_label_set_text(guider_ui.screen_step_DELETE_inf,sqlSELECT);
rt_snprintf(UI_pname_Program, sizeof(UI_pname_Program),str_data);
// 步骤表格绘图
if((select_data_ui[0]=='N')&&(select_data_ui[1]=='o')){
lv_table_set_col_cnt(guider_ui.screen_pname_step_row,2);
lv_table_set_row_cnt(guider_ui.screen_pname_step_row,0);
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);
lv_table_set_cell_value(guider_ui.screen_pname_step_row,0,0,"");
lv_table_set_cell_value(guider_ui.screen_pname_step_row,0,1,"步骤工艺");
return;
}
parse_csv_to_table(guider_ui.screen_pname_step_row, select_data_ui,0);
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};
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)
{
// 查询数据
rt_snprintf(sqlSELECT, sizeof(sqlSELECT),"%s Program = '%s' AND Step = %d LIMIT 1;",select_Programstep_R,str_data);
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);
UI_pname_step_inf_temp.Step = row;
}
STEP_DATA_set_ui(&UI_pname_step_inf_temp);
//添加删除信息
if(row!=0)
{
lv_label_set_text(guider_ui.screen_step_DELETE_name,str_data);
rt_snprintf(sqlSELECT, sizeof(sqlSELECT),"工艺:'%s\n删除步骤:%d'",str_data ,row);
lv_label_set_text(guider_ui.screen_step_DELETE_inf,sqlSELECT);
UI_pname_Program_row = row;
}
}
//删除功能
void UI_pname_step_del(char* str_data,int row)
{
rt_snprintf(sqlSELECT, sizeof(sqlSELECT),"DELETE FROM ProgramSteps WHERE Program= '%s' AND Step = %d",str_data,row);
if( db_send_command(DB_CMD_EXEC, sqlSELECT, 500)==RT_EOK) //
{
// 查询工艺数据
rt_snprintf(sqlSELECT, sizeof(sqlSELECT),"%s'%s' ORDER BY Step ASC;",select_ProgramSteps_DATA,str_data);
db_send_select(DB_CMD_SELECT, sqlSELECT, 500,select_data_ui);
// 表格绘图
if((select_data_ui[0]=='N')&&(select_data_ui[1]=='o'))
{
lv_table_set_col_cnt(guider_ui.screen_pname_step_row,2);
lv_table_set_row_cnt(guider_ui.screen_pname_step_row,0);
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);
lv_table_set_cell_value(guider_ui.screen_pname_step_row,0,0,"");
lv_table_set_cell_value(guider_ui.screen_pname_step_row,0,1,"步骤工艺");
return;
}
parse_csv_to_table(guider_ui.screen_pname_step_row, select_data_ui,0);
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);
}
}
void UI_pname_row_del(char* str_data)
{
//删除
rt_snprintf(sqlSELECT, sizeof(sqlSELECT),"DELETE FROM ProgramName WHERE ProgramName= '%s'",str_data);
if( db_send_command(DB_CMD_EXEC, sqlSELECT, 500)==RT_EOK) //
{
rt_snprintf(sqlSELECT, sizeof(sqlSELECT),"DELETE FROM ProgramSteps WHERE Program= '%s'",str_data);
db_send_command(DB_CMD_EXEC, sqlSELECT, 500);
}
pname_row = -1;
pname_step_row = -1;
// 查询工艺数据和返回行数
db_send_select(DB_CMD_SELECT, select_Program_DATA, 500,select_data_ui);
// 表格绘图
int select_row = parse_csv_to_table(guider_ui.screen_pname_row, select_data_ui,0);
lv_table_set_col_width(guider_ui.screen_pname_row, 0, 430);
lv_table_set_col_width(guider_ui.screen_pname_row, 1, 80);
lv_table_set_col_width(guider_ui.screen_pname_row, 2, 200);
if(select_row >0 && select_row <255)
{
//有多少工艺
char name_select_row[8] = {0};
rt_snprintf(name_select_row, sizeof(name_select_row),"%d/255",select_row-1);
lv_label_set_text(guider_ui.screen_step_,name_select_row);
}else{ lv_label_set_text(guider_ui.screen_step_,"---/255");}
lv_textarea_set_text(guider_ui.screen_pname_set,"工艺");
}
//删除信息
void UI_pname_del()
{
if(UI_pname_Program[0] != '\0'){
if(UI_pname_Program_row==0)
{
UI_pname_row_del(UI_pname_Program);
}else{
UI_pname_step_del(UI_pname_Program,UI_pname_Program_row);
}
}
UI_pname_Program[0]='\0';
UI_pname_Program_row =0;
}