📄 errorcode.c
字号:
/******************************************************************************
* Copyright (c) 2006 Primax Corporation,Ltd. All rights reserved.
*
* Author: Junny Fu
*
* Description:
*
*
* Revision History:
* Date Author Description
*
******************************************************************************/
#define __Fax
#include "standard.h"
#include "Nucleus.h"
#include "Errorcode.h"
#include "Uilcdnew.h"
#include "Uinew.h"
#include "Message.h"
#include "menu.h"
#include "speaker.h"
ErrorState errorstate = 0;
ErrorState lasterrstate = 0;
extern char firstlinebuf[LINE_BUF_LENGTH];
extern char secondlinebuf[LINE_BUF_LENGTH];
extern UIMaintain gUIMain;
extern NU_QUEUE gErrorQueue;
extern Uint32 gQueueStart[ERROR_QUEUE_SIZE];
extern Bool updateLCD;
extern Bool ResetTimeFlag;
extern Uint8 copypage;
void ErrorDetection()
{
Uint32 recvcode;
API_RET error;
Bool alarm;
error = ErrorReceive(&recvcode);
if(error == API_OK&&gUIMain.UIstate != FACTORY_MODE&&gUIMain.UIstate !=SERVICE_MODE)//&&(!gUIMain.FaxlayerEnable))
{
updateLCD = TRUE;PSPRINTF("\nReceive err code %x\n",recvcode);
if(gUIMain.UIstate == ENERGYSAVE)
{
gUIMain.UIstate = STANDBY;
gUIMain.PowerSavEnable = FALSE;
ReturnFromPowerSave();
}
ResetTimeFlag = TRUE;
switch(recvcode)
{
/* case S_DRAMERR://msg only
break;
case S_USBPORTERR://msg only
break;*/
case C_ENGINEREADY:
errorstate.enginestate = ENGINEREADY;
if(gUIMain.bFirstPowerUP)
MenuListInitSet(FIRSTPOWERUP);
break;
case S_PRINTING:
if(gUIMain.UIstate != COPY_PROCESSING&&gUIMain.UIstate != CANCEL&&(!gUIMain.FaxlayerEnable))
{
errorstate.enginestate = PRINTING;
gUIMain.UIstate = PRINT_PROCESSING;
}
break;
case S_PRINTEND:
if(gUIMain.UIstate == PRINT_PROCESSING||gUIMain.UIstate == CANCEL||gUIMain.UIstate == ENERGYSAVE)//(gUIMain.UIstate != STANDBY&&gUIMain.UIstate!= COPY_PROCESSING)
gUIMain.UIstate = STANDBY;
break;
case S_TRAYERR:
errorstate.enginestate = TRAYERR;
break;
case S_PRINTANOTHERSIDE:
gUIMain.UIstate = WAITINGKEYIN;
gUIMain.waittype = WAIT_PRINTANOTHERSIDE;
strcpy(firstlinebuf,GetMsgData(DISP_PUT_PAP_BACK));
strcpy(secondlinebuf,GetMsgData(DISP_PRESS_SET_TO_S));
LCDDisplayClear();
DisplayLCD(0, firstlinebuf, MIDDLE,FALSE);
DisplayLCD(1, secondlinebuf, MIDDLE,FALSE);
updateLCD = FALSE;
return;
case S_COMMUNICATEERR://msg only
sprintf(firstlinebuf,"%s%s",GetMsgData(DISP_ENGINE),GetMsgData(DISP_MYTECS_FAXERR_COMM_ERROR));
LCDDisplayClear();
DisplayLCD(0, firstlinebuf, MIDDLE,FALSE);
NU_Sleep(500);
break;
case S_PAPEREMPTY:
alarm = TRUE;
errorstate.enginestate = PAPEREMPTY;
break;
case S_FUSEPAPERJAM:
alarm = TRUE;
errorstate.enginestate = FUSEPAPERJAM;
break;
case S_DRUMPAPERJAM:
alarm = TRUE;
errorstate.enginestate = DRUMPAPERJAM;
break;
case S_MANUALPAPERJAM:
alarm = TRUE;
errorstate.enginestate = MANUALPAPERJAM;
break;
case S_MPFEEDPAPERJAM:
alarm = TRUE;
errorstate.enginestate = MPFEEDPAPERJAM;
break;
case S_FRONTCOVEROPEN:
alarm = TRUE;
errorstate.enginestate = FRONTCOVEROPEN;
if(gUIMain.UIstate == COPY_PROCESSING)
{
gUIMain.UIstate = CANCEL;
UIAPI_CancelCopyJob();
}
break;
case S_REARCOVEROPEN:
alarm = TRUE;
errorstate.enginestate = REARCOVEROPEN;
break;
case S_PAPERSIZEERR:
alarm = TRUE;
errorstate.enginestate = PAPERSIZEERR;
break;
case S_PAPERTYPEERR:
errorstate.enginestate = PAPERTYPEERR;
break;
case S_MIRRORMOTORERR:
alarm = TRUE;
errorstate.enginestate = MIRRORMOTORERR;
break;
case S_FANABNORMAL:
alarm = TRUE;
errorstate.enginestate = FANABNORMAL;
break;
case S_HVABNOMAL:
alarm = TRUE;
errorstate.enginestate = HVABNOMAL;
break;
case S_LASERERR:
alarm = TRUE;
errorstate.enginestate = LASERERR;
break;
case S_FUSERWARMUPERR:
alarm = TRUE;
errorstate.enginestate = FUSERWARMUPERR;
break;
case S_FUSETEMLOW:
alarm = TRUE;
errorstate.enginestate = FUSETEMLOW;
break;
case S_FUSEROVERHEAT:
alarm = TRUE;
errorstate.enginestate = FUSEROVERHEAT;
break;
case S_ENGINEWARMUP:
if(!gUIMain.FaxlayerEnable&&gUIMain.UIstate != SCAN_PROCESSING)
{
errorstate.enginestate = ENGINEWARMUP;
}
break;
case S_CARTRIDGEEXPIRE:
alarm = TRUE;
gUIMain.DCExpire = TRUE;
break;
case S_TONERLOW://msg only
break;
case S_TONEREMPTY://msg only
break;
case S_TONERNEW://msg only
break;
case S_TONERINVALID:
alarm = TRUE;
errorstate.tonerstate = TONERINVALID;
break;
case C_TONERNORMAL:
errorstate.tonerstate = TONERNORMAL;
break;
case S_TONEREFRESH:
DisplayStandbyMode();
break;
case S_ADFPAPERJAM:
alarm = TRUE;
errorstate.adfstate = ADFPAPERJAM;
break;
case C_ADFPAPERJAM:
errorstate.adfstate = ADFREADY;
break;
case S_ADFNOPAPERINPUT://msg only
break;
case S_SCANMODULEERR:
alarm = TRUE;
errorstate.scannerstate = SCANMODULEERR;
break;
case C_SCANMODULEREADY:
errorstate.scannerstate = SCANNERREADY;
if(gUIMain.UIstate != STANDBY&&gUIMain.UIstate != COPY_PROCESSING&&gUIMain.UIstate != WAITINGKEYIN)
gUIMain.UIstate = STANDBY;
break;
case S_NOMEMORYFORSCAN://msg only
sprintf(firstlinebuf,"%s %s",GetMsgData(DISP_SCAN),GetMsgData(DISP_MYTECS_FAXERR_MEMORY_FULL));
LCDDisplayClear();
DisplayLCD(0, firstlinebuf, MIDDLE,FALSE);
NU_Sleep(1000);
break;
case S_ADFPAPERIN:
if(gUIMain.commonsetting.Alarmvolume == 1)
SpeakerSoundPlay(SOUND_OF_KEYPAD);
break;
case S_SCANNING:
if(gUIMain.UIstate != COPY_PROCESSING&&gUIMain.UIstate != FAX_PROCESSING&&(!gUIMain.FaxlayerEnable))
{
errorstate.scannerstate = SCANNING;
gUIMain.UIstate = SCAN_PROCESSING;
}
break;
case S_SCANCANCEL:
gUIMain.UIstate = CANCEL;
break;
case S_TXERR:
errorstate.faxstate = TXERR;
break;
case C_TXERR:
break;
case S_RXERR:
errorstate.faxstate = RXERR;
break;
case C_RXERR:
break;
case S_DIALUPERR:
errorstate.faxstate = DIALUPERR;
break;
case C_DIALUPERR:
break;
case S_TXMEMORYFULL://msg only
break;
case S_RXMEMORYFULL://msg only
break;
case S_COPYREADY:
if(gUIMain.UIstate == COPY_PROCESSING||gUIMain.UIstate == CANCEL)
gUIMain.UIstate = STANDBY;
break;
case S_2UPADD2NDPAGE:
gUIMain.UIstate = WAITINGKEYIN;
gUIMain.waittype = WAIT_2UP2NDPAGE;
strcpy(firstlinebuf,GetMsgData(DISP_2UP));
strcpy(secondlinebuf,GetMsgData(DISP_ADD2NDPAGE));
LCDDisplayClear();
DisplayLCD(0, firstlinebuf, MIDDLE,FALSE);
DisplayLCD(1, secondlinebuf, MIDDLE,FALSE);
updateLCD = FALSE;
return;
case S_IDCOPYFLIPBACK:
gUIMain.UIstate = WAITINGKEYIN;
gUIMain.waittype = WAIT_IDCOPYBACKSIDE;
strcpy(firstlinebuf,GetMsgData(DISP_ID_COPY));
strcpy(secondlinebuf,GetMsgData(DISP_FLIP_CARD_OVER));
LCDDisplayClear();
DisplayLCD(0, firstlinebuf, MIDDLE,FALSE);
DisplayLCD(1, secondlinebuf, MIDDLE,FALSE);
updateLCD = FALSE;
return;
default:
break;
}
if(alarm == TRUE&& gUIMain.commonsetting.Alarmvolume == 1)
{
SpeakerSoundPlay(SOUND_OF_ALARM);
}
alarm = FALSE;
if(recvcode>S_COPYANOTHERPAGE)
copypage = (Uint8)(recvcode - S_COPYANOTHERPAGE);
}
ErrorDisplay();
}
void ErrorDisplay()
{
Uint32 uCurTime0;
static Bool dispupdate;
ErrorState errortemp;
if(gUIMain.UIstate == STANDBY||gUIMain.UIstate == PRINT_PROCESSING||gUIMain.UIstate == SYSTEMINITIAL||
gUIMain.UIstate == COPY_PROCESSING||gUIMain.UIstate == SCAN_PROCESSING||
gUIMain.UIstate == CANCEL||gUIMain.FaxlayerEnable)
{
if(errorstate.enginestate != ENGINEREADY)//&&gUIMain.UIstate != SCAN_PROCESSING)
{
errortemp.enginestate = errorstate.enginestate;
if(errortemp.enginestate != lasterrstate.enginestate)
{
lasterrstate.enginestate = errortemp.enginestate;
dispupdate = TRUE;
}
switch(errorstate.enginestate)
{
case TRAYERR:
strcpy(firstlinebuf,GetMsgData(DISP_TRAYERR));
strcpy(secondlinebuf,GetMsgData(DISP_INPUTTRAY));
break;
case PAPEREMPTY:
strcpy(firstlinebuf,GetMsgData(DISP_NOPAPER));
strcpy(secondlinebuf,GetMsgData(DISP_ADDPAPER));
break;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -