📄 mmi.c
字号:
current_page=YX_PAGE;
page_point=0;
drf_flag=0x55;
}
else if(pp==2 && DEVICE_TYPE!=61) //主菜单下选定传动
{
current_page=PW_PAGE;
pass_flag=1;
pass_word=1000;
cursor_point=0;
cursor_state=0;
}
else if(pp==3) //主菜单下选定修改
{
current_page=PW_PAGE;
pass_flag=2;
pass_word=1000;
cursor_point=0;
cursor_state=0;
}
else if(pp==4 && DEVICE_TYPE!=61) //主菜单下选定查询
{
current_page=ASP_PAGE;
page_point=0;
asp_line_point=0;
}
else if(pp==5) //主菜单下选定通讯
current_page=COM_PAGE;
else if(pp==6) //主菜单下选定调试
{
current_page=RDR_PAGE;
cursor_point=0;
cursor_state=0;
}
else if(pp==7) //主菜单下选定调试
current_page=HELP_PAGE;
}
}
}
else if (current_page==YC_PAGE) //测量页
{
if (key==KEY_ESC)
{
current_page=MAIN_PAGE;
page_point=0;
arrow_state=0;
}
else if(key==KEY_RIGHT || key==KEY_DOWN)
page_point=( page_point+1) % YC_PAGE_NUM;
else if(key==KEY_LEFT || key==KEY_UP)
{
if (page_point==0) page_point=YC_PAGE_NUM-1;
else page_point--;
}
}
else if (current_page==YX_PAGE) //状态页
{
if (key==KEY_ESC)
{
current_page=MAIN_PAGE;
page_point=0;
arrow_state=0;
}
else if(key==KEY_RIGHT || key==KEY_DOWN)
page_point=( page_point+1) % YX_PAGE_NUM;
else if(key==KEY_LEFT || key==KEY_UP)
{
if (page_point==0) page_point=YX_PAGE_NUM-1;
else page_point--;
}
}
else if(current_page==PW_PAGE) //密码页
{
if (key==KEY_ESC)
{
current_page=MAIN_PAGE;
page_point=0;
arrow_state=0;
}
else if(cursor_state==0 && key==KEY_ENTER)
{
cursor_point=0;
cursor_state=0x55;
}
else if(cursor_state==0x55)
{
if (key==KEY_LEFT )
cursor_point=(cursor_point+4-1) % 4;
else if (key==KEY_RIGHT )
cursor_point=(cursor_point+1) % 4;
else if (key==KEY_UP || key==KEY_DOWN)
{
dec_to_4bit(&bit[0],pass_word);
if (key==KEY_UP)
bit[cursor_point]=(bit[cursor_point]+1) % 10;
else bit[cursor_point]=(bit[cursor_point]+10-1) % 10;
pass_word=bit4_to_dec(&bit[0]);
}
else if (key==KEY_ENTER)
{
cursor_state=0;
if(pass_word==1001)
{
if (pass_flag==1) //传动密码页
{
pass_flag=0;
current_page=YK_PAGE;
arrow_point=0;
arrow_state=0;
}
else if(pass_flag==2) //修改密码页
{
pass_flag=0;
current_page=MODIFY_PAGE;
arrow_point=0;
arrow_state=0;
}
}
}
}
}
else if (current_page==YK_PAGE ) //传动菜单
{
if ( arrow_state==0) //传动菜单下无光标选定
{
if (key==KEY_ENTER)
{
arrow_state=0x55;
arrow_point=0;
}
else if(key==KEY_LEFT) page_point=(page_point+YK_PAGE_NUM-1) % YK_PAGE_NUM;
else if(key==KEY_RIGHT) page_point=(page_point+1) % YK_PAGE_NUM;
else if(key==KEY_ESC)
{
current_page=MAIN_PAGE;
page_point=0;
arrow_state=0;
}
}
else //传动菜单下有光标选定
{
if (key==KEY_ESC)
{
arrow_state=0;
}
#if DEVICE_TYPE==11 || DEVICE_TYPE==21 || DEVICE_TYPE==35 //线路、电容器
else if( (key==KEY_RIGHT || key==KEY_LEFT) && page_point==0 )
{
if (arrow_point==0 || arrow_point==2)
arrow_point++;
else
arrow_point--;
}
else if (key==KEY_UP || key==KEY_DOWN)
{
if (arrow_point==0 || arrow_point==1)
arrow_point+=2;
else
arrow_point-=2;
}
#endif
#if DEVICE_TYPE==45 || DEVICE_TYPE==46 //低后备 高后备
else if( (key==KEY_RIGHT || key==KEY_LEFT))
{
if (arrow_point==0 || arrow_point==2|| arrow_point==4)
arrow_point++;
else
arrow_point--;
if (arrow_point==6) arrow_point=7;
}
else if (key==KEY_UP || key==KEY_DOWN)
{
if (arrow_point==0 || arrow_point==1|| arrow_point==4)
arrow_point+=2;
else
arrow_point-=2;
if (arrow_point==6) arrow_point=5;
}
#endif
else if (key==KEY_ENTER)
{
pp=arrow_point+page_point*4;
if (pp==0) //分闸
{
coe_data=0x50;
coe_data_bak=coe_data;
}
else if (pp==2) //合闸
{
coe_data=0x60;
coe_data_bak=coe_data;
}
#if DEVICE_TYPE==11 || DEVICE_TYPE==21 //线路、电容器
else if (pp==1) //控一
{
coe_data=0x10;
coe_data_bak=coe_data;
}
else if (pp==3) //控二
{
coe_data=0x20;
coe_data_bak=coe_data;
}
else if (pp==4) //控三
{
coe_data=0x30;
coe_data_bak=coe_data;
}
else if (pp==6) //控四
{
coe_data=0x40;
coe_data_bak=coe_data;
}
#endif
#if DEVICE_TYPE==45 || DEVICE_TYPE==46 //低后备 高后备
else if (pp==1) //跳母联
{
coe_data=0x40;
coe_data_bak=coe_data;
}
else if (pp==3) //跳高侧
{
coe_data=0x10;
coe_data_bak=coe_data;
}
else if (pp==4) //跳三侧
{
coe_data=0x18;
coe_data_bak=coe_data;
}
else if (pp==5) //主变升
{
coe_data=0x20;
coe_data_bak=coe_data;
}
else if (pp==7) //主变降
{
coe_data=0x30;
coe_data_bak=coe_data;
}
#endif
#if DEVICE_TYPE==35 //差动
else if (pp==1) //跳母联
{
coe_data=0x40;
coe_data_bak=coe_data;
}
else if (pp==3) //跳低侧
{
coe_data=0x10;
coe_data_bak=coe_data;
}
else if (pp==4) //跳三侧
{
coe_data=0x18;
coe_data_bak=coe_data;
}
#endif
current_page=YK_CONFIG_PAGE;
arrow_state=0;
}
}
}
else if(current_page==YK_CONFIG_PAGE) //YK确认菜单
{
if (arrow_state==0 && key==KEY_ENTER)
{
arrow_point=0;
arrow_state=0x55;
}
else if (arrow_state==0 && key==KEY_ESC)
{
current_page=YK_PAGE;
arrow_state=0;
}
else if (arrow_state==0x55)
{
if(key==KEY_ENTER )
{
if (arrow_point==0) //确认
{
coe_flag=0x55;
current_page=COE_WAIT_PAGE;
}
else //取消
{
current_page=YK_PAGE;
arrow_state=0;
}
}
else if(key==KEY_LEFT ||key== KEY_RIGHT)
arrow_point=(arrow_point+1) &1;
}
}
else if (current_page==MODIFY_PAGE) //修改菜单
{
if ( arrow_state==0) //修改菜单下无光标选定
{
if (key==KEY_ENTER)
{
arrow_state=0x55;
arrow_point=0;
}
else if(key==KEY_ESC)
{
current_page=MAIN_PAGE;
page_point=0;
arrow_state=0;
}
}
else //修改菜单下有光标选定
{
if (key==KEY_ESC)
{
arrow_state=0;
}
else if (key==KEY_RIGHT || key==KEY_LEFT)
{
if (arrow_point==0 || arrow_point==2)
arrow_point++;
else
arrow_point--;
}
else if (key==KEY_UP || key==KEY_DOWN)
{
if (arrow_point==0 || arrow_point==1)
arrow_point+=2;
else
arrow_point-=2;
}
else if (key==KEY_ENTER)
{
if (arrow_point==0) //光标指向时间
{
current_page=TIME_PAGE;
ajt_flag=0x55;
}
else if(arrow_point==1) //光标指向定值
{
#if DEVICE_TYPE==61 //361从液晶FLASH中读定值
current_page=SET_PAGE;
set_data[0]=my_set.id;
page_point=0;
#else
current_page=READ_WAIT_PAGE;
rds_flag=0x55;
read_flag=0x10;
#endif
}
else if(arrow_point==2) //光标指向系数
{
current_page=READ_WAIT_PAGE;
#if DEVICE_TYPE==61 //361从液晶FLASH中读系数
current_page=KCH_PAGE;
page_point=0;
#else
current_page=READ_WAIT_PAGE;
rdk_flag=0x55;
read_flag=0x20;
#endif
}
else if(arrow_point==3) //光标指向表底 无操作
{
current_page=MODIFY_PAGE;
arrow_point=0;
arrow_state=0;
}
}
}
}
else if (current_page==TIME_PAGE) //时间
{
if (key==KEY_ESC)
{
current_page=MODIFY_PAGE;
arrow_state=0;
}
}
else if (current_page==KCH_PAGE) //系数
{
if (key==KEY_ESC && cursor_state==0)
{
current_page=MODIFY_PAGE;
arrow_state=0;
}
else if(key==KEY_ENTER)
{
if (cursor_state==0x55)
{
cursor_state=0;
cursor_line++; cursor_line&=1;
}
else
{
cursor_state=0x55;
cursor_point=0;
}
}
else if(cursor_state==0 && (key==KEY_LEFT || key==KEY_RIGHT))
{
if (key==KEY_RIGHT) page_point=(page_point+1) % KCH_PAGE_NUM;
else page_point=(page_point+KCH_PAGE_NUM-1) % KCH_PAGE_NUM;
}
else if (cursor_state==0 && key==KEY_UP ) //写入系数
{
#if DEVICE_TYPE==61 //361装置无存储EEP,系数存在液晶里
for(i=0;i<8;i++)
{
wt_buf[2*i]=kch_data[i] & 0xff;
wt_buf[2*i+1]=kch_data[i] >>8;
}
write_430_mem(KCH_ADDR,16,&wt_buf[0]);
write_eep_ok=0x55;
current_page=MODIFY_RETUREN_PAGE;
#else
wrk_flag=0x55;
#endif
}
else if(cursor_state==0x55)
{
if (key==KEY_LEFT) cursor_point=(cursor_point+4-1) & 3 ;
else if (key==KEY_RIGHT)cursor_point=(cursor_point+1) & 3 ;
else if (key==KEY_UP || key==KEY_DOWN)
{
dd=kch_data[page_point*2+cursor_line];
dec_to_4bit(&bit[0],dd);
if (key==KEY_UP)
bit[cursor_point]=(bit[cursor_point]+1) % 10;
else bit[cursor_point]=(bit[cursor_point]+10-1) % 10;
dd=bit4_to_dec(&bit[0]);
kch_data[page_point*2+cursor_line]=dd;
}
else if(key==KEY_ESC ) cursor_state=0;
}
}
else if(current_page==SET_PAGE) //定值页
{
if (cursor_state==0)
{
if (key==KEY_ESC )
{
current_page=MODIFY_PAGE;
arrow_state=0;
}
else if(key==KEY_LEFT || key==KEY_RIGHT)
{
if (key==KEY_RIGHT) page_point=(page_point+1) % SET_PAGE_NUM;
else page_point=(page_point+SET_PAGE_NUM-1) % SET_PAGE_NUM;
}
else if(key==KEY_ENTER)
{
cursor_state=0x55;
type=set_type[page_point*2+cursor_line];
if (type==0x55) //此行无编
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -