📄 uinew.c
字号:
gUIMain.PowerSavEnable = FALSE;
errorstate.enginestate = ENGINEWARMUP;
FaxAPI_AllSetUItoFaxParam();
free(pFlashdata);
free(pFlashdata2);
}
void InitPhoneBook(void)
{
Uint8* buf;
Uint8* pFlashdata;
int failure,i;
sPhoneBookDial *info;
SPI_Config();
pFlashdata = (Uint8*)malloc_locked(PHONEBOOK_PAGES * FLASH_PAGE_SIZE);
LockSPIMode(TRUE);
failure = SPI_ReadPage(PHONEBOOK_STARTPAGE, PHONEBOOK_PAGES, (Uint32*)pFlashdata);
UnlockSPIMode();
if (failure)
{
PSPRINTF("%s: SPI_ReadPage failed for flash sector\n", __func__);
}
memcpy(buf,pFlashdata,1);
if(*buf == 0xFF)
{
ClearPhoneBook();
free(pFlashdata);
return;
}
else
memcpy(&phonebook,pFlashdata,sizeof(PHONEBOOK));
info = (sPhoneBookDial*)malloc_locked(PHONE_RECORD_MAX*sizeof(sPhoneBookDial));
for(i = 0; i<PHONE_RECORD_MAX; i++)
{
strcpy(info[i].Name,phonebook.PBrecord[i].sTelName);
strcpy(info[i].Number,phonebook.PBrecord[i].sTelNum);
memcpy(info[i].GroupMember,phonebook.PBrecord[i].groupmember,GROUP_MEMBER_MAX*2);
info[i].GroupMemberNum = phonebook.PBrecord[i].membernum;
info[i].RecordType = phonebook.PBrecord[i].recordType;
}
failure = FaxAPI_SetPhoneBookDialInfo_All(info);
if (failure)
{
PSPRINTF("%s: FaxAPI_SetPhoneBookDialInfo_All failed\n", __func__);
}
gUIMain.pPhonebook = &phonebook;
free(info);
free(pFlashdata);
}
API_RET Scan2AppMenu_Init(void)
{
static MAIN_MENU_LIST* g_pmlScan2App = NULL;
Uint8 i, cAppCou;
MAIN_MENU_LIST tempMenu;
MAIN_MENU_LIST* ptempMenu;
cAppCou = gUIMain.scansetting.Scan2PCAPI.ApplicCount;
if ((cAppCou == 0) || (cAppCou > MAX_APP_NUMBER))
{
return API_FAIL;
}
if (g_pmlScan2App != NULL)
{
FreeAligned(g_pmlScan2App);
g_pmlScan2App = NULL;
}
/* */
g_pmlScan2App = (MAIN_MENU_LIST*) MallocAligned(sizeof(MAIN_MENU_LIST)*cAppCou, 8);
if (g_pmlScan2App == NULL)
{
return API_FAIL;
}
ptempMenu = g_pmlScan2App;
/* Set App menu value */
for (i=0; i<cAppCou; i++)
{
ptempMenu->caption = NULL;
ptempMenu->titleID = DISP_T_PC;
ptempMenu->dispID = SCAN_APP_NAME_ID+i;
ptempMenu->pPreMenuList = &mlSCAN[0];
ptempMenu->precount = MENUITEMCOUNT(mlSCAN);
ptempMenu->preIndex = 0;
ptempMenu->count = 0;
ptempMenu->pNextMenuList = NULL;
ptempMenu->NextIndex = 0;
ptempMenu->type = STRING;
ptempMenu->item_min = NULL;
ptempMenu->item_max = NULL;
ptempMenu->item_userdefault = NULL;
ptempMenu->itemchoose_addr = NULL;
ptempMenu->starttype = M_SCANMODE;
ptempMenu->firstline = MIDDLE;
ptempMenu->secondline = MIDDLE;
ptempMenu->fun = MenuProcess;
ptempMenu->fun2 = NULL;
ptempMenu++;
}
mlSCAN[0].count = cAppCou;
mlSCAN[0].pNextMenuList = g_pmlScan2App;
mlSCAND[0].item_max = cAppCou - 1;
return API_OK;
}
void MenuDataInit()
{
gpMenudata = &gMenudata;
gpMenudata->mlIndex = NULL;
gpMenudata->ml = NULL;
/* Move to SetFactoryDefault() */
// Scan2AppMenu_Init();
}
void MenuListInitSet(Uint8 mode)
{
if(mode == FIRSTPOWERUP)
{
gpMenudata->ml = (P_MAIN_MENU_LIST)&mlFIRSTPOWERUP[0];
gpMenudata->mlIndex = 0;
gpMenudata->mlCount = MENUITEMCOUNT(mlFIRSTPOWERUP);
gpMenudata->currentMenu = (P_MAIN_MENU_LIST)&mlFIRSTPOWERUP[0];
gUIMain.UIstate = MENU;
UIButtonProcess(PANEL_SELECT);
}
else if(mode == SERVICE_MODE)
{
gpMenudata->ml = (P_MAIN_MENU_LIST)mlDIAGNOSIS;
gpMenudata->mlIndex = 0;
gpMenudata->mlCount = MENUITEMCOUNT(mlDIAGNOSIS);
gpMenudata->currentMenu = (P_MAIN_MENU_LIST)&mlDIAGNOSIS[0];
strcpy(firstlinebuf, GetMsgData(gpMenudata->currentMenu->titleID));
strcpy(secondlinebuf, GetMsgData(gpMenudata->currentMenu->dispID));
}
else
{
gpMenudata->ml = (P_MAIN_MENU_LIST)mlROOT;
gpMenudata->mlIndex = mode;
gpMenudata->mlCount = MENUITEMCOUNT(mlROOT);
gpMenudata->currentMenu = (P_MAIN_MENU_LIST)&mlROOT[mode];
step = 0;
UIStateDisplay();
setconfirm = FALSE;
LCDCursorOff();
}
}
Uint16 GetPowerSaveTime()
{
Uint16 time;
switch(gUIMain.commonsetting.Powersavertime)
{
case PS_5MIN:
time = 300;
break;
case PS_10MIN:
time = 600;
break;
case PS_15MIN:
time = 900;
break;
case PS_30MIN:
time = 1800;
break;
case PS_60MIN:
time = 3600;
break;
case PS_120MIN:
time = 7200;
break;
default:
break;
}
return time;
}
Uint8 GetReturnStandbyTime()
{
Uint8 time;
switch(gUIMain.commonsetting.Autocleantime)
{
case TO_OFF:
time = 0;
break;
case TO_15SEC:
time = 15;
break;
case TO_30SEC:
time = 30;
break;
case TO_60SEC:
time = 60;
break;
case TO_180SEC:
time = 180;
break;
default:
break;
}
return time;
}
void PowerSaveMode()
{
SetEnginePowerSaveMode(TRUE);
// IO_WRITE32(DSPCTR, v)
}
void ReturnFromPowerSave()
{
SetEnginePowerSaveMode(FALSE);
}
void DisplayStandbyMode()
{
Uint8 toner;//Unlock after toner detect ok
_TonerInfo tonerinfo;
tonerinfo = GetTonerInfo();
toner = tonerinfo.Percent;
if(errorstate.tonerstate == TONERINVALID)
sprintf(firstlinebuf,"%s 0%%",GetMsgData(DISP_T_R));
else if(toner>25)
sprintf(firstlinebuf,"%s %3d%%",GetMsgData(DISP_T_R),toner);
else if(toner>5)
strcpy(firstlinebuf,GetMsgData(DISP_T_L));
else
strcpy(firstlinebuf,GetMsgData(DISP_T_E));
strcpy(secondlinebuf, GetMsgData(gpMenudata->currentMenu->dispID));
}
void UIButtonProcess(Uint16 button)
{
char* showbuf;
char* buftemp;
P_MAIN_MENU_LIST pml;
Uint8 index,count,adfflag2;
Uint8 AlignL1;
int faxkeystate;
index = gpMenudata ->mlIndex;
count = gpMenudata ->mlCount;
if(gUIMain.UIstate== SCAN_PROCESSING || gUIMain.UIstate== PRINT_PROCESSING)
if(button != PANEL_CANCEL)
return;
if(gUIMain.UIstate == COPY_PROCESSING)
if(button != PANEL_CANCEL&&button != PANEL_START)
return;
if(gUIMain.UIstate == CANCEL)//||errorstate.enginestate == ENGINEWARMUP)
return;
if(gUIMain.UIstate == WAITINGKEYIN)
if(button != PANEL_SELECT&&button != PANEL_CANCEL)
{
updateLCD = FALSE;
return;
}
// if(gUIMain.UIstate == FAX_PROCESSING)
// if(button != PANEL_CANCEL&&button != PANEL_SELECT&&button != PANEL_NUM1||button != PANEL_NUM2)
// return;
if(gUIMain.FaxlayerEnable == TRUE)
{
// faxbutton = button;
if(errorstate.enginestate == PAPERSIZEERR&&button == PANEL_CANCEL)
{
errorstate.enginestate = ENGINEREADY;
return;
}
faxkeystate = FaxAPI_KeyInputted(button);
switch(faxkeystate)
{
case 0://KEY_THROUGH_FAXLAYER
break;
case 1://KEY_PROCESSED_FAXLAYER
break;
case 2://KEY_PROHIBITED_FAXLAYER
SpeakerSoundPlay(SOUND_OF_KEYPAD);
break;
default:
break;
}
}
else if(!press_and_hold)
{
if(button != PANEL_BACK&&button != PANEL_PAUSE)
{
factorycount = 0;
defaultset = FALSE;
DiagnosticMode = FALSE;
}
switch(button)
{
case PANEL_START:
//-------------add by sky----------
if (0x01==FCTMode)
{
PanleState=PanleState |0X10;
break;
}
//--------------add by sky end----------
if(gUIMain.UIstate == SERVICE_MODE)
{
if(password)
{
MenuListInitSet(SERVICE_MODE);
diagnosismode = TRUE;
}
return;
}
else if(errorstate.enginestate != ENGINEREADY||errorstate.adfstate != ADFREADY||errorstate.scannerstate != SCANNERREADY||
errorstate.tonerstate != TONERNORMAL||gUIMain.UIstate == COPY_PROCESSING)
{
SpeakerSoundPlay(SOUND_OF_KEYPAD);
return;
}
else
{
pml = gpMenudata->ml + gpMenudata ->mlIndex;
switch(pml->starttype)
{
case M_COPYMODE:
if(gUIMain.UIstate != QUICKFAX)
{
if(errorstate.tonerstate == TONERINVALID)
{
SpeakerSoundPlay(SOUND_OF_KEYPAD);
return;
}
if(gUIMain.UIstate == QUICKCOPY)
{
if(utemp == 0)
{
strcpy(firstlinebuf,GetMsgData(DISP_ENTER_AGAIN));
LCDDisplayClear();
DisplayLCD(0, firstlinebuf, MIDDLE,FALSE);
NU_Sleep(400);
strcpy(firstlinebuf,GetMsgData(DISP_N_O_C));
sprintf(secondlinebuf,"[1-99]>%d",utemp);
return;
}
else
{
gUIMain.copysetting.Copynumber = utemp;
setconfirm = FALSE;
}
}
else if(setconfirm == TRUE)
pml ->fun(PANEL_SELECT);
else
{
adfflag2 = ADFSensorDocCheck();
if(adfflag2 == 0&&gUIMain.copysetting.Layoutmode == LAY_COLLATION)
{
SpeakerSoundPlay(SOUND_OF_KEYPAD);
copyparaerr = TRUE;
}
else if(adfflag2 == 1&&(gUIMain.copysetting.Layoutmode == LAY_IDCOPY||
gUIMain.copysetting.Layoutmode == LAY_CLONE||gUIMain.copysetting.Layoutmode == LAY_AUTOFIT))
{
SpeakerSoundPlay(SOUND_OF_KEYPAD);
copyparaerr = TRUE;
}
}
if(copyparaerr)
{
copyparaerr = FALSE;
return;
}
gUIMain.UIstate = COPY_PROCESSING;
copypage = 0;
UIDoCopyJob(FALSE);
MenuListInitSet(COPY_IDLE);
//firsttimedisplay = TRUE;
}
else
{
strcpy(gUIMain.Dialnumber, inputbuf);
memset(inputbuf, 0, sizeof(inputbuf));
UIDoFaxJob(DIRECT_DIAL);
//firsttimedisplay = TRUE;
}
break;
case M_FAXMODE:
if(setconfirm == TRUE&&strlen(inputbuf) != 0)
{
//gUIMain.FaxlayerEnable = TRUE;
pml ->fun(PANEL_START);
//if(pml->dispID == DISP_ENT_NUM)
//UIDoFaxJob(DIRECT_DIAL);
//gUIMain.UIstate = FAX_PROCESSING;
//MenuListInitSet(COPY_IDLE);
//firsttimedisplay = TRUE;
}
break;
/* case M_SCANMODE:
//UIDoScanJob();
gUIMain.UIstate = SCAN_PROCESSING;//check set here is correct?
MenuListInitSet(COPY_IDLE);
break;*/
// case FACTORY_MODE:
// UIAllReset();
// break;
/* case SERVICE_MODE:
if(password)
MenuListInitSet(SERVICE_MODE);*/
default:
break;
}
}
break;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -