sggt/App/APP_WU/Src/scr_setting_item_value.c

334 lines
11 KiB
C

#include "scr_setting_item_value.h"
//修改选项卡0的值
void set_item0_value(uint8_t 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(uint8_t con, int8_t step)
{
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;
default:
break;
}
}
//修改选项卡2的值
void set_item2_value(uint8_t con, int8_t step)
{
switch (con)
{
case DATA_SAVE:
{
if(tabdata.item2_page0_saveflag == 0)
{
tabdata.item2_page0_saveflag = 1;
//执行保存
set_item1_text(DATA_SAVE);
eeprom_datasave();
save_cnt = 0;
}
}
break;
case DATA_RESET:
{
if(tabdata.item2_page0_resetflag == 0)
{
tabdata.item2_page0_resetflag = 1;
//执行复位
item0_data_init();
reset_cnt = 0;
}
}
break;
}
}
//修改选项卡3的值
void set_item3_value(uint8_t con, int8_t step)
{
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:
{
tabdata.item3_page0_language = (tabdata.item3_page0_language > 0)?(0):(tabdata.item3_page0_language + 1);
}
break;
default:
break;
}
}