#include "scr_setting_item_value.h" //该部分代码用于修改选项卡内部,右侧一列的值 //修改选项卡0的值 void set_item0_value(ITEM_CONTENTS con, int8_t step) { uint8_t enum_temp = 0; switch (con) { case VOL_UNIT_SET: { if( tabdata.item0_page0_vunit == VOLTAGE_V ) { tabdata.item0_page0_vunit = VOLTAGE_MV; } else { tabdata.item0_page0_vunit = VOLTAGE_V; } //修改单位后,更新上下限 set_item0_text(VOL_UP_SET); set_item0_text(VOL_LOW_SET); } break; case VOL_UP_SET: { if( tabdata.item0_page0_vunit == VOLTAGE_V ) { tabdata.item0_page0_vup[0] = tabdata.item0_page0_vup[0] + step; //上下限幅 if(tabdata.item0_page0_vup[0] > VOL[0].up) tabdata.item0_page0_vup[0] = VOL[0].up; if(tabdata.item0_page0_vup[0] < VOL[0].low) tabdata.item0_page0_vup[0] = VOL[0].low; //防止自相矛盾 if(tabdata.item0_page0_vup[0] < tabdata.item0_page0_vlow[0]) tabdata.item0_page0_vup[0] = tabdata.item0_page0_vlow[0]; } else { tabdata.item0_page0_vup[1] = tabdata.item0_page0_vup[1] + step; //上下限幅 if(tabdata.item0_page0_vup[1] > VOL[1].up) tabdata.item0_page0_vup[1] = VOL[1].up; if(tabdata.item0_page0_vup[1] < VOL[1].low) tabdata.item0_page0_vup[1] = VOL[1].low; //防止自相矛盾 if(tabdata.item0_page0_vup[1] < tabdata.item0_page0_vlow[1]) tabdata.item0_page0_vup[1] = tabdata.item0_page0_vlow[1]; } } break; case VOL_LOW_SET: { if( tabdata.item0_page0_vunit == VOLTAGE_V ) { tabdata.item0_page0_vlow[0] = tabdata.item0_page0_vlow[0] + step; //上下限幅 if(tabdata.item0_page0_vlow[0] > VOL[0].up) tabdata.item0_page0_vlow[0] = VOL[0].up; if(tabdata.item0_page0_vlow[0] < VOL[0].low) tabdata.item0_page0_vlow[0] = VOL[0].low; //防止自相矛盾 if(tabdata.item0_page0_vlow[0] > tabdata.item0_page0_vup[0]) tabdata.item0_page0_vlow[0] = tabdata.item0_page0_vup[0]; } else { tabdata.item0_page0_vlow[1] = tabdata.item0_page0_vlow[1] + step; //上下限幅 if(tabdata.item0_page0_vlow[1] > VOL[1].up) tabdata.item0_page0_vlow[1] = VOL[1].up; if(tabdata.item0_page0_vlow[1] < VOL[1].low) tabdata.item0_page0_vlow[1] = VOL[1].low; //防止自相矛盾 if(tabdata.item0_page0_vlow[1] > tabdata.item0_page0_vup[1]) tabdata.item0_page0_vlow[1] = tabdata.item0_page0_vup[1]; } } break; case CURRENT_UP_SET: { tabdata.item0_page0_cup = tabdata.item0_page0_cup + step; //上下限幅 if(tabdata.item0_page0_cup > CUR.up) tabdata.item0_page0_cup = CUR.up; if(tabdata.item0_page0_cup < CUR.low) tabdata.item0_page0_cup = CUR.low; //防止自相矛盾 if(tabdata.item0_page0_cup < tabdata.item0_page0_clow) tabdata.item0_page0_cup = tabdata.item0_page0_clow; } break; case CURRENT_LOW_SET: { tabdata.item0_page0_clow = tabdata.item0_page0_clow + step; //上下限幅 if(tabdata.item0_page0_clow > CUR.up) tabdata.item0_page0_clow = CUR.up; if(tabdata.item0_page0_clow < CUR.low) tabdata.item0_page0_clow = CUR.low; //防止自相矛盾 if(tabdata.item0_page0_clow > tabdata.item0_page0_cup) tabdata.item0_page0_clow = tabdata.item0_page0_cup; } break; case RES_UP_SET: { tabdata.item0_page0_rup = tabdata.item0_page0_rup + step; //上下限幅 if(tabdata.item0_page0_rup > RES.up) tabdata.item0_page0_rup = RES.up; if(tabdata.item0_page0_rup < RES.low) tabdata.item0_page0_rup = RES.low; //防止自相矛盾 if(tabdata.item0_page0_rup < tabdata.item0_page1_rlow) tabdata.item0_page0_rup = tabdata.item0_page1_rlow; } break; case RES_LOW_SET: { tabdata.item0_page1_rlow = tabdata.item0_page1_rlow + step; //上下限幅 if(tabdata.item0_page1_rlow > RES.up) tabdata.item0_page1_rlow = RES.up; if(tabdata.item0_page1_rlow < RES.low) tabdata.item0_page1_rlow = RES.low; //防止自相矛盾 if(tabdata.item0_page1_rlow > tabdata.item0_page0_rup) tabdata.item0_page1_rlow = tabdata.item0_page0_rup; } break; case FRE_UP_SET: { tabdata.item0_page1_fup = tabdata.item0_page1_fup + step; //上下限幅 if(tabdata.item0_page1_fup > FRE.up) tabdata.item0_page1_fup = FRE.up; if(tabdata.item0_page1_fup < FRE.low) tabdata.item0_page1_fup = FRE.low; //防止自相矛盾 if(tabdata.item0_page1_fup < tabdata.item0_page1_flow) tabdata.item0_page1_fup = tabdata.item0_page1_flow; } break; case FRE_LOW_SET: { tabdata.item0_page1_flow = tabdata.item0_page1_flow + step; //上下限幅 if(tabdata.item0_page1_flow > FRE.up) tabdata.item0_page1_flow = FRE.up; if(tabdata.item0_page1_flow < FRE.low) tabdata.item0_page1_flow = FRE.low; //防止自相矛盾 if(tabdata.item0_page1_flow > tabdata.item0_page1_fup) tabdata.item0_page1_flow = tabdata.item0_page1_fup; } break; case TC_TYPE_SET: { enum_temp = (uint8_t)tabdata.item0_page1_TCtype; enum_temp = enum_temp + step; if(enum_temp > 12) enum_temp = 5; if(enum_temp < 5) enum_temp = 12; tabdata.item0_page1_TCtype = (SIG_FUNCTIONS_TYPE)enum_temp; //修改单位后,更新上下限 set_item0_text(TC_UP_SET); set_item0_text(TC_LOW_SET); } break; case TC_UP_SET: { enum_temp = (uint8_t)tabdata.item0_page1_TCtype; enum_temp -= 5; tabdata.item0_page1_TCup[enum_temp]= tabdata.item0_page1_TCup[enum_temp] + step; //上下限幅 if(tabdata.item0_page1_TCup[enum_temp] > TC[enum_temp].up) tabdata.item0_page1_TCup[enum_temp] = TC[enum_temp].up; if(tabdata.item0_page1_TCup[enum_temp] < TC[enum_temp].low) tabdata.item0_page1_TCup[enum_temp] = TC[enum_temp].low; //防止自相矛盾 if(tabdata.item0_page1_TCup[enum_temp] < tabdata.item0_page1_TClow[enum_temp]) tabdata.item0_page1_TCup[enum_temp] = tabdata.item0_page1_TClow[enum_temp]; } break; case TC_LOW_SET: { enum_temp = (uint8_t)tabdata.item0_page1_TCtype; enum_temp -= 5; tabdata.item0_page1_TClow[enum_temp]= tabdata.item0_page1_TClow[enum_temp] + step; //上下限幅 if(tabdata.item0_page1_TClow[enum_temp] > TC[enum_temp].up) tabdata.item0_page1_TClow[enum_temp] = TC[enum_temp].up; if(tabdata.item0_page1_TClow[enum_temp] < TC[enum_temp].low) tabdata.item0_page1_TClow[enum_temp] = TC[enum_temp].low; //防止自相矛盾 if(tabdata.item0_page1_TClow[enum_temp] > tabdata.item0_page1_TCup[enum_temp]) tabdata.item0_page1_TClow[enum_temp] = tabdata.item0_page1_TCup[enum_temp]; } break; case RTD_UP_SET: { tabdata.item0_page2_RTDup = tabdata.item0_page2_RTDup + step; //上下限幅 if(tabdata.item0_page2_RTDup > RTD.up) tabdata.item0_page2_RTDup = RTD.up; if(tabdata.item0_page2_RTDup < RTD.low) tabdata.item0_page2_RTDup = RTD.low; //防止自相矛盾 if(tabdata.item0_page2_RTDup < tabdata.item0_page2_RTDlow) tabdata.item0_page2_RTDup = tabdata.item0_page2_RTDlow; } break; case RTD_LOW_SET: { tabdata.item0_page2_RTDlow = tabdata.item0_page2_RTDlow + step; //上下限幅 if(tabdata.item0_page2_RTDlow > RTD.up) tabdata.item0_page2_RTDlow = RTD.up; if(tabdata.item0_page2_RTDlow < RTD.low) tabdata.item0_page2_RTDlow = RTD.low; //防止自相矛盾 if(tabdata.item0_page2_RTDlow > tabdata.item0_page2_RTDup) tabdata.item0_page2_RTDlow = tabdata.item0_page2_RTDup; } break; default: break; } } //修改选项卡1的值 int16_t save_cnt = 0; int16_t reset_cnt = 0; void set_item1_value(ITEM_CONTENTS con, int8_t step) { uint8_t val_temp = 0; uint8_t val_start = 0; uint8_t val_end = 0; switch (con) { case SAMPLE_INTERVAL: { tabdata.item1_page0_sample_interval += step * 100; if( tabdata.item1_page0_sample_interval > 60000 ) tabdata.item1_page0_sample_interval = 60000; if( tabdata.item1_page0_sample_interval < 100 ) tabdata.item1_page0_sample_interval = 100; } break; case PLOT_NUM: { tabdata.item1_page0_plot_num += step; if( tabdata.item1_page0_plot_num > 20 ) tabdata.item1_page0_plot_num = 20; if( tabdata.item1_page0_plot_num < 3 ) tabdata.item1_page0_plot_num = 3; } break; case INPUT_COLOR: { val_start = (uint8_t)COLOR_BLUE; val_end = (uint8_t)COLOR_PURPLE; val_temp = (uint8_t)tabdata.item1_page0_color_input; val_temp += step; if( val_temp > val_end ) val_temp = val_start; if( val_temp < val_start ) val_temp = val_end; tabdata.item1_page0_color_input = (COLORS)val_temp; } break; case OUTPUT_COLOR: { val_start = (uint8_t)COLOR_BLUE; val_end = (uint8_t)COLOR_PURPLE; val_temp = (uint8_t)tabdata.item1_page0_color_output; val_temp += step; if( val_temp > val_end ) val_temp = val_start; if( val_temp < val_start ) val_temp = val_end; tabdata.item1_page0_color_output = (COLORS)val_temp; } break; default: break; } } //修改选项卡2的值 void set_item2_value(ITEM_CONTENTS con, int8_t step) { switch (con) { case DATA_SAVE: { if(tabdata.item2_page0_saveflag == 0) { tabdata.item2_page0_saveflag = 1; save_cnt = 0; } } break; case DATA_RESET: { if(tabdata.item2_page0_resetflag == 0) { tabdata.item2_page0_resetflag = 1; reset_cnt = 0; } } break; } } //修改选项卡3的值 void set_item3_value(ITEM_CONTENTS con, int8_t step) { uint8_t val_temp = 0; uint8_t val_start = 0; uint8_t val_end = 0; switch (con) { case LIGHT_STATUS: { if(tabdata.item3_page0_lightflag) { tabdata.item3_page0_lightflag = 0; LIGHT_OFF; } else { tabdata.item3_page0_lightflag = 1; LIGHT_ON; } } break; case LANGUAGE_SELECT: { val_start = (uint8_t)MENU_SIMPLYFY_CHINESE; val_end = (uint8_t)MENU_ENGLISH; val_temp = (uint8_t)tabdata.item3_page0_language; val_temp += step; if( val_temp > val_end ) { if(val_temp < 200) { val_temp = val_start; } else { val_temp = val_end; } } if( val_temp < val_start ) val_temp = val_end; tabdata.item3_page0_language = (LANGUAGES)val_temp; if(tabdata.item2_page0_saveflag == 2) tabdata.item2_page0_saveflag = 0; if(tabdata.item2_page0_resetflag == 2) tabdata.item2_page0_resetflag = 0; //修改语言选项后,随即更改标题、选项卡、当前页面的语言 setting_laguage_switch(tabdata.item3_page0_language); } break; default: break; } } //查看输入输出记录,io -> 输入/输出,page -> 指定页码 void show_IO_log(uint8_t io, uint8_t page) { if( (page > 10) || (page < 1) ) { return; } //启用所需组件 if( lv_obj_has_flag(guider_ui.screen_setting_label_00, LV_OBJ_FLAG_HIDDEN) ) { lv_obj_clear_flag(guider_ui.screen_setting_label_00, LV_OBJ_FLAG_HIDDEN); }; if( lv_obj_has_flag(guider_ui.screen_setting_label_01, LV_OBJ_FLAG_HIDDEN) ) { lv_obj_clear_flag(guider_ui.screen_setting_label_01, LV_OBJ_FLAG_HIDDEN); }; if( lv_obj_has_flag(guider_ui.screen_setting_label_10, LV_OBJ_FLAG_HIDDEN) ) { lv_obj_clear_flag(guider_ui.screen_setting_label_10, LV_OBJ_FLAG_HIDDEN); }; if( lv_obj_has_flag(guider_ui.screen_setting_label_11, LV_OBJ_FLAG_HIDDEN) ) { lv_obj_clear_flag(guider_ui.screen_setting_label_11, LV_OBJ_FLAG_HIDDEN); }; if( lv_obj_has_flag(guider_ui.screen_setting_label_20, LV_OBJ_FLAG_HIDDEN) ) { lv_obj_clear_flag(guider_ui.screen_setting_label_20, LV_OBJ_FLAG_HIDDEN); }; if( lv_obj_has_flag(guider_ui.screen_setting_label_21, LV_OBJ_FLAG_HIDDEN) ) { lv_obj_clear_flag(guider_ui.screen_setting_label_21, LV_OBJ_FLAG_HIDDEN); }; if( lv_obj_has_flag(guider_ui.screen_setting_label_30, LV_OBJ_FLAG_HIDDEN) ) { lv_obj_clear_flag(guider_ui.screen_setting_label_30, LV_OBJ_FLAG_HIDDEN); }; if( lv_obj_has_flag(guider_ui.screen_setting_label_31, LV_OBJ_FLAG_HIDDEN) ) { lv_obj_clear_flag(guider_ui.screen_setting_label_31, LV_OBJ_FLAG_HIDDEN); }; if( lv_obj_has_flag(guider_ui.screen_setting_label_40, LV_OBJ_FLAG_HIDDEN) ) { lv_obj_clear_flag(guider_ui.screen_setting_label_40, LV_OBJ_FLAG_HIDDEN); }; if( lv_obj_has_flag(guider_ui.screen_setting_label_41, LV_OBJ_FLAG_HIDDEN) ) { lv_obj_clear_flag(guider_ui.screen_setting_label_41, LV_OBJ_FLAG_HIDDEN); }; if( lv_obj_has_flag(guider_ui.screen_setting_label_50, LV_OBJ_FLAG_HIDDEN) ) { lv_obj_clear_flag(guider_ui.screen_setting_label_50, LV_OBJ_FLAG_HIDDEN); }; if( lv_obj_has_flag(guider_ui.screen_setting_label_51, LV_OBJ_FLAG_HIDDEN) ) { lv_obj_clear_flag(guider_ui.screen_setting_label_51, LV_OBJ_FLAG_HIDDEN); }; uint8_t cur = 0; cur = (page - 1)*6; char str[16]; if(tabdata.log_time[cur][2] == 0) { lv_label_set_text(guider_ui.screen_setting_label_00, "---"); } else { lv_label_set_text(guider_ui.screen_setting_label_00, tabdata.log_time[cur]); } if(tabdata.log_time[cur + 1][2] == 0) { lv_label_set_text(guider_ui.screen_setting_label_10, "---"); } else { lv_label_set_text(guider_ui.screen_setting_label_10, tabdata.log_time[cur + 1]); } if(tabdata.log_time[cur + 2][2] == 0) { lv_label_set_text(guider_ui.screen_setting_label_20, "---"); } else { lv_label_set_text(guider_ui.screen_setting_label_20, tabdata.log_time[cur + 2]); } if(tabdata.log_time[cur + 3][2] == 0) { lv_label_set_text(guider_ui.screen_setting_label_30, "---"); } else { lv_label_set_text(guider_ui.screen_setting_label_30, tabdata.log_time[cur + 3]); } if(tabdata.log_time[cur + 4][2] == 0) { lv_label_set_text(guider_ui.screen_setting_label_40, "---"); } else { lv_label_set_text(guider_ui.screen_setting_label_40, tabdata.log_time[cur + 4]); } if(tabdata.log_time[cur + 5][2] == 0) { lv_label_set_text(guider_ui.screen_setting_label_50, "---"); } else { lv_label_set_text(guider_ui.screen_setting_label_50, tabdata.log_time[cur + 5]); } switch (io) { case IO_INPUT: { sprintf(str, "%.3f", tabdata.input_log_value[cur]); lv_label_set_text(guider_ui.screen_setting_label_01, str); sprintf(str, "%.3f", tabdata.input_log_value[cur + 1]); lv_label_set_text(guider_ui.screen_setting_label_11, str); sprintf(str, "%.3f", tabdata.input_log_value[cur + 2]); lv_label_set_text(guider_ui.screen_setting_label_21, str); sprintf(str, "%.3f", tabdata.input_log_value[cur + 3]); lv_label_set_text(guider_ui.screen_setting_label_31, str); sprintf(str, "%.3f", tabdata.input_log_value[cur + 4]); lv_label_set_text(guider_ui.screen_setting_label_41, str); sprintf(str, "%.3f", tabdata.input_log_value[cur + 5]); lv_label_set_text(guider_ui.screen_setting_label_51, str); sprintf(str,"< %d/%d >", page, 10); lv_label_set_text(guider_ui.screen_setting_label_page, str); } break; case IO_OUTPUT: { sprintf(str, "%.3f", tabdata.output_log_value[cur]); lv_label_set_text(guider_ui.screen_setting_label_01, str); sprintf(str, "%.3f", tabdata.output_log_value[cur + 1]); lv_label_set_text(guider_ui.screen_setting_label_11, str); sprintf(str, "%.3f", tabdata.output_log_value[cur + 2]); lv_label_set_text(guider_ui.screen_setting_label_21, str); sprintf(str, "%.3f", tabdata.output_log_value[cur + 3]); lv_label_set_text(guider_ui.screen_setting_label_31, str); sprintf(str, "%.3f", tabdata.output_log_value[cur + 4]); lv_label_set_text(guider_ui.screen_setting_label_41, str); sprintf(str, "%.3f", tabdata.output_log_value[cur + 5]); lv_label_set_text(guider_ui.screen_setting_label_51, str); sprintf(str,"< %d/%d >", page, 10); lv_label_set_text(guider_ui.screen_setting_label_page, str); } break; default: break; } }