📄 audio.c
字号:
if(AudioMid > 6){
str[5] = 'R';
str[7] = '0' + AudioMid -6;
}else {
str[5] = 'L';
str[7] = '0' + 6 - AudioMid;
}
str[6] =' ';
#else
Display(DISP_CLEAR2);
DispBuff[2][6]='M';
DispBuff[2][7]='I';
DispBuff[2][8]='D';
DispBuff[2][9]=' ';
DispBuff[2][10]=' ';
DispBuff[2][11]=' ';
DispBuff[2][12]=' ';
DispBuff[2][13]='0';
if(AudioMid>6)
{
DispBuff[2][12]='+';
DispBuff[2][13]='0'+AudioMid-6;
}
else if(AudioMid<6)
{
DispBuff[2][12]='-';
DispBuff[2][13]='0'+6-AudioMid;
}
Display(DISP_REFRESH2);
#endif
break;
case AUDIO_MODE_TRE:
#ifdef SINO_MOS
str[0] = 'T';
str[1] = 'R';
str[2] = 'E';
str[3] = ' ';
str[4] = ' ';
if(AudioTre > 6)
{
str[5] = 'R';
str[7] = '0'+AudioTre -6;
}else{
str[5] = 'L';
str[7] = '0' +6 - AudioTre;
}
str[6] = ' ';
#else
Display(DISP_CLEAR2);
DispBuff[2][6]='T';
DispBuff[2][7]='R';
DispBuff[2][8]='E';
DispBuff[2][9]=' ';
DispBuff[2][10]=' ';
DispBuff[2][11]=' ';
DispBuff[2][12]=' ';
DispBuff[2][13]='0';
if(AudioTre>6)
{
DispBuff[2][12]='+';
DispBuff[2][13]='0'+AudioTre-6;
}
else if(AudioTre<6)
{
DispBuff[2][12]='-';
DispBuff[2][13]='0'+6-AudioTre;
}
Display(DISP_REFRESH2);
#endif
break;
case AUDIO_MODE_BAL:
#ifdef SINO_MOS
str[0] = 'B';
str[1] = 'A';
str[2] = 'L';
str[3] = ' ';
if(AudioBal >12){
str[4] ='R';
str[6] = '0' + (AudioBal - 12)/10;
str[7] = '0' + (AudioBal - 12)%10;
}else{
str[4] = 'L';
str[6] = '0' + (12 - AudioBal)/10;
str[7] = '0' + (12 - AudioBal)%10;
}
str[5] = ' ';
#else
Display(DISP_CLEAR2);
DispBuff[2][6]='B';
DispBuff[2][7]='A';
DispBuff[2][8]='L';
DispBuff[2][9]=' ';
DispBuff[2][10]=' ';
DispBuff[2][11]=' ';
DispBuff[2][12]=' ';
DispBuff[2][13]='0';
if(AudioBal>12)
{
DispBuff[2][11]='R';
DispBuff[2][12]='0'+(AudioBal-12)/10;
DispBuff[2][13]='0'+(AudioBal-12)%10;
}
else if(AudioBal<12)
{
DispBuff[2][11]='L';
DispBuff[2][12]='0'+(12-AudioBal)/10;
DispBuff[2][13]='0'+(12-AudioBal)%10;
}
Display(DISP_REFRESH2);
#endif
break;
case AUDIO_MODE_FAD:
#ifdef SINO_MOS
str[0] = 'F';
str[1] = 'A';
str[2] = 'D';
str[3] = ' ';
if(AudioFad > 12){
str[4] = 'F';
str[6] = '0' + (AudioFad - 12)/10;
str[7] = '0' + (AudioFad - 12)%10;
}else{
str[4] = 'R';
str[6] = '0' + (12 - AudioFad)/10;
str[7] = '0' + (12 - AudioFad)%10;
}
str[5] = ' ';
#else
Display(DISP_CLEAR2);
DispBuff[2][6]='F';
DispBuff[2][7]='A';
DispBuff[2][8]='D';
DispBuff[2][9]=' ';
DispBuff[2][10]=' ';
DispBuff[2][11]=' ';
DispBuff[2][12]=' ';
DispBuff[2][13]='0';
if(AudioFad>12)
{
DispBuff[2][11]='F';
DispBuff[2][12]='0'+(AudioFad-12)/10;
DispBuff[2][13]='0'+(AudioFad-12)%10;
}
else if(AudioFad<12)
{
DispBuff[2][11]='R';
DispBuff[2][12]='0'+(12-AudioFad)/10;
DispBuff[2][13]='0'+(12-AudioFad)%10;
}
Display(DISP_REFRESH2);
#endif
break;
case AUDIO_MODE_MUTE:
break;
case AUDIO_MODE_EQ:
/*switch(AudioEQMode)
{
case EQ_MODE_OFF:
DispNum[0]='D';
DispNum[1]='S';
DispNum[2]='P';
DispNum[3]=' ';
DispNum[4]='O';
DispNum[5]='F';
DispNum[6]='F';
DispNum[7]=' ';
break;
case EQ_MODE_CLASSIC:
DispNum[0]='C';
DispNum[1]='L';
DispNum[2]='A';
DispNum[3]='S';
DispNum[4]='S';
DispNum[5]='I';
DispNum[6]='C';
DispNum[7]=' ';
F_DISP_DSP=1;
F_DISP_CLASSIC=1;
F_DISP_POP=0;
F_DISP_ROCK=0;
break;
case EQ_MODE_POP:
DispNum[0]=' ';
DispNum[1]=' ';
DispNum[2]='P';
DispNum[3]='O';
DispNum[4]='P';
DispNum[5]=' ';
DispNum[6]=' ';
DispNum[7]=' ';
F_DISP_DSP=1;
F_DISP_CLASSIC=0;
F_DISP_POP=1;
F_DISP_ROCK=0;
break;
case EQ_MODE_ROCK:
DispNum[0]=' ';
DispNum[1]=' ';
DispNum[2]='R';
DispNum[3]='O';
DispNum[4]='C';
DispNum[5]='K';
DispNum[6]=' ';
DispNum[7]=' ';
F_DISP_DSP=1;
F_DISP_CLASSIC=0;
F_DISP_POP=0;
F_DISP_ROCK=1;
break;
} */
break;
}
#ifdef D_STORE_DATA_IN_EEPROM
#if 0
AudioBuff[0] = AudioVol;
AudioBuff[1] = AudioMid;
AudioBuff[2] = AudioTre;
AudioBuff[3] = AudioBal;
AudioBuff[4] = AudioFad;
AudioBuff[5] = 0xaa;
EepromWrite(EEPROM_ADDR,AUDIO_VOL_POS,6,&AudioBuff[0]);
#endif
#endif
}
#endif
/*********************************************
Function: ChangeToAudioMode
Description:
Write/Modify: Perry.Liang
Time: 2006-1-24- 15:18:56
*********************************************/
void ChangeToAudioMode(void)
{
if(System.DispMode.Current!=DISPMODE_AUDIO)
System.DispMode.Requst=DISPMODE_AUDIO;
AudioTimer=30;
F_AudioDispReq=1;
}
/*********************************************
Function: AudioKey
Description:
Write/Modify: Perry.Liang
Time: 2004-8-9- 16:31:46
*********************************************/
void AudioKey(void)
{
if(System.PowerMode!=POWERMODE_POWERON)return;
/*if(KeyCode!=S_AD_MUTE
&&KeyCode!=P_EC_UP
&&KeyCode!=P_EC_DN
&&F_MuteKey)return;*/
#if 0
if((AudioTimer>1)
&&(CHECK_KEY!=P_AD_SEL)
&&(CHECK_KEY!=P_AD_VOLUP)
&&(CHECK_KEY!=P_AD_VOLDN)
&&(CHECK_KEY!=P_AD_MUTE)
&&(CHECK_KEY!=P_RM_SEL)
&&(CHECK_KEY!=P_RM_VOLUP)
&&(CHECK_KEY!=P_RM_VOLDN)
&&(CHECK_KEY!=P_RM_MUTE)
//&&(CHECK_KEY!=P_AD_DSP)
&&(CHECK_KEY!=NOKEY)
)
AudioTimer=1;
#endif
if((AudioTimer > 1)
&&(SysCommand != SYSTEM_COMMAND_AUDIO_OPTION)
&&(SysCommand != SYSTEM_COMMAND_AUDIO_VOL_UP)
&&(SysCommand != SYSTEM_COMMAND_AUDIO_VOL_DN)
&&(SysCommand != SYSTEM_COMMAND_AUDIO_MUTE)
&&(SysCommand != SYSTEM_COMMAND_IDLE)
)
AudioTimer = 1;
switch(SysCommand)
{
case SYSTEM_COMMAND_AUDIO_OPTION:
ChangeToAudioMode();
AudioWorkMode=MaxMinChangeProtect(AudioWorkMode, 1, 6, 1, 0);
//debug("Audio mode");
//debug_val("AudioWorkMode:",AudioWorkMode);
break;
case SYSTEM_COMMAND_AUDIO_VOL_UP:
if(F_PTYSelect)break;
if(F_MuteKey)
{
F_MuteKey=0;
AudioMute(SOFTOFF);
AudioWorkMode=AUDIO_MODE_IDLE;
}
ChangeToAudioMode();
//debug_val("AudioWorkMode:",AudioWorkMode);
AudioMenu(UP);
//debug("Audio Vol up");
break;
case SYSTEM_COMMAND_AUDIO_VOL_DN:
if(F_PTYSelect)break;
if(F_MuteKey)
{
F_MuteKey=0;
AudioMute(SOFTOFF);
AudioWorkMode=AUDIO_MODE_IDLE;
}
ChangeToAudioMode();
AudioMenu(DOWN);
//debug("Audio vol DN");
break;
case SYSTEM_COMMAND_AUDIO_MUTE:
F_MuteKey=~F_MuteKey;
if(F_MuteKey)
{
if(System.DispMode.Current!=DISPMODE_AUDIO)
System.DispMode.Requst=DISPMODE_AUDIO;
AudioWorkMode=AUDIO_MODE_MUTE;
F_AudioDispReq=1;
AudioMute(SOFTON);
//AMute(SOFTON);
//debug("Audio Mute on");
}
else
{
AudioTimer=1;
AudioMute(SOFTOFF);
// AMute(SOFTOFF);
//debug("Audio Mute off");
}
break;
case SYSTEM_COMMAND_AUDIO_EQ_BAND:
F_LOUD=~F_LOUD;
if(F_LOUD)
{
AudioIXBass=2;
AudioIXBassFre=2;
}
else
{
AudioIXBass=0;
AudioIXBassFre=0;
}
F_VolNotSoftChange=1;
AudioCalc(AUDIO_ALL_VAL);
AudioSend(AUDIO_AREA_LOUD_VOL);
//F_DISP_LOUD=F_LOUD;
//DisplayRefresh();
break;
}
#ifdef SINO_MOS
// System.DispMode.Requst = DISPMODE_AUDIO;
#endif
}
/*********************************************
Function: AudioMenu
Description:
Write/Modify: Perry.Liang
Time: 2004-8-9- 16:31:52
*********************************************/
void AudioMenu(signed char dirc)
{
switch(AudioWorkMode)
{
case AUDIO_MODE_IDLE:
AudioWorkMode=AUDIO_MODE_VOL;
case AUDIO_MODE_VOL:
AudioVol=MaxMinChangeProtect(AudioVol,dirc,46,0,1);
F_VolNotSoftChange=1;
AudioCalc(AUDIO_ALL_VAL);
AudioSend(AUDIO_AREA_SOURCE_VOL);
//debug_val("AudioVol:",AudioVol);
break;
/*
case AUDIO_MODE_SUBW:
AudioSubw=MaxMinChangeProtect(AudioSubw,dirc,12,0,1);
AudioSubw_Bk=AudioSubw; // jack 5_13 bug 2 zone 4
AudioCalc(AUDIO_SUBW);
AudioSend(AUDIO_AREA_SUBW);
break;
case AUDIO_MODE_SUBW_FRE:
AudioSubwFre=MaxMinChangeProtect(AudioSubwFre,dirc,3,1,1);
AudioSubwFre_Bk=AudioSubwFre;
AudioCalc(AUDIO_SUBW_FRE);
AudioSend(AUDIO_AREA_SMB);
break;
case AUDIO_MODE_IXBASS:
AudioIXBass=MaxMinChangeProtect(AudioIXBass,dirc,3,1,1);
AudioIXBass_Bk=AudioIXBass;
AudioCalc(AUDIO_ALL_VAL);
AudioSend(AUDIO_AREA_LOUD_VOL);
break;
case AUDIO_MODE_IXB_FRE:
AudioIXBassFre=MaxMinChangeProtect(AudioIXBassFre,dirc,3,1,1);
AudioCalc(AUDIO_IXBAS_FRE);
AudioSend(AUDIO_AREA_LOUD);
break;
*/
case AUDIO_MODE_BASS:
AudioBas=MaxMinChangeProtect(AudioBas,dirc,12,0,1);
AudioCalc(AUDIO_BAS);
AudioSend(AUDIO_AREA_BASS);
AudioEQMode=EQ_MODE_OFF;
break;
/*
case AUDIO_MODE_BASS_FRE:
AudioBasFre=MaxMinChangeProtect(AudioBasFre,dirc,3,0,1);
AudioCalc(AUDIO_BAS_FRE);
AudioSend(AUDIO_AREA_SMB);
break;
case AUDIO_MODE_BASS_Q:
AudioBasQ=MaxMinChangeProtect(AudioBasQ,dirc,3,0,1);
AudioCalc(AUDIO_BAS_Q);
AudioSend(AUDIO_AREA_BASS);
break;
*/
case AUDIO_MODE_MID:
AudioMid=MaxMinChangeProtect(AudioMid,dirc,12,0,1);
AudioCalc(AUDIO_MID);
AudioSend(AUDIO_AREA_MID);
break;
/*
case AUDIO_MODE_MID_FRE:
AudioMidFre=MaxMinChangeProtect(AudioMidFre,dirc,3,0,1);
AudioCalc(AUDIO_MID_FRE);
AudioSend(AUDIO_AREA_SMB);
break;
case AUDIO_MODE_MID_Q:
AudioMidQ=MaxMinChangeProtect(AudioMidQ,dirc,3,0,1);
AudioCalc(AUDIO_MID_Q);
AudioSend(AUDIO_AREA_MID);
break;
*/
case AUDIO_MODE_TRE:
AudioTre=MaxMinChangeProtect(AudioTre,dirc,12,0,1);
AudioCalc(AUDIO_TRE);
AudioSend(AUDIO_AREA_TRE);
AudioEQMode=EQ_MODE_OFF;
break;
/*
case AUDIO_MODE_TRE_FRE:
AudioTreFre=MaxMinChangeProtect(AudioTreFre,dirc,3,0,1);
AudioCalc(AUDIO_TRE_FRE);
AudioSend(AUDIO_AREA_TRE);
break;
*/
case AUDIO_MODE_BAL:
AudioBal=MaxMinChangeProtect(AudioBal,dirc,24,0,1);
AudioCalc(AUDIO_BAL);
AudioSend(AUDIO_AREA_SPK);
break;
case AUDIO_MODE_FAD:
AudioFad=MaxMinChangeProtect(AudioFad,dirc,24,0,1);
AudioCalc(AUDIO_FAD);
AudioSend(AUDIO_AREA_SPK);
break;
}
}
/*********************************************
Function: AudioMute
Description:
Write/Modify: Perry.Liang
Time: 2004-8-9- 16:31:56
*********************************************/
void AudioMute(unsigned char type)
{
switch(type)
{
case SOFTON:
F_MUTE=1;
AudioCalc(AUDIO_OTHER_VAL);
AudioSend(AUDIO_AREA_MUTE);
break;
case SOFTOFF:
if(F_MuteKey)break;
F_MUTE=0;
AudioCalc(AUDIO_OTHER_VAL);
AudioSend(AUDIO_AREA_MUTE);
break;
case HARDON:
Pin_AMUTE=1;
break;
case HARDOFF:
Pin_AMUTE=0;
break;
}
}
/*********************************************
Function: GetRealLoudTable
Description:
Write/Modify: Perry.Liang
Time: 2006-1-24- 15:18:42
*********************************************/
unsigned char GetRealLoudTable(unsigned char ixbass)
{
switch(AudioIXBass)
{
case 1:
if(AudioVol==0)
return(0);
else if(AudioVol<22)
return(5);
else if(AudioVol<25)
return(4);
else if(AudioVol<31)
return(3);
else if(AudioVol<34)
return(2);
else if(AudioVol<38)
return(1);
else
return(0);
break;
case 2:
if(AudioVol==0)
return(0);
else if(AudioVol<17)
return(10);
else if(AudioVol<21)
return(9);
else if(AudioVol<23)
return(8);
else if(AudioVol<25)
return(7);
else if(AudioVol<29)
return(6);
else if(AudioVol<31)
return(5);
else if(AudioVol<33)
return(4);
else if(AudioVol<34)
return(3);
else if(AudioVol<37)
return(2);
else if(AudioVol<38)
return(1);
else
return(0);
break;
case 3:
if(AudioVol==0)
return(0);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -