334 lines
11 KiB
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;
|
|
}
|
|
}
|
|
|