⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uinew.c

📁 这个是单片机4200的ui程序
💻 C
📖 第 1 页 / 共 5 页
字号:
	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 + -