📄 audio.c
字号:
/*********************************************************
Project: TF60K
File name: Aud_main.c
Description:
Write/Modify: Perry.Liang
Time: 2005-2-18- 15:12:49
*********************************************************/
#include "public.h"
#define UP 1
#define DOWN -1
static const unsigned char NumToDisp[]=
{
0x00,0x80,0xC0,0xE0,0xF0,0xF8,0xFC,0xFE,0xFF
};
static const unsigned char AudioMessage[]=
{
'V','O','L','U','M','E',' ',' ', // 0
'F',84,'Z','O','N','E',' ',' ',' ',' ',' ', // 1
'R',84,'Z','O','N','E',' ',' ',' ',' ',' ', // 2
//'S',84,'W','O','O','F','E','R',' ',' ', // 3
'S','U','B','W','O','O','F','E','R',' ',' ', // 3
//'S','U','B','W','L','P','F',' ',' ',' ',' ', // 4
'S','U','B',84,'W','L','P','F',' ',' ',' ',' ', // 4
'i','X',84,'B','A','S','S',' ',' ',' ',' ', // 5
'i','X',84,'B','A','S','S',' ',' ',' ',' ',' ', // 6
'B','A','S','S',87,' ',' ', // 7
'B','A','S','S','C','F','Q',' ',' ',' ',' ', // 8
'B','A','S','S',84,'Q',' ',' ',' ',' ', // 9
'M','I','D','D','L','E',' ',' ', // 10
'M','I','D',84,'C','F','Q',' ',' ',' ',' ',' ', // 11
'M','I','D','D','L','E',84,'Q',' ',' ',' ',' ', //12
'T','R','E','B','L','E',' ',' ', // 13
'T','R','E',84,'C','F','Q',' ',' ',' ',' ',' ',' ', // 14
'B','A','L','A','N','C','E',' ',' ',' ', // 15
'F','A','D','E','R',' ',' ',' ', // 16
'2',84,'Z','O','N','E','O','n', // 17
'2',84,'Z','O','N','E','O','f','f', // 18
'M','u','t','e', //19
'i','X',84,'B','A','S','S','O','n', // 20
'i','X',84,'B','A','S','S','O','f','f', // 21
//'S',84,'W','O','O','F','E','R','O','n', // 22
//'S',84,'W','O','O','F','E','R','O','f','f' // 23
'S','U','B','W','O','O','F','E','R','O','n', // 22
'S','U','B','W','O','O','F','E','R','O','f','f' // 23
};
/*********************************************
Function: AudioInit
Description:
Write/Modify: Perry.Liang
Time: 2004-8-9- 16:31:15
*********************************************/
void AudioInit()
{
Pin_AMUTE=0;
PD_AMUTE=1;
PO_AMUTE=1;
AudioI2CBuf[0]=y00110000;
AudioI2CBuf[1]=y11100000;
AudioI2CBuf[2]=y00000111;
AudioI2CBuf[3]=y00000000;
AudioI2CBuf[4]=y00000000;
AudioI2CBuf[5]=y00000000;
AudioI2CBuf[6]=y00000000;
AudioI2CBuf[7]=y00110000;
AudioI2CBuf[8]=y01000000;
AudioI2CBuf[9]=y11110111;
AudioI2CBuf[10]=y00000000;
AudioI2CBuf[11]=y00000000;
AudioI2CBuf[12]=y00000000;
AudioI2CBuf[13]=y00000000;
AudioI2CBuf[14]=y10000000;
AudioI2CBuf[15]=y10000000;
AudioI2CBuf[16]=y00010111;
AudioI2CBuf[17]=y00000000;
AudioVol=12;
AudioFVol=12;
AudioRVol=12;
AudioBas=6;
AudioBasFre=0;
AudioBasQ=0;
AudioTre=6;
AudioTreFre=0;
AudioMid=6;
AudioMidFre=0;
AudioMidQ=0;
AudioIXBass=0;
AudioIXBass_Bk=1;
AudioIXBassFre=0;
AudioSubw=13;
AudioSubw_Bk=0;
AudioSubwFre=0;
AudioSubwFre_Bk=1;
AudioBal=12;
AudioFad=12;
AudioFSource=AUDIO_INPUT_RADIO;
AudioRSource=AUDIO_INPUT_RADIO;
F_2ZONE=0;
F_LOUD=0;
F_SUBW=0;
F_3DSOUND=0;
F_MUTE=0;
AudioCalc(AUDIO_ALL_VAL);//yete ask
AudioSend(AUDIO_AREA_ALL);
AudioWorkMode=AUDIO_MODE_IDLE;
}
/*********************************************
Function: AudioMain
Description:
Write/Modify: Perry.Liang
Time: 2004-8-9- 16:31:21
*********************************************/
void AudioMain(void)
{
AudioKey();
AudioDisp();
AudioProc();
SoftChangeLoop();
}
/*********************************************
Function: AudioProc
Description:
Write/Modify: Perry.Liang
Time: 2004-8-9- 16:31:28
*********************************************/
void AudioProc(void)
{
if(AudioTimer==1)
{
AudioTimer=0;
AudioWorkMode=AUDIO_MODE_IDLE;
switch(System.FWorkMode.Current)
{
case WORKMODE_RADIO:
System.DispMode.Requst=DISPMODE_RADIO;
break;
case WORKMODE_CD:
System.DispMode.Requst=DISPMODE_CD;
break;
case WORKMODE_CDC:
System.DispMode.Requst=DISPMODE_CDC;
break;
case WORKMODE_AUX:
System.DispMode.Requst=DISPMODE_AUX;
break;
case WORKMODE_PHONE:
System.DispMode.Requst=DISPMODE_PHONE;
break;
case WORKMODE_STANDBY:
System.DispMode.Requst=DISPMODE_STANDBY;
break;
case WORKMODE_ALIGN:
System.DispMode.Requst=DISPMODE_ALIGN;
break;
}
}
switch(System.FWorkMode.Next)
{
case WORKMODE_IDLE:
break;
case WORKMODE_RADIO:
AudioFSource=AUDIO_INPUT_RADIO;
AudioCalc(AUDIO_SOURCE);
AudioSend(AUDIO_AREA_FSOURCE);
break;
case WORKMODE_CD:
AudioFSource=AUDIO_INPUT_CD;
AudioCalc(AUDIO_SOURCE);
AudioSend(AUDIO_AREA_FSOURCE);
break;
case WORKMODE_CDC:
AudioFSource=AUDIO_INPUT_CDC;
AudioCalc(AUDIO_SOURCE);
AudioSend(AUDIO_AREA_FSOURCE);
break;
case WORKMODE_AUX:
AudioFSource=AUDIO_INPUT_AUX;
AudioCalc(AUDIO_SOURCE);
AudioSend(AUDIO_AREA_FSOURCE);
break;
}
}
/*********************************************
Function: AudioDisp
Description:
Write/Modify: Perry.Liang
Time: 2004-8-9- 16:31:32
*********************************************/
void AudioDisp(void)
{
if(System.DispMode.Current!=DISPMODE_AUDIO)return;
if(!F_AudioDispReq)return;
F_AudioDispReq=0;
PrintLine1(" Audio Mode");
switch(AudioWorkMode)
{
case AUDIO_MODE_VOL:
PrintLine2(" VOLUME 00");
DispBuff[26]=AudioVol/10+'0';
DispBuff[27]=AudioVol%10+'0';
break;
case AUDIO_MODE_BASS:
PrintLine2(" BASS 00");
if(AudioBas>6)
{
DispBuff[25]='+';
DispBuff[26]=AudioBas-6+'0';
}
else if(AudioBas<6)
{
DispBuff[25]='-';
DispBuff[26]=6-AudioBas+'0';
}
else
{
DispBuff[25]=' ';
DispBuff[26]='0';
}
break;
case AUDIO_MODE_MID:
PrintLine2(" MIDDLE 00");
if(AudioMid>6)
{
DispBuff[26]='+';
DispBuff[27]=AudioMid-6+'0';
}
else if(AudioMid<6)
{
DispBuff[26]='-';
DispBuff[27]=6-AudioMid+'0';
}
else
{
DispBuff[26]=' ';
DispBuff[27]='0';
}
break;
case AUDIO_MODE_TRE:
PrintLine2(" TREBLE 00");
if(AudioTre>6)
{
DispBuff[26]='+';
DispBuff[27]=AudioTre-6+'0';
}
else if(AudioTre<6)
{
DispBuff[26]='-';
DispBuff[27]=6-AudioTre+'0';
}
else
{
DispBuff[26]=' ';
DispBuff[27]='0';
}
break;
case AUDIO_MODE_BAL:
PrintLine2(" BALANCE C00");
if(AudioBal>12)
{
DispBuff[26]='R';
DispBuff[27]=(AudioBal-12)/10+'0';
DispBuff[28]=(AudioBal-12)%10+'0';
}
else if(AudioBal<12)
{
DispBuff[26]='L';
DispBuff[27]=(12-AudioBal)/10+'0';
DispBuff[28]=(12-AudioBal)%10+'0';
}
else
{
DispBuff[26]='C';
DispBuff[27]='0';
DispBuff[28]='0';
}
break;
case AUDIO_MODE_FAD:
PrintLine2(" FADER C00");
if(AudioFad>12)
{
DispBuff[25]='F';
DispBuff[26]=(AudioFad-12)/10+'0';
DispBuff[27]=(AudioFad-12)%10+'0';
}
else if(AudioFad<12)
{
DispBuff[25]='R';
DispBuff[26]=(12-AudioFad)/10+'0';
DispBuff[27]=(12-AudioFad)%10+'0';
}
else
{
DispBuff[25]='C';
DispBuff[26]='0';
DispBuff[27]='0';
}
break;
}
#if 0
unsigned char temp;
if(F_2ZoneKeyBack!=F_2ZoneKeyBackBK)
{
if(F_2ZoneKeyBack)
F_2ZoneGotoBack=1;
else
F_2ZoneGotoFront=1;
}
else
{
F_2ZoneGotoBack=0;
F_2ZoneGotoFront=0;
}
F_2ZoneKeyBackBK=F_2ZoneKeyBack;
if(ZoneKeyTimer==1)
{
ZoneKeyTimer=0;
F_2ZoneKeyBack=0;
Menu.Color=F_BcMenuColor;
F_MessageReq=1;
}
if(F_2ZONE&&F_HalfSecondOut
&&System.AccMode==ACCMODE_ACCON
&&System.PowerMode==POWERMODE_POWERON
&&System.PanelMode==PANELMODE_PANELON)
{
if(F_2ZoneKeyBack)
{
if(F_HalfSecond)
F_DISP_2ZONE=1;
else
F_DISP_2ZONE=0;
Menu.Color=~Menu.Color;
}
else
F_DISP_2ZONE=1;
}
if(AudioTimer==1)
{
AudioTimer=0;
AudioWorkMode=AUDIO_MODE_VOL;
/*if(AnimaTimer==0)
System.DispMode.Requst=DISPMODE_NORMAL;*/
//System.DispMode.Requst=System.SaveDispMode;
/*if(AnimationMode==ANIMA_MODE_NO)
System.DispMode.Requst=DISPMODE_NORMAL;
else
System.DispMode.Requst=DISPMODE_ANIMATION;*/
System.DispMode.Requst=DISPMODE_NORMAL;
ReturnAnimatDisp(50);
F_AudioMenuFromBegin=0;
}
if(F_MuteKey && F_HalfSecondOut && MuteTimer==0)
{
if(System.DispMode.Current!=DISPMODE_AUDIO)
System.DispMode.Requst=DISPMODE_AUDIO;
FindMessage(AudioMessage,AudioMessageLen,19);
if(F_HalfSecond)
ShowMessage(DispChar,DispCharLen,0,21,y00000000);
else
ClearMessageBuffer(ALLBUFFER);
AudioTimer=100;
return;
}
if(F_HalfSecondOut
&& System.PowerMode==POWERMODE_POWERON
&& System.AccMode==ACCMODE_ACCON
&& System.PanelMode==PANELMODE_PANELON)
{
F_AudioDispReq=1;
}
/*if(System.DispMode.Next==DISPMODE_AUDIO)
F_AudioDispReq=1;*/
if(!F_AudioDispReq)return;
F_AudioDispReq=0;
F_DISP_LOUD=F_LOUD;
F_DISP_SUBW=F_SUBW;
/*if(F_3DSOUND)
AudioI2CBuf[16] |= 0x80;
else
AudioI2CBuf[16] &= 0x7F;*/
if(System.DispMode.Current==DISPMODE_AUDIO
||System.DispMode.Next==DISPMODE_AUDIO)
{
switch(AudioWorkMode)
{
case AUDIO_MODE_VOL:
FindMessage(AudioMessage,AudioMessageLen,0);
if(!F_2ZONE)
{
temp=AudioVol;
DispChar[6]=(temp/10)+48;
DispChar[7]=(temp%10)+48;
}
else
{
if(F_2ZoneKeyBack)//(REMOTEKEYCODE)
{
temp=AudioRVol;
DispChar[3]=84;
DispChar[4]='R';
DispChar[5]='E';
DispChar[6]='A';
DispChar[7]='R';
DispChar[8]=' ';
DispChar[9]=' ';
}
else
{
temp=AudioFVol;
DispChar[3]=84;
DispChar[4]='F';
DispChar[5]='R';
DispChar[6]='O';
DispChar[7]='N';
DispChar[8]='T';
DispChar[9]=' ';
}
DispCharLen[3]=DISP_ICON+3;
DispCharLen[4]=DISP_CH5+6;
DispCharLen[5]=DISP_CH5+6;
DispCharLen[6]=DISP_CH5+6;
DispCharLen[7]=DISP_CH5+6;
DispCharLen[8]=DISP_CH5+6;
DispCharLen[9]=DISP_CH5+5;
DispCharLen[10]=DISP_CH7+6;
DispCharLen[11]=DISP_END+DISP_CH7+6;
DispChar[10]=(temp/10)+48;
DispChar[11]=(temp%10)+48;
}
break;
case AUDIO_MODE_FZONE:
FindMessage(AudioMessage,AudioMessageLen,1);
if(F_HalfSecond&&F_DispFlash)break;
switch(AudioFSource)
{
case AUDIO_INPUT_RADIO:
DispChar[6]='T';
DispChar[7]='u';
DispChar[8]='n';
DispChar[9]='e';
DispChar[10]='r';
break;
case AUDIO_INPUT_CD:
DispChar[6]=' ';
DispChar[7]=' ';
DispChar[8]='C';
DispChar[9]='D';
DispChar[10]=' ';
break;
case AUDIO_INPUT_AUX:
DispChar[6]=' ';
DispChar[7]='A';
DispChar[8]='u';
DispChar[9]='x';
DispChar[10]=' ';
break;
default:
DispChar[6]=' ';
DispChar[7]='C';
DispChar[8]='D';
DispChar[9]='C';
DispChar[10]=' ';
break;
}
break;
case AUDIO_MODE_RZONE:
FindMessage(AudioMessage,AudioMessageLen,2);
if(F_HalfSecond&&F_DispFlash)break;
switch(AudioRSource)
{
case AUDIO_INPUT_RADIO:
DispChar[6]='T';
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -