?? setup.c
字號(hào):
else
{
dispselectmessage(tblbaud[setcount]);
}
}
/////////////////////////////////////////////////////////////////////////////////
unsigned char code baudratetimer[4]={244,250,253,232};
/////////////////////////////////////////////////////////////////////////////////
void changebaudrate(unsigned char baudrate)
{
TR1=0;
delayTimerl(T5MS);
//TH1=253;
TH1=baudratetimer[baudrate];
delayTimerl(T5MS);
TR1=1;
delayTimerl(T5MS);
delayTimerl(T5MS);
delayTimerl(T5MS);
delayTimerl(T5MS);
init_modem();
}
/////////////////////////////////////////////////////////////////////////////////
void setbaudrate() //ok
{
if(keynumber==0xff)setbaudratedisp();
else
{
if(!submenuflag)
{
if(keynumber==ENTER)
{
submenuflag=1;
setcount=readbaudrate();
//setbaudrate(0xff);
dispselectmessage(tblbaud[setcount]);
}
else if(keynumber==CANCEL)terminatesetup();
else if(keynumber==NUMBER6)seteventcleardisp();
else if(keynumber==NUMBER4)setduressdisp();
}
else
{
if(keynumber==ENTER)
{
submenuflag=0;
ram_writep0(BAUDRATE,setcount);
changebaudrate(setcount);
setbaudratedisp();
}
else if(keynumber==CANCEL)
{
//submenuflag=0;
clearsetup();
setbaudratedisp();
}
else if(keynumber==NUMBER6)
{
setcount++;
if(setcount>=MAXBAUDRATESEL)setcount=0;
setbaudratedisp();
}
else if(keynumber==NUMBER4)
{
setcount--;
if(setcount>=MAXBAUDRATESEL)setcount=MAXBAUDRATESEL-1;
setbaudratedisp();
}
}
}
}
//////////////////////////////////////////////////////////////////////////////
void seteventcleardisp()
{
if(!submenuflag)
{
setupitem=SETEVENTCLEAR;
displaymessage(LMEVENTCLEAR,LINE1);
displaymessage(LMBLANK,LINE2);
}
else
{
displaymessage(LMYESNO,LINE2);
}
}
//////////////////////////////////////////////////////////////////////////////
void seteventclear()
{
if(keynumber==0xff)seteventcleardisp();
else
{
if(!submenuflag)
{
if(keynumber==ENTER)
{
submenuflag=1;
seteventcleardisp();
}
else if(keynumber==CANCEL)terminatesetup();
else if(keynumber==NUMBER6)setmasterchangedisp();
else if(keynumber==NUMBER4)setbaudratedisp();
}
else
{
if((keynumber==ENTER)||(keynumber==CANCEL)||(keynumber==NUMBER0))
{
submenuflag=0;
seteventcleardisp();
}
else if(keynumber==NUMBER1)
{
submenuflag=0;
//Here clear the event
ram_writep0(EVENTSTART,0);
ram_writep0(EVENTSTART+1,0);
ram_writep0(EVENTSTOP,0);
ram_writep0(EVENTSTOP+1,0);
seteventcleardisp();
}
}
}
}
/////////////////////////////////////////////////////////////////////////////////////
void setmasterchangedisp()
{
if(!submenuflag)
{
setupitem=SETMASTERCHANGE;
displaymessage(LMMASTERCHANGE,LINE1);
displaymessage(LMBLANK,LINE2);
}
else
{
if(!submenu1flag)
{
displaymessage(LMINPUTNEWMASTER,LINE1);
displaymessage(LMINPUTMASTERID,LINE2);
lcdcuron(MASTERIDSTARTP,LINE2);
}
else
{
}
}
}
/////////////////////////////////////////////////////////////////////////////////////
void removenormaluser()
{
getidfromlcd();
if(getuserbyid())
{
deleteuserbysn();
rdeleteuserbysn();
}
else
{
_nop_();
}
}
/////////////////////////////////////////////////////////////////////////////////////
unsigned char deleteoldmaster()
{
unsigned char i;
if(readmasterchange())
{
if(readfpmode())
{
displaymessage(LMBLANK,LINE2);
displaymessage(LMPUTOLDMASTERFP,LINE1);
delayTimerh(TMSGWAITTIME);
if(!capturecheckimage()) return MASTERFPERR;
if(!rextractfeature(3,0)) return MASTERFPERR;
currentsn=0x9999; //master's sn
if(!rfinduserbysn()) return MASTERFPERR;
if(!rdeleteuserbysn()) return DELETEMASTERERR;
for(i=0;i<8;i++)tempbuff[i]=0xff;
writeuserdata(MAXUSERNUM+20);
ram_writep0(MASTERCHANGED,0); //clear master changed flag
return DELETEMASTEROK;
}
}
else
return TRUE;
}
/////////////////////////////////////////////////////////////////////////////////////
void setmasterchange()
{
if(keynumber==0xff)setmasterchangedisp();
else
{
if(!submenuflag)
{
if(keynumber==ENTER)
{
clearsetup();
submenuflag=1;
//displaymessage(LMINPUTNEWMASTER,LINE1);
//displaymessage(LMINPUTMASTERID,LINE2);
//l/cdcur(MASTERIDSTARTP,LINE2);
if(readmasterchange())
{
if(readfpmode())
{
if(deleteoldmaster()==DELETEMASTEROK)
{
setmasterchangedisp();
}
else
{
displaymessage(LMBLANK,LINE1);
displaymessage(LMFINGERERR,LINE2);
delayTimerh(TMSGWAITTIME);
clearsetup();
setmasterchangedisp();
}
}
}
setmasterchangedisp();
}
else if(keynumber==CANCEL)terminatesetup();
else if(keynumber==NUMBER6)setsysinitdisp();
else if(keynumber==NUMBER4)seteventcleardisp();
}
else
{
if(!submenu1flag)
{
if(keynumber==ENTER)
{
if(setcount>=MINUSERIDLEN)
{
submenu1flag=1;
subsetcount=0;
//getidfromlcd();
//if(!getuserbyid())
//{
// //deleteuserbysn();
// rdeleteuserbysn();
//}
removenormaluser();
setcount=0;
displaymessage(LMMASTERPASS,LINE1);
displaymessage(LMMASTERPASSIN,LINE2);
lcdcuron(MASTERPASSSTARTP,LINE2);
}
}
else if(keynumber==CANCEL)
{
clearsetup();
setmasterchangedisp();
}
else
{
dispbuff[LINE2][MASTERIDSTARTP+setcount]=keynumber+0x30;
setcount++;
display(LINE2);
lcdcuron(MASTERIDSTARTP+setcount,LINE2);
if(setcount>=8)
{
submenu1flag=1;
subsetcount=0;
//registerid();
removenormaluser();
displaymessage(LMMASTERPASS,LINE1);
displaymessage(LMMASTERPASSIN,LINE2);
}
}
}
else
{
if(keynumber==ENTER)
{
}
else if(keynumber==CANCEL)
{
displaymessage(LMMASTERCHANGEFAIL,LINE1); //051011
displaymessage(LMMASTERBACKTO0,LINE2); //051011
delayTimerh(TMSGWAITTIME); //051011
ram_writep0(MASTERCHANGED,0); //051011
clearsetup();
setmasterchangedisp();
}
else
{
dispbuff[LINE2][setcount+MASTERPASSSTARTP]=keynumber+0x30;
display(LINE2);
keybuff[setcount]=keynumber;
setcount++;
lcdcuron(MASTERPASSSTARTP+setcount,LINE2);
if(setcount>=4)
{
keybuff[0]=(keybuff[0]<<4)+keybuff[1];
keybuff[1]=(keybuff[2]<<4)+keybuff[3];
tempbuff[0]=userid[0];
tempbuff[1]=userid[1];
tempbuff[2]=userid[2];
tempbuff[3]=userid[3];
tempbuff[4]=keybuff[0];
tempbuff[5]=keybuff[1];
tempbuff[6]=0x55;
tempbuff[7]=0xaa;
writeuserdata(MASTERUSERSN);
ram_writep0(MASTERCHANGED,1);
if(readfpmode())
{
currentsn=0x9999;
if(registerfp())
{
displaymessage(LMBLANK,LINE1);
displaymessage(LMMASTERCHANGEOK,LINE2);
delayTimerh(TMSGWAITTIME);
}
else
{
displaymessage(LMMASTERCHANGEFAIL,LINE1);
displaymessage(LMMASTERBACKTO0,LINE2);
delayTimerh(TMSGWAITTIME);
ram_writep0(MASTERCHANGED,0);
}
}
else
{
displaymessage(LMBLANK,LINE1);
displaymessage(LMMASTERCHANGEOK,LINE2);
delayTimerh(TMSGWAITTIME);
}
clearsetup();
setmasterchangedisp();
}
}
}
}
}
}
////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
void setpowerinitpass()
{
if((keynumber==CANCEL)||(keynumber==ENTER));
else
{
dispbuff[LINE2][setcount+MASTERPASSSTARTP]=keynumber;
displaybyte('*',MASTERPASSSTARTP+setcount+0x40+SET_DDRAM_ADD);
keybuff[setcount]=keynumber;
//display(LINE2);
setcount++;
lcdcuron(MASTERPASSSTARTP+setcount,LINE2);
if(setcount>=4)
{
clearsetup();
passinflag=0;
setflag=0;
keybuff[0]=(keybuff[0]<<4)+keybuff[1];
keybuff[1]=(keybuff[2]<<4)+keybuff[3];
if((keybuff[0]==MASTERPASSHIGH)&&(keybuff[1]==MASTERPASSLOW))
{
displaymessage(LMBLANK,LINE1);
displaymessage(LMINITIALIZE,LINE2);
initfpsystem();
displaymessage(LMBLANK,LINE1);
displaymessage(LMSYSINITOK,LINE2);
delayTimerh(TMSGWAITTIME);
displaymessage(LMBLANK,LINE1);
displaymessage(LMSWITCH,LINE2);
}
while(1)delayTimerh(T100MS);
}
}
}
////////////////////////////////////////////////////////////////////////////////////
void setsysinitdisp()
{
if(!submenuflag)
{
setupitem=SETSYSINIT;
displaymessage(LMSYSTEMINIT,LINE1);
displaymessage(LMBLANK,LINE2);
}
else
{
displaymessage(LMYESNO,LINE2);
}
}
////////////////////////////////////////////////////////////////////////////////////
void setsysinit() //ok
{
if(keynumber==0xff)setsysinitdisp();
else
{
if(!submenuflag)
{
if(keynumber==ENTER)
{
submenuflag=1;
//setsysinit(0xff);
setsysinitdisp();
}
else if(keynumber==CANCEL)terminatesetup();
else if(keynumber==NUMBER6)setidcleardisp();
else if(keynumber==NUMBER4)setmasterchangedisp();
}
else
{
if((keynumber==ENTER)||(keynumber==CANCEL)||(keynumber==NUMBER0))
{
//submenuflag=0;
clearsetup();
setsysinitdisp();
//setsysinit(0xff);
}
else if(keynumber==NUMBER1)
{
submenuflag=0;
//here initialize the system
displaymessage(LMBLANK,LINE1);
displaymessage(LMINITIALIZE,LINE2);
initfpsystem();
displaymessage(LMBLANK,LINE1);
displaymessage(LMSYSINITOK,LINE2);
delayTimerh(TMSGWAITTIME);
setsysinitdisp();
}
}
}
}
//////////////////////////////////////////////////////////////
void setidcleardisp()
{
if(!submenuflag)
{
setupitem=SETCLEARID;
displaymessage(LMIDCLEAR,LINE1);
displaymessage(LMBLANK,LINE2);
}
else
{
displaymessage(LMYESNO,LINE2);
}
}
//////////////////////////////////////////////////////////////
void setidclear()
{
if(keynumber==0xff)setidcleardisp();
else
{
if(!submenuflag)
{
if(keynumber==ENTER)
{
submenuflag=1;
//setidclear(0xff);
setidcleardisp();
}
else if(keynumber==CANCEL)terminatesetup();
else if(keynumber==NUMBER6)settscleardisp();
else if(keynumber==NUMBER4)setsysinitdisp();
}
else
{
if((keynumber==ENTER)||(keynumber==CANCEL)||(keynumber==NUMBER0))
{
//submenuflag=0;
clearsetup();
setidcleardisp();
//setidclear(0xff);
}
else if(keynumber==NUMBER1)
{
submenuflag=0;
//here clear all the id registered
//deletealluser();
//rdeletealluser();
displaymessage(LMBLANK,LINE1);
displaymessage(LMUSERCLEANING,LINE2);
userclear();
setidcleardisp();
}
}
}
}
////////////////////////////////////////////////////
void settscleardisp()
{
if(!submenuflag)
{
setupitem=SETCLEARTS;
displaymessage(LMTSCLEAR,LINE1);
displaymessage(LMBLANK,LINE2);
}
else
{
displaymessage(LMYESNO,LINE2);
}
}
////////////////////////////////////////////////////
void settsclear()
{
if(keynumber==0xff)settscleardisp();
else
{
if(!submenuflag)
{
if(keynumber==ENTER)
{
submenuflag=1;
//settsclear(0xff);
settscleardisp();
}
else if(keynumber==CANCEL)terminatesetup();
else if(keynumber==NUMBER6)setkeyindisp();
else if(keynumber==NUMBER4)setidcleardisp();
}
else
{
if((keynumber==ENTER)||(keynumber==CANCEL)||(keynumber==NUMBER0))
{
//submenuflag=0;
//settsclear(0xff);
clearsetup();
settscleardisp();
}
else if(keynumber==NUMBER1)
{
submenuflag=0;
//here clear the ts
clearts();
settscleardisp();
}
}
}
}
//////////////////////////////////////////////////////////////////////////////
unsigned char code tblkeyinsel[2]={LMDISABLE,LMENABLE};
//////////////////////////////////////////////////////////////////////////////
void setkeyindisp()
{
if(!submenuflag)
{
setupitem=SETKEYIN;
displaymessage(LMSETKEYIN,LINE1);
displaymessage(tblkeyinsel[readpinkeyin()],LINE2);
}
else
{
dispselectmessage(tblkeyinsel[setcount]);
}
}
//////////////////////////////////////////////////////////////////////////////
void setkeyin()
{
if(keynumber==0xff)setkeyindisp();
else
{
if(!submenuflag)
{
if(keynumber==ENTER)
{
submenuflag=1;
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -