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

📄 user.c

📁 凌阳SPDA1000 MP3开发资料
💻 C
📖 第 1 页 / 共 5 页
字号:
	}//end switch();&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

	//=========Start DVR Encode mode select=================
	if(TempState==S_Select_RecASF || TempState==S_Select_RecWave)//xyq040207
	{
		if(TempState==S_Select_RecASF)
		{
			gc_DVRE_Mode_Selected=0;
		}else{
			gc_DVRE_Mode_Selected=1;
		}
	}
	//=========End DVR Encode mode select====================

	//=========Start contrast=================================
	if(TempState>=S_Set_Contrast_0 && TempState<=S_Set_Contrast_9)
	{
		if(TempEvent<2)
		{
			G_Current_Contrast=gc_Menu_State-S_Set_Contrast_0;
			gb_UI_UserSeeting_Changed=1;
		}
		LCD501_Adjust_Contrast(G_Current_Contrast);
	}
	//=========end contrast=================================

	//=========Start EQ=================================
	if((gc_SystemStateMode==SYSTEM_STATE1_PLAYING) && (!gc_UIMode))//will change the dsp mode
	{
		if(gc_Menu_State>=S_EQ_Norm && gc_Menu_State<=S_EQ_SURROUND)
		{
			//printf("menu=%bx\n",gc_Menu_State);
			System_SetEQ(gc_Menu_State-S_EQ_Norm);
		}else{
			System_SetEQ(gc_PlayEQMode);
		}
	}
	//=========End EQ=================================
  
	if(_WMA==0)
	if(gc_Menu_State>=S_VSP_Norm && gc_Menu_State<=S_VSP_Speed2)
	{
		gc_PLAY_DPC=USER_Set_Play_DPC_Value[gc_Menu_State-S_VSP_Norm];//get the value

       
		if(gc_SystemStateMode==SYSTEM_STATE1_PLAYING)
		{
			System_SetPlayDPC(gc_PLAY_DPC);//will change the dsp value
		}
	}

	if(gc_Menu_State==S_Null) goto DispFileName;
	//if(gc_Menu_State!=S_Info_Memory)
	{
		//printf("disp icon menu\n");

		LCD501_Disp_IconMenu(gc_Menu_State);
	}
//printf("refresh!\n");
	UI_Trigger_AutonDisplay();
	return;
DispFileName:

//printf("DispFileName\n");
	if(gc_SystemStateMode<STATE_FM_Raido_Idle)
	{
		gc_Busy_Timer = 0;//show the lrc---show the filename,or show the filename,show all the icon
		if(!UI_StorageIsError())
		{
			
			if((gc_LrcFileName_Exist) && (gc_SystemStateMode==SYSTEM_STATE1_PLAYING || gc_SystemStateMode==STATE_PLAY_PAUSE))// && X_G_LRC_HaveGetFirstLyrics)
			{
				UI_Refresh_DispAll(0);
		    	LCD501_Disp_FileName(&gc_LrcDisplayBuf[gw_DispFileName_ByteOffset],gc_LrcCurrentLen-gw_DispFileName_ByteOffset,1);
			}else{
			//	printf("teswet\n");
				gw_DispFileName_ByteOffset=0;
				UI_Refresh_DispAll(1);
			}
		}
		if(gc_SystemStateMode==STATE_WaitDEL && gw_FileIndex[gc_UIMode])
		{
			LCD501_Disp_DeleteOrnot();//show del or not
		}
	//	LCD501_Disp_FileName(&SongNameNDSingerName[X_G_DispFileName_ByteOffset],gc_SongNameNDSingerName_Length-X_G_DispFileName_ByteOffset);
	}
/*
else{
		LCD501_Disp_FM_Frequence();
	}
*///there is no module ,so delete the related codes.
//printf("refresh again!\n");
	gb_ShowNowSongNumberFG = false;
	gb_DisplayEvent_Happened = false;
	return;
}
//================================================================================================
//==================================THE UI MENU OPERATION FUNCTION END==============================================================
//================================================================================================
void UI_PowerOff_DAC_DSP_FM()
{
/*
	#ifdef TLV320
	TLV320_Power_Off();
	#endif//#ifdef TLV320
*/

/*
	#ifdef FM_Tea5767
	FM_Standby();
	#endif//#ifdef FM_Tea5767
*/
/*	if(!gc_USB_Connect)	// USB power plug,
	{
	    // WWTEST Set default DSP is 24MIPS// Down MCU clock to 6MHz for saving power
//        USER_MCUClock_Select(1);
		// Make DSP Sleep		    
	}
*/
}
//================================================================================================
//====================================THE UI STATE TRANMSITION BEGIN=============================================================
//================================================================================================

void UI_Processorstate_transition(void) USING_0
{
//    U16 i;
	switch(gc_SystemStateMode)
	{//state
//-- STATE 1: --  /// Idle -- Idle -- Idle -- Idle -- Idle -- Idle -- Idle -- Idle -- Idle -- Idle --
		case SYSTEM_STATE0_IDLE:   //State IDLE on--
        	USER_MCUClock_Select(K_MCU_LOWSPEED);

			if(gb_FFFRHoldToPlay && !gb_ADCKey_Pressed)
			{
				gb_FFFRHoldToPlay=0;//the long key released,to play,in the FF or FR,go the end or the begin.
				gc_EVENT=SHORT_KEY_PLAY_EVENT;
				printf("not come to \n");
			}
		
			gs_System_State.w_BitRate = 0;
			if(gc_EVENT)
			{
//printf("gc_EVENT=%bx\n",gc_EVENT);
				if(gc_Menu_State)//xyq 030902 long key available
				{
					UI_Menu_Operate(gc_EVENT-1);//change the ui_menu_state,when menu is null
				}else{
					switch(gc_EVENT)
					{//IDLE event
						case LONG_KEY_PLAY_EVENT://for power off.xyq021227
//							USER_MCUClock_Select(0);//accelerate power off
							gc_SystemStateMode=STATE_SLEEP;

							break;
						case SHORT_KEY_MODE_EVENT:

							if(gc_DOS_ErrorStatus/* || _G_FAT32Error*/) break;//xyq modify 040614
							if(gc_BatteryValue<gc_Battery_GroupValue[2])
							{
								LCD501_Disp_LowBattery();
								gc_Busy_Timer = 16;             //two seconds
								gb_ShowNowSongNumberFG=true;
								break;//if battery capacity <=10% , don't record
							}

							if(!gc_DVRE_Mode_Selected)//the dvre_mode select,if 1 asf,0 wmv!
							{

								_G723=FALSE;
							}else{

								_G723=TRUE;
							}
							if(!gdw_USER_DirClus[0])
							{
								USER_Create_Dir(0,gdw_DOS_RootDirClus);//create DVR	
							}
							gc_PlayMode=0;
							gc_Menu_State=0;
							gc_Busy_Timer = 0;
//							gc_UIMode=0x01;
//							gc_UIMode=0x02;
							gb_Openfile = TRUE; // Make Openfile post-processor activity							
							gc_SystemStateMode = STATE_RECORD;

							break;
						case SHORT_KEY_PLAY_EVENT://for play MP3 or DVR.xyq021227
							//
							if(gw_FileIndex[gc_UIMode]==0) break;//no file, don't play--xyq021227
							gc_SystemStateMode=SYSTEM_STATE1_PLAYING;
							gb_Openfile = TRUE; // Make Openfile post-processor activity
//						 	printf("play file\n");
							//
							/*
							DOS_Open_File(0, 2, 0);											

							if(!UserSendDataToDSP(1,0))
							{	
								DOS_Read_File(0);
								while(1)
								{										
									if(UserSendDataToDSP(1,1)==0x01)
									{//the data has been sent
										if(DOS_Read_File(0))
										{
											printf("the file end\n");
											UserSendDataToDSP(1,2);
											break;
										}								
									}								
								}
							}						
						*/
							break;
						
						case SHORT_KEY_FF_EVENT:  //Next File
						case LONG_KEY_FF_EVENT:
							UI_FFFR(0);


							break;
						case SHORT_KEY_FR_EVENT:   // Previous File
						case LONG_KEY_FR_EVENT:
							UI_FFFR(1);


							break;
						case LONG_KEY_MODE_EVENT: // Mode Switch Function, Switch under Idle Status ---
							UI_Menu_Operate(2);//just,will change the ui_menu_state

							break;
						case SHORT_KEY_VOLUP_EVENT:   // Volume ++							
						case LONG_KEY_VOLUP_EVENT:
                            if(gc_DOS_ErrorStatus/* || _G_FAT32Error*/) break;//xyq modify 040614
							UI_VolumeUpDown(1);
							gb_DisplayEvent_Happened = 0;
							break;
                        case SHORT_KEY_VOLDOWN_EVENT:	// Volume --
						case LONG_KEY_VOLDOWN_EVENT:
							if(gc_DOS_ErrorStatus/* || _G_FAT32Error*/) break;//xyq modify 040614
							UI_VolumeUpDown(0);
							gb_DisplayEvent_Happened = 0;
							break;
						default:
							break;
					}
				}//IDLE event
			}

			//xyq LCD handle 021226
			/*
			if(gb_DisplayEvent_Happened)
			{
				printf("timer=%bx\n",gc_Busy_Timer);
			}*/			
			//if(!gc_Busy_Timer && 
		
			if((!gc_Busy_Timer) && gb_DisplayEvent_Happened && (gc_SystemStateMode==SYSTEM_STATE0_IDLE))
			{			
				UI_idle_Display();
				UI_PowerOff_DAC_DSP_FM();
			}
			
			if(gc_SystemStateMode==SYSTEM_STATE0_IDLE)
			{
				if(gc_PlayMode==PLAY_ALL)// || ((gc_PlayMode==PLAY_FAVORITE) && (G_PlayListLen!=0)))
					UI_RollFileName();
			}

			#if 1 //@@chchang_012203
			if((!gw_PowerOffTimer && USER_SetIdleTime[gc_USR_PowerOffCount])  || gb_LowBatt_State)
			{
				if(gb_LowBatt_State)
				{
					//printf("low battery\n");
					gw_PowerOffTimer=16; //wait 2 second disp low battery
					while(gw_PowerOffTimer);
				}
				//printf("idle goto sleep\n");
				gc_SystemStateMode=STATE_SLEEP;
	
                if(gc_USB_Connect)//don't make sure????????????????????????????????
				{//if charge, don't power off
					gw_PowerOffTimer=USER_SetIdleTime[gc_USR_PowerOffCount];
					gc_SystemStateMode=SYSTEM_STATE0_IDLE;
				}
			}
			#endif
	
			gc_EVENT=0;
			break;

//-- STATE 2: --EVENT Relationship in PLAY state.
		case SYSTEM_STATE1_PLAYING:
			//State PLAY --
			if(gb_USB_PowerPlug_Interrupt || gb_LowBatt_State)//??????????????????????????????????
			{//if USB connected, stop play
//printf("gb_USB_PowerPlug_Interrupt!\n");
				gc_EVENT = LONG_KEY_PLAY_EVENT;
 			    gc_Menu_State  = 0;   //SHIN ADD 062105 
			}
printf("gc_EVENT=%bx\n",gc_EVENT);
			if(gc_EVENT)
			{
				if(gc_Menu_State)//xyq 030902 long key available
				{
					UI_Menu_Operate(gc_EVENT-1);
				}else{
					switch(gc_EVENT)
					{//PLAY event
						case SHORT_KEY_PLAY_EVENT://PAUSE/PLAY
							if(gc_Busy_Timer && gc_Menu_State==0)
							{
								break;
							}   
                            System_Pause();//lyh add
							gb_PlayPause = TRUE;
							gc_Play_Pause_Stop_State=1;
							LCD501_Playing_Pause_Stop_Record(1);
							gw_PowerOffTimer=240;//xyq040210 30s stop pause------USER_SetIdleTime[G_USR_PowerOffCount];
							break;
						case LONG_KEY_PLAY_EVENT://stop play
                            gc_PeriphStep = PERIPH_IDLE; 
							Playing_To_Stop();
							break;
						case LONG_KEY_FF_EVENT://fast forward
						case LONG_KEY_FR_EVENT://fast backward
							if(!gc_AB_Cnt && !gb_ShowNowSongNumberFG)// Disable this function when A-B procedure is active
							{
								if(G_DISPLAY_TotalSec)
								{
                 
									UI_FastForBackward();
								}
							}
							break;
						case SHORT_KEY_FF_EVENT:
							UI_FFFR(0);//playing
							break;
						case SHORT_KEY_FR_EVENT:
							UI_FFFR(1);//playing
							break;
						case SHORT_KEY_VOLUP_EVENT:   // Volume ++	
						case LONG_KEY_VOLUP_EVENT:
                             UI_VolumeUpDown(1);
                             break;
                        case SHORT_KEY_VOLDOWN_E

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -