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

📄 user.c

📁 凌阳SPDA1000 MP3开发资料
💻 C
📖 第 1 页 / 共 5 页
字号:
         gc_USR_HaveID3OrNot=UI_GET_ID3INFO(gc_FileLongName);
//printf("gc_USR_HaveID3OrNot=%bu\n",gc_USR_HaveID3OrNot);
		 if(gc_USR_HaveID3OrNot)//UI_GET_ID3INFO ,how to set the parameter of it? //lyh add
         {
		     Dos_GetFileLongName(0,0,gc_FileLongName); 
		 }
         X_Unicode2ISN(gc_FileLongName,1);
		 UI_GetFileNameLength();
      }
	  else
   // if(gc_UIMode==1)//lyh add
     {
         tc_returnvalue=Dos_GetFileLongName(gc_UIMode,NULL,gc_FileLongName); 
		 /*
		 {
		 	U8 i;
			for(i=0;i<8;i++)
			{
				printf("%bx\n",gc_FileLongName[5+i]);
			}
		 
		 }
		 */
		
         UI_GetFileNameLength();
	//	 printf("test display\n");
     }
//    LCD501_Disp_FileName(&gc_FileLongName[gw_DispFileName_ByteOffset+5],gc_SongNameNDSingerName_Length-gw_DispFileName_ByteOffset,1);
//2005-2-3    
}
//================================================================================================
void UI_idle_Display()//in the idle_state ,show the filename,and set some parameters,,UI_Refresh_DispAll(1)
{
	if(!UI_StorageIsError())
	{
	//printf("State=%bx\n",gc_Menu_State);
		if(gc_Menu_State==0)
		{
           UI_GetMusicInfo();
        }
	
		gc_AB_Cnt=0;
		gc_Play_Pause_Stop_State=2;
		if(gc_Menu_State==0)
		{
			UI_Refresh_DispAll(1);//show the name
		}
	}
	gw_PowerOffTimer=USER_SetIdleTime[gc_USR_PowerOffCount];

	//gb_DisplayEvent_Happened=0;
	gb_ShowNowSongNumberFG=0;
	gc_LongKey_Speed=9;//add by xyq
	gc_FileNameRollTimer=1;//set the interval time to roll the filename
}
//================================================================================================
void UI_Refresh_DispAll(bit DispFileName)//display all the icon in the initial state
{
//printf("Timer=%bx\n",gc_Busy_Timer);
	if(!gc_Busy_Timer)    //if the refresh time is coming on
	{ 
 		LCD501_Clear_ALL();
		//SPLC501_Erase_OnePage(3);
		UI_Disp_Page0();
		LCD501_Disp_CurrentFileMode(DSP_MenuMODE[gc_UIMode]);//DSP_MenuMODE[] ={KDSP_MP3_MODE,	KDSP_DVRD_MODE,	KDSP_DVRE_MODE}
		LCD501_Disp_Bitrate(0);//space//at somewhere to show the bitrate.
		if(gc_PlayMode==PLAY_ALL)
		{
			LCD501_Disp_FileIndex_InDIR(gw_FileIndex[gc_UIMode],gw_FileTotalNumber[gc_UIMode]);//show the fileindex in the dir
		}else{
//lyh del			LCD501_Disp_FileIndex_InDIR(G_PlayListIndex,G_PlayListLen);
		}
		
		LCD501_Disp_HHMMSS(0);//show time
		
		LCD501_Playing_Pause_Stop_Record(gc_Play_Pause_Stop_State);//show the state
		{	
			if(DispFileName)//0 or 1
			{
			
//				if(gw_FileIndex[gc_UIMode])
				if(gw_FileTotalNumber[gc_UIMode])
				{
					//printf("display file\n");
				       X_G_OverStep_DispArea=LCD501_Disp_FileName(&gc_FileLongName[gw_DispFileName_ByteOffset+5],gc_SongNameNDSingerName_Length-gw_DispFileName_ByteOffset,1);
//printf("X_G_OverStep_DispArea=%bu\n",X_G_OverStep_DispArea);
               	}else{
					LCD501_Disp_NoFile(gc_UIMode);
				}
			}
		}
		gb_DisplayEvent_Happened=0;
		gb_ShowNowSongNumberFG=0;
	}
}
//================================================================================================
void UI_RollFileName()//if the filename beyond the lcd ,so rolling ,the same with lrc
{
    if((!gc_FileNameRollTimer)&&(!gc_Busy_Timer)&&(gw_FileTotalNumber[gc_UIMode])&&(!gc_Menu_State)&&(X_G_OverStep_DispArea))
	{
		#ifdef Support_LRCFile//gc_FileNameRollTimer indicated the interval to show the filename
		if((gc_LrcFileName_Exist) && (gc_SystemStateMode==SYSTEM_STATE1_PLAYING || gc_SystemStateMode==STATE_PLAY_PAUSE) )//&& X_G_LRC_HaveGetFirstLyrics)
		{ 
			LCD501_Disp_FileName(&gc_LrcDisplayBuf[gw_DispFileName_ByteOffset],gc_LrcCurrentLen-gw_DispFileName_ByteOffset,1);
		}else
		#endif//#ifdef Support_LRCFile
		{ 
            if(gc_SystemStateMode==STATE_FR||gc_SystemStateMode==STATE_FF)goto end;
			LCD501_Disp_FileName(&gc_FileLongName[gw_DispFileName_ByteOffset+5],gc_SongNameNDSingerName_Length-gw_DispFileName_ByteOffset,1);
		}
end:
		gc_FileNameRollTimer=1;//check the time,if beyond ,rolling
	}

}
//================================================================================================
void UI_GetFileNameLength()
{
//   U8 tw_Lenth;
     gc_SongNameNDSingerName_Length=gc_FileLongName[4];
//	 tw_Lenth =(U16)((gc_FileLongName[0]<<8)|(gc_FileLongName[1]));
//   gc_SongNameNDSingerName_Length=(U8)tw_Lenth;
    
}
//================================================================================================
void Main_Get_FreeMemory()//will update the library!
{
    U32 tdw_TotalFreeClusNumber;//lyh add
    LCD501_Disp_CheckDisk();  
	tdw_TotalFreeClusNumber=USER_Get_SYSInformation(0);//call this function need to update the library.
	gdw_Dos_FreeMemorySizeMB=((U32)tdw_TotalFreeClusNumber*512)*10/1024/1024;
//   printf("gdw_Dos_FreeMemorySizeMB=%lx\n",gdw_Dos_FreeMemorySizeMB);
}
//================================================================================================
bit Func10_CheckLRC()
{
	if(gc_SystemStateMode == SYSTEM_STATE1_PLAYING&&gc_LrcFileName_Exist)
	{
		X_Get_LRC_TimeStamp();
		if(gb_LrcGetTimeOrNot)
		{gb_LrcGetTimeOrNot=0;			
			X_Get_LRC_Lyrics();//read the sector to store in a buffer,so if offset more than the maxnumber,stop;if than a sector,get another sector;if the end of the file ,restart.			
			X_G_OverStep_DispArea=LCD501_Disp_FileName(gc_LrcDisplayBuf,gc_LrcCurrentLen,1);

//			LCD501_Disp_FileName(&gc_LrcDisplayBuf[gw_DispFileName_ByteOffset],gc_LrcCurrentLen-gw_DispFileName_ByteOffset,1);
			gw_DispFileName_ByteOffset=0;
		}
	}
	return 0;
}
//================================================================================================
void UI_FFFR(bit XFFFR)//go the next or ahead file,File_Close(NULL, K_DOS_ReadFile, 0);
{                            //->Search_File(GS_SearchMode,gc_UIMode,0);
                            //if state_waitidle,after search file ,then show the related informations
	switch(gc_SystemStateMode)
	{
		case SYSTEM_STATE0_IDLE:
			if(gw_FileIndex[gc_UIMode]==0)
				return;//if no this line,error will happen
			break;
		case SYSTEM_STATE1_PLAYING:
			gb_Openfile = TRUE; // Make Openfile post-processor activity
			break;
		case STATE_PLAY_PAUSE:
			gc_SystemStateMode = SYSTEM_STATE0_IDLE; //return to IDLE State
			break;
	}
    System_NextOrPrev(XFFFR, 1, gc_UIMode);
	if(gc_SystemStateMode==STATE_WaitDEL)//which the different between Systemstate and UIstate?
	{
		UI_GetMusicInfo();				
		LCD501_Disp_FileIndex_InDIR(gw_FileIndex[gc_UIMode],gw_FileTotalNumber[gc_UIMode]);
		LCD501_Disp_REP1ALL(gc_PlaySequenceMode);
	}
//if(gc_SystemStateMode==SYSTEM_STATE1_PLAYING)gb_ShowNowSongNumberFG=1;
	gc_Busy_Timer=0;
    gb_DisplayEvent_Happened=1;//lyh add
    gw_DispFileName_ByteOffset=0;//lyh add
	X_G_OverStep_DispArea=1;//lyh add
//gc_TheSameLRC=0;//lyh add
}
//================================================================================================
void UI_Trigger_AutonDisplay()//set gb_ShowNowSongNumberFG=true;gb_DisplayEvent_Happened = false;gc_Busy_Timer = 64;
{
	gb_ShowNowSongNumberFG=true;
	gb_DisplayEvent_Happened = false;
	gc_Busy_Timer = 64;             //eight seconds
}
//================================================================================================
//===============================THE UI_MENU_OPERATE FUNCTION=================================================================
//================================================================================================

void UI_Menu_Operate(U8 TempEvent)//gb_ShowNowSongNumberFG = false;gb_DisplayEvent_Happened = false;
{                                           //get the previous menu_state,tempevent,get the new state,
	U8 TempState;                //then show related icon,change dsp,set some variables

	U8 code StateChangeTable[][6]={
	//event FF           FR                   PLAY                Vol+                  Vol-                MODE         gc_Menu_State
	S_Null,              S_Null,              S_Null,             S_Null,               S_Null,             S_Mode_Mu,//0
	S_PMode,             S_Info,              S_Mode_Mu,          S_Null,               S_Null,             S_Null,//1  -->menu mode
	S_Eq,                S_MMode,             S_PMode_NOREP,      S_Null,               S_Null,             S_Null,//2  -->menu play mode
	S_Del,               S_PMode,             S_EQ_Norm,          S_Null,               S_Null,             S_Null,//3  -->menu EQ
	S_Set,               S_Eq,                S_Del_One,          S_Null,               S_Null,             S_Null,//4  -->menu delete
	S_Info,              S_Del,               S_Set_Backlit,      S_Null,               S_Null,             S_Null,//5  -->menu seetings
	S_MMode,             S_Set,               S_Info_TotalMemory, S_Null,               S_Null,             S_Null,//6  -->menu Info	

	S_Mode_Vo,           S_Mode_FM,			  S_Null,             S_PlayList_All,       S_Info_TotalMemory, S_Null,//7  -->mode music
	S_Mode_FM,           S_Mode_Mu,           S_Null,             S_PlayList_All,       S_Info_TotalMemory, S_Null,//8  -->mode voice

	S_PMode_REP1,        S_PMode_Intro,       S_Null,             S_EQ_Norm,            S_PlayList_All,          S_Null,//9  -->playmode no rep
	S_PMode_REPA,        S_PMode_NOREP,       S_Null,             S_EQ_Norm,            S_PlayList_All,          S_Null,//10  -->playmode rep 1
	S_PMode_Random,      S_PMode_REP1,        S_Null,             S_EQ_Norm,            S_PlayList_All,          S_Null,//11 -->playmode rep all
	S_PMode_Intro,       S_PMode_REPA,        S_Null,             S_EQ_Norm,            S_PlayList_All,          S_Null,//12 -->playmode Random
	S_PMode_NOREP,       S_PMode_Random,      S_Null,             S_EQ_Norm,            S_PlayList_All,          S_Null,//13 -->playmode Intro	


//	S_PMode_REP1,        S_PMode_Intro,       S_Null,             S_EQ_Norm,            S_DSP_UNSURROUND,        S_Null,//9  -->playmode no rep
//	S_PMode_REPA,        S_PMode_NOREP,       S_Null,             S_EQ_Norm,            S_DSP_UNSURROUND,        S_Null,//10  -->playmode rep 1
//	S_PMode_Random,      S_PMode_REP1,        S_Null,             S_EQ_Norm,            S_DSP_UNSURROUND,        S_Null,//11 -->playmode rep all
//	S_PMode_Intro,       S_PMode_REPA,        S_Null,             S_EQ_Norm,            S_DSP_UNSURROUND,        S_Null,//12 -->playmode Random
//	S_PMode_NOREP,       S_PMode_Random,      S_Null,             S_EQ_Norm,            S_DSP_UNSURROUND,        S_Null,//13 -->playmode Intro	



	S_EQ_DBB,            S_EQ_SURROUND,       S_Null,             S_VSP_Norm,           S_PMode_NOREP,      S_Null,//14  -->EQ normal
	S_EQ_Jazz,           S_EQ_Norm,           S_Null,             S_VSP_Norm,           S_PMode_NOREP,      S_Null,//15  -->EQ dbb
	S_EQ_Disc,           S_EQ_DBB,            S_Null,             S_VSP_Norm,           S_PMode_NOREP,      S_Null,//16  -->EQ jazz
	S_EQ_POP,            S_EQ_Jazz,           S_Null,             S_VSP_Norm,           S_PMode_NOREP,      S_Null,//17  -->EQ disc
	S_EQ_Clas,           S_EQ_Disc,           S_Null,             S_VSP_Norm,           S_PMode_NOREP,      S_Null,//18  -->EQ pop
	S_EQ_SURROUND,       S_EQ_POP,            S_Null,             S_VSP_Norm,           S_PMode_NOREP,      S_Null,//19  -->EQ clas
	S_EQ_Norm,           S_EQ_Clas,            S_Null,            S_VSP_Norm,           S_PMode_NOREP,      S_Null,//20  -->EQ SRS

	S_VSP_Slow1,         S_VSP_Speed2,        S_Null,             S_Del_One,            S_EQ_Norm,          S_Null,//21  -->S_VSP_Norm
	S_VSP_Slow2,         S_VSP_Norm,          S_Null,             S_Del_One,            S_EQ_Norm,          S_Null,//22  -->S_VSP_Slow1
	S_VSP_Speed1,        S_VSP_Slow1,         S_Null,             S_Del_One,            S_EQ_Norm,          S_Null,//23  -->S_VSP_Slow2
	S_VSP_Speed2,        S_VSP_Slow2,         S_Null,             S_Del_One,            S_EQ_Norm,          S_Null,//24  -->S_VSP_Speed1
	S_VSP_Norm,          S_VSP_Speed1,        S_Null,             S_Del_One,            S_EQ_Norm,          S_Null,//25  -->S_VSP_Speed2

	S_Set_Contrast,      S_Set_Default,       S_Set_Backlit,      S_Info_TotalMemory,   S_Del_One,          S_Null,//26  -->setting backlight
	S_Set_Idletime,      S_Set_Backlit,       S_Set_Contrast,     S_Info_TotalMemory,   S_Del_One,          S_Null,//27  -->setting contrast
	S_Set_Language,      S_Set_Contrast,      S_Set_Idletime,     S_Info_TotalMemory,   S_Del_One,          S_Null,//28  -->setting idle time
	S_Set_Default,       S_Set_Idletime,      S_Set_Language,     S_Info_TotalMemory,   S_Del_One,          S_Null,//29  -->setting Current HZK
	S_Set_Backlit,       S_Set_Language,      S_Null,             S_Info_TotalMemory,   S_Del_One,          S_Null,//30  -->setting default setting

    S_Set_Backlit_20,    S_Set_Backlit_Off,   S_Null,             S_Set_Contrast_0,     S_Set_Language_ENG, S_Set_Backlit,//31 -->backlight 10
	S_Set_Backlit_30,    S_Set_Backlit_10,    S_Null,             S_Set_Contrast_0,     S_Set_Language_ENG, S_Set_Backlit,//32 -->backlight 20
	S_Set_Backlit_60,    S_Set_Backlit_20,    S_Null,             S_Set_Contrast_0,     S_Set_Language_ENG, S_Set_Backlit,//33 -->backlight 30
	S_Set_Backlit_Prem,  S_Set_Backlit_30,    S_Null,             S_Set_Contrast_0,     S_Set_Language_ENG, S_Set_Backlit,//34 -->backlight 60
	S_Set_Backlit_Off,   S_Set_Backlit_60,    S_Null,             S_Set_Contrast_0,     S_Set_Language_ENG, S_Set_Backlit,//35 -->backlight Prem
	S_Set_Backlit_10,    S_Set_Backlit_Prem,  S_Null,             S_Set_Contrast_0,     S_Set_Language_ENG, S_Set_Backlit,//36 -->backlight Off

	S_Set_Contrast_1,    S_Set_Contrast_9,    S_Null,             S_Set_Idletime_Off,   S_Set_Backlit_10,   S_Set_Contrast,//37 -->contrast 0
	S_Set_Contrast_2,    S_Set_Contrast_0,    S_Null,             S_Set_Idletime_Off,   S_Set_Backlit_10,   S_Set_Contrast,//38 -->contrast 1
	S_Set_Contrast_3,    S_Set_Contrast_1,    S_Null,             S_Set_Idletime_Off,   S_Set_Backlit_10,   S_Set_Contrast,//39 -->contrast 2
	S_Set_Contrast_4,    S_Set_Contrast_2,    S_Null,             S_Set_Idletime_Off,   S_Set_Backlit_10,   S_Set_Contrast,//40 -->contrast 3
	S_Set_Contrast_5,    S_Set_Contrast_3,    S_Null,             S_Set_Idletime_Off,   S_Set_Backlit_10,   S_Set_Contrast,//41 -->contrast 4
	S_Set_Contrast_6,    S_Set_Contrast_4,    S_Null,             S_Set_Idletime_Off,   S_Set_Backlit_10,   S_Set_Contrast,//42 -->contrast 5
	S_Set_Contrast_7,    S_Set_Contrast_5,    S_Null,             S_Set_Idletime_Off,   S_Set_Backlit_10,   S_Set_Contrast,//43 -->contrast 6
	S_Set_Contrast_8,    S_Set_Contrast_6,    S_Null,             S_Set_Idletime_Off,   S_Set_Backlit_10,   S_Set_Contrast,//44 -->contrast 7
	S_Set_Contrast_9,    S_Set_Contrast_7,    S_Null,             S_Set_Idletime_Off,   S_Set_Backlit_10,   S_Set_Contrast,//45 -->contrast 8
	S_Set_Contrast_0,    S_Set_Contrast_8,    S_Null,             S_Set_Idletime_Off,   S_Set_Backlit_10,   S_Set_Contrast,//46 -->contrast 9

	S_Set_Idletime_10,   S_Set_Idletime_Prem, S_Null,             S_Set_Language_ENG,   S_Set_Contrast_0,   S_Set_Idletime,//47 -->idle off
	S_Set_Idletime_30,   S_Set_Idletime_Off,  S_Null,             S_Set_Language_ENG,   S_Set_Contrast_0,   S_Set_Idletime,//48 -->idle 3
	S_Set_Idletime_60,   S_Set_Idletime_10,   S_Null,             S_Set_Language_ENG,   S_Set_Contrast_0,   S_Set_Idletime,//49 -->idle 5
	S_Set_Idletime_Prem, S_Set_Idletime_30,   S_Null,             S_Set_Language_ENG,   S_Set_Contrast_0,   S_Set_Idletime,//50 -->idle 10
	S_Set_Idletime_Off,  S_Set_Idletime_60,   S_Null,             S_Set_Language_ENG,   S_Set_Contrast_0,   S_Set_Idletime,//51 -->idle 30

	S_Del_All,           S_Del_All,           S_Null,             S_Set_Backlit,        S_VSP_Norm,         S_Null,//52  -->del 1
	S_Del_One,           S_Del_One,           S_Disk_FMTConfirm,  S_Set_Backlit,        S_VSP_Norm,         S_Null,//53  -->del all

	S_Set_Language_CHN,  S_Set_Language_Ger,  S_Null,             S_Set_Backlit_10,     S_Set_Idletime_Off, S_Set_Language,//54 -->English HZK
	S_Set_Language_BIG,  S_Set_Language_ENG,  S_Null,             S_Set_Backlit_10,     S_Set_Idletime_Off, S_Set_Language,//55 -->chinese HZK
	S_Set_Language_JAP,  S_Set_Language_CHN,  S_Null,             S_Set_Backlit_10,     S_Set_Idletime_Off, S_Set_Language,//56 -->BIG HZK
	S_Set_Language_Ger,  S_Set_Language_BIG,  S_Null,             S_Set_Backlit_10,     S_Set_Idletime_Off, S_Set_Language,//57 -->JAP HZK
	S_Set_Language_ENG,  S_Set_Language_JAP,  S_Null,             S_Set_Backlit_10,     S_Set_Idletime_Off, S_Set_Language,//58 -->GER HZK

	S_Info_FreeMemory,   S_Info_FWVersion,    S_Disp_TotalMemory, S_Mode_Mu,            S_Set_Backlit,      S_Null,//59--->Info total memory
	S_Info_FWVersion,    S_Info_TotalMemory,  S_Disp_FreeMemory,  S_Mode_Mu,            S_Set_Backlit,      S_Null,//60--->Info free memory
	S_Info_TotalMemory,  S_Info_FreeMemory,   S_Disp_FWVersion,   S_Mode_Mu,            S_Set_Backlit,      S_Null,//61--->Info f/w version

	S_Disk_FMTCancel,    S_Disk_FMTCancel,    S_Null,             S_Disk_FMTConfirm,    S_Disk_FMTConfirm,  S_Del_All,//62--->format confirm
	S_Disk_FMTConfirm,   S_Disk_FMTConfirm,   S_Null,             S_Disk_FMTCancel,     S_Disk_FMTCancel,   S_Del_All,//63--->format cancel

	S_Mode_Mu,           S_Mode_FM,           S_Mode_Record,      S_PMode_NOREP,        S_Info_TotalMemory, S_Null,//64  -->mode record
	S_Select_RecWave,    S_Select_RecWave,    S_Null,             S_Select_RecASF,      S_Select_RecASF,    S_Mode_Record,//65-->record WAV
	S_Select_RecASF,     S_Select_RecASF,     S_Null,             S_Select_RecWave,     S_Select_RecWave,   S_Mode_Record,//66-->record ASF

	S_Null,   	         S_Null,              S_Null,             S_Null,               S_Null,             S_Info_TotalMemory,//67--->DispInfo total memory
	S_Null,  	         S_Null,              S_Null,             S_Null,               S_Null,             S_Info_FreeMemory,//68--->DispInfo free memory
	S_Null,  	         S_Null,              S_Null,             S_Null,               S_Null,             S_Info_FWVersion,//69--->DispInfo f/w version
	
	S_PlayList_Favorite, S_PlayList_Favorite, S_Null,             S_PMode_NOREP,        S_Mode_Mu,          S_Null,  //70--->Playlist all.
	S_PlayList_All,      S_PlayList_All,      S_Null,             S_PMode_NOREP,        S_Mode_Mu,          S_Null,  //71--->Playlist favorite.

//	S_PlayList_Favorite, S_PlayList_Favorite, S_Null,             S_DSP_UNSURROUND,        S_Mode_Mu,          S_Null,  //70--->Playlist all.
//	S_PlayList_All,      S_PlayList_All,      S_Null,             S_DSP_UNSURROUND,        S_Mode_Mu,          S_Null,  //71--->Playlist favorite.


	S_Mode_Mu,       	 S_Mode_Vo,           S_FM_BackMode,      S_PMode_NOREP,        S_Info_TotalMemory, S_Null,//72-->mode FM.

	S_FM_AutoSearch,     S_FM_Sensitivity,    S_Mode_FM,          S_FM_BackMode,        S_FM_BackMode,      S_Null,//73-->S_FM_BackMode
	S_FM_ManualSearch,   S_FM_BackMode,       S_Null,             S_FM_AutoSearch,      S_FM_AutoSearch,    S_Null,//74-->S_FM_AutoSearch
	S_FM_PresetSearch,   S_FM_AutoSearch,     S_Null,             S_FM_ManualSearch,    S_FM_ManualSearch,  S_Null,//75-->S_FM_ManualSearch
	S_FM_Channel,        S_FM_ManualSearch,   S_Null,             S_FM_PresetSearch,    S_FM_PresetSearch,  S_Null,//76-->S_FM_PresetSearch
	S_FM_Sensitivity,    S_FM_PresetSearch,   S_FM_Stereo,        S_FM_Channel,         S_FM_Channel,       S_Null,//77-->S_FM_Channel
	S_FM_Mono,           S_FM_Mono,           S_Null,             S_FM_Stereo,          S_FM_Stereo,        S_FM_Channel,//78-->S_FM_Stereo
	S_FM_Stereo,         S_FM_Stereo,         S_Null,             S_FM_Mono,            S_FM_Mono,          S_FM_Channel,//79-->S_FM_Mono
	S_FM_BackMode,       S_FM_Channel,        S_FM_Sensitivity_Hi,S_FM_Sensitivity,     S_FM_Sensitivity,   S_Null,//80-->S_FM_Sensitivity
	S_FM_Sensitivity_Low,S_FM_Sensitivity_Low,S_Null,             S_FM_Sensitivity_Hi,  S_FM_Sensitivity_Hi,S_FM_Sensitivity,//81-->S_FM_Sensitivity_Hi
	S_FM_Sensitivity_Hi, S_FM_Sensitivity_Hi, S_Null,             S_FM_Sensitivity_Low, S_FM_Sensitivity_Low,S_FM_Sensitivity,//82-->S_FM_Sensitivity_Low

//	S_DSP_UNSURROUND,    S_DSP_UNSURROUND,    S_Null,             S_PMode_NOREP,        S_PlayList_All,     S_Null,//83-->mode FM.
//	S_DSP_SURROUND,      S_DSP_SURROUND,      S_Null,             S_PMode_NOREP,        S_PlayList_All,     S_Null,//84-->mode FM.
    

	};

    //this is a statue change form,the right is the statue of the menu,when 
	{
		gw_DispFileName_ByteOffset=0;//lyh add
		if(TempEvent>5) return;
		if(TempEvent==2)//play key<=>mode key//in the multimenu....
		{
			TempEvent=5;
		}else{
			if(TempEvent==5)
				TempEvent=2;
		}
		TempState = gc_Menu_State;//0->mu,mu->vo
		if(TempState==0)
		{
			gc_Menu_State=S_Mode_Mu+gc_UIMode;//differ the statue is mode--music7 or voice8
		}else{		
			gc_Menu_State = StateChangeTable[TempState][TempEvent];
		}
        
	}

	switch(TempEvent)
	{
	case 2://SETTING
		if(TempState==S_Del)
		{
			Playing_To_Stop();
		}else if(TempState==S_Info_TotalMemory)
		{
			
			//USER_Get_SYSInformation(1);
			LCD501_Disp_TotalMemory();//get the memory,will call USER_Get_SYSInformation(1);

⌨️ 快捷键说明

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