📄 user.c
字号:
}//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 + -