📄 aud_main.h
字号:
/***************************************************************************
Project : TDA7540 Jig board
Compiler : ST7 HiCross C (HiWARE)
Module : Aud_main.h
Version : V 1.0
Created : Jan.24th,2005
Author : Jerry HE / ST-ShenZhen
Description
- audio head file
Modified
-
***************************************************************************/
/******************************************************************************
Definition of the Audio processor
******************************************************************************/
#ifndef AUD_MAIN_H
#define AUD_MAIN_H
#define TDA7419_ADR 0x88
#if TDA7419_IC
#define AUDIO_TEST_MODE 0x80
#define AUDIO_AUTO_INC 0x20
#define AUDIO_ZERO_REMAIN 0x40
#define I2C_AUDIO_SIZE 18
/*----Here define the Audio processor register name ---*/
#define Aud_Inp I2c_AudBuff[0]
#define Aud_Loud_19 I2c_AudBuff[1]
#define Aud_MuteClock_19 I2c_AudBuff[2]
#define Aud_Volume_19 I2c_AudBuff[3]
#define Aud_Treble_19 I2c_AudBuff[4]
#define Aud_Middle_19 I2c_AudBuff[5]
#define Aud_Bass_19 I2c_AudBuff[6]
#define Aud_SecondInp_19 I2c_AudBuff[7]
#define Aud_SubMidBass_19 I2c_AudBuff[8]
#define Aud_MixAndGain_19 I2c_AudBuff[9]
#define Aud_SpeakerLF_19 I2c_AudBuff[10]
#define Aud_SpeakerRF_19 I2c_AudBuff[11]
#define Aud_SpeakerLR_19 I2c_AudBuff[12]
#define Aud_SpeakerRR_19 I2c_AudBuff[13]
#define Aud_Mixing_19 I2c_AudBuff[14]
#define Aud_Subwoofer_19 I2c_AudBuff[15]
#define Aud_Spectrum_19 I2c_AudBuff[16]
#define Aud_Testing_19 I2c_AudBuff[17]
/* ---- Here define the Audio data convert items*/
#define AUDIO_VOL 0
#define AUDIO_SOURCE 1
#define AUDIO_ALL 2
#define AUDIO_BASS 3
#define AUDIO_TREBLE 4
#define AUDIO_MIDDLE 5
#define AUDIO_FADER 6
#define AUDIO_BALANCE 7
#define AUDIO_SUBWOOFER 8
//#define AUDIO_MIX 9
#define AUDIO_LOUD 9
/* ---- Here define the mute time and style ---*/
#define HARD_MUTE 0
#define SOFT_MUTE 1
#define T480US 0
#define T960US 4
#define T123MS 8
/* ---- Define the IIc transfer area */
#define AUDIO_AREA_FSOURCE 0,0
#define AUDIO_AREA_LOUD 1,1
#define AUDIO_AREA_MUTE 2,2
#define AUDIO_AREA_VOL 3,3
#define AUDIO_AREA_TRE 4,4
#define AUDIO_AREA_MID 5,5
#define AUDIO_AREA_BASS 6,6
#define AUDIO_AREA_RSOURCE 7,7
#define AUDIO_AREA_SOURCE 0,7
#define AUDIO_AREA_SMB 8,8
#define AUDIO_AREA_MG 9,9
#define AUDIO_AREA_LF 10,10
#define AUDIO_AREA_RF 11,11
#define AUDIO_AREA_LR 12,12
#define AUDIO_AREA_RR 13,13
#define AUDIO_AREA_SPEAKER 10,13
#define AUDIO_AREA_MIX 14,14
#define AUDIO_AREA_SUBW 15,15
#define AUDIO_AREA_SCA 16,16
#define AUDIO_AREA_TEST 17,17
#define AUDIO_AREA_ALL 0,17
#define AUDIO_AREA_LOUD_VOL 1,3
#define AUDIO_AREA_SOURCE_VOL 3,13
#define AUDIO_AREA_SUBW_ALL 8,15
#endif
/******************************************************************************
Functions of the Audio processor
******************************************************************************/
extern void Aud_Init(void); // Initialize the audio processor
extern void Audio_Main(void); // main routine of the audio processor
extern void Audio_PowerOn(void); // Re-poweron the audio processor, refresh
extern void Audio_Key(void); // Key routine for audio processor
extern void Audio_Proc(void);
extern void Disp_AudioMsg(void); // Display the audio message
extern void SoftChange(void);
extern void WriteAudioRegister(unsigned char, unsigned char);
// IIc write the audio processor
extern unsigned char ReadAudioStatus(void);
// IIc read the audio processor status
extern void AudioDataConvertSend(unsigned char);
// Convert the audio volume...
extern void CalcBalance(void);
extern void CalcFader(void);
extern void AudioMute(unsigned char, unsigned char);
// Mute audio
extern void AudioUnMute(unsigned char);
extern void AudioMenu(unsigned char);
#define VOL_MENU 0
#define SOURCE_MENU 1
extern void Audio_10msTimer(void);
extern void Audio_100msTimer(void);
extern unsigned char MaxMinChangeProtect(unsigned char Num,signed char ChangeVal,unsigned char MaxVal,unsigned char MinVal,unsigned char ProtectState);
/******************************************************************************
Variables of Audio processor
******************************************************************************/
EXTR unsigned char I2c_AudBuff [I2C_AUDIO_SIZE]; // Audio Processor Registers buffer
EXTR unsigned char AudioWorkMode;
#define AUDIO_SOURCE_MODE 0
#define AUDIO_VOL_MODE 1
#define AUDIO_BASS_MODE 2
#define AUDIO_TREBLE_MODE 3
#define AUDIO_MIDDLE_MODE 4
#define AUDIO_BALANCE_MODE 5
#define AUDIO_FADER_MODE 6
#define AUDIO_SUBWOOFER_MODE 7
//#define AUDIO_MIXING_MODE 8
#define AUDIO_LOUD_MODE 8
#define AUDIO_VERSION_MODE 9
EXTR unsigned char AudioSource;
#define AUDIO_SOURCE_FM 0
#define AUDIO_SOURCE_AM 1
#define UP 1
#define DN -1
EXTR unsigned char AudioVol;
EXTR unsigned char NowVol;
EXTR unsigned char BackUpVol;
EXTR unsigned char BassVol;
EXTR unsigned char TrebleVol;
EXTR unsigned char MiddleVol;
EXTR unsigned char BalanceVol;
EXTR unsigned char FaderVol;
EXTR unsigned char SubwooferVol;
//EXTR unsigned char MixVol;
EXTR unsigned char LoudVol;
EXTR unsigned char AudioDispTimer;
EXTR unsigned char AudioMuteTimer;
EXTR unsigned char HalfSecondTimer;
EXTR UByteField Audio_Flag;
#define F_AudioDispReq Audio_Flag.field.B0
#define F_Mute Audio_Flag.field.B1
#define F_HALFSECOND Audio_Flag.field.B2
#define F_EXITAUDIOMODE Audio_Flag.field.B3
/******************************************************************************
Constant of the Audio processor
******************************************************************************/
/* --- Costant table definition ------------------------*/
/*--- Here we define the volume/treble/bass/middle table */
#pragma INTO_ROM
#if TDA7461_IC
static const unsigned char VolTable[]=
{
0x6F, //-79db //0
0x6E, //-78db
0x6D, //-77db
0x6C, //-76db
0x6B, //-75db
0x6A, //-74db
0x69, //-73db
0x68, //-72db
0x67, //-71db
0x66, //-70db
0x65, //-69db //10
0x64, //-68db
0x63, // -67db
0x62, //-66db
0x61, //-65db
0x60, //-64db
0x5F, //-63db
0x5E, //-62db
0x5D, //-61db
0x5C, //-60db
0x5B, //-59db //20
0x5A, //-58db
0x59, //-57db
0x58, //-56db
0x57, //-55db
0x56, //-54db
0x55, //-53db
0x54, //-52db
0x53, //-51db
0x52, //-50db
0x51, //-49db //30
0x50, //-48db
0x4F, //-47db
0x4E, //-46db
0x4D, //-45db
0x4C, //-44db
0x4B, //-43db
0x4A, //-42db
0x49, //-41db
0x48, //-40db
0x47, //-39db //40
0x46, //-38db
0x45, //-37db
0x44, //-36db
0x43, //-35db
0x42, //-34db
0x41, //-33db
0x40, //-32db
0x3F, //-31db
0x3E, //-30db
0x3D, //-29db //50
0x3C, //-28db
0x3B, //-27db
0x3A, //-26db
0x39, //-25db
0x38, //-24db
0x37, //-23db
0x36, //-22db
0x35, //-21db
0x34, //-20db
0x33, //-19db //50
0x32, //-18db
0x31, //-17db
0x30, //-16db
0x2F, //-15db
0x2E, //-14db
0x2D, //-13db
0x2C, //-12db
0x2B, //-11db
0x2A, //-10db
0x29, //-9db //60
0x28, //-8db
0x27, //-7db
0x26, //-6db
0x25, //-5db
0x24, //-4db
0x23, //-3db
0x22, //-2db
0x21, //-1db
0x20, //0db
0x1F, //+1db //70
0x1E, //+2db
0x1D, //+3db
0x1C, //+4db
0x1B, //+5db
0x1A, //+6db
0x19, //+7db
0x18, //+8db
0x17, //+9db
0x16, //+10db
0x15, //+11db //80
0x14, //+12db
0x13, //+13db
0x12, //+14db
0x11, //+15db
0x10, //+16db
0x0F, //+17db
0x0E, //+18db
0x0D, //+19db
0x0C, //+20db
0x0B, //+21db //90
0x0A, //+22db
0x09, //+23db
0x08, //+24db
0x07, //+25db
0x06, //+26db
0x05, //+27db
0x04, //+28db
0x03, //+29db
0x02, //+30db
0x01, //+31db //100
0x00, //+32db
};
static const unsigned char VolChangeTable[]=
{
0,6,11,16,20,24,28,32,34,36,
38,40,42,44,46,48,50,51,52,53,
54,55,56,57,58,59,60,63,65,67,
69,70,71,73,75,77,79,80,82,84,
86,88,90,92,94,95,96
};
static const unsigned char SourceTable[]=
{
4,3
};
#endif
#if TDA7419_IC
static const unsigned char VolTable[]=
{
0x7F, // mute// 0
0x5F, // -79dB
0x5E, // -78dB
0x5D, // -77dB
0x5C, // -76dB
0x5B, // -75dB
0x5A, // -74dB
0x59, // -73dB
0x58, // -72dB
0x57, // -71dB
0x56, // -70dB// 10
0x55, // -69dB
0x54, // -68dB
0x53, // -67dB
0x52, // -66dB
0x51, // -65dB
0x50, // -64dB
0x4F, // -63dB
0x4E, // -62dB
0x4D, // -61dB
0x4C, // -60dB// 20
0x4B, // -59dB
0x4A, // -58dB
0x49, // -57dB
0x48, // -56dB
0x47, // -55dB
0x46, // -54dB
0x45, // -53dB
0x44, // -52dB
0x43, // -51dB
0x42, // -50dB// 30
0x41, // -49dB
0x40, // -48dB
0x3F, // -47dB
0x3E, // -46dB
0x3D, // -45dB
0x3C, // -44dB
0x3B, // -43dB
0x3A, // -42dB
0x39, // -41dB
0x38, // -40dB// 40
0x37, // -39dB
0x36, // -38dB
0x35, // -37dB
0x34, // -36dB
0x33, // -35dB
0x32, // -34dB
0x31, // -33dB
0x30, // -32dB
0x2F, // -31dB
0x2E, // -30dB// 50
0x2D, // -29dB
0x2C, // -28dB
0x2B, // -27dB
0x2A, // -26dB
0x29, // -25dB
0x28, // -24dB
0x27, // -23dB
0x26, // -22dB
0x25, // -21dB
0x24, // -20dB// 60
0x23, // -19dB
0x22, // -18dB
0x21, // -17dB
0x20, // -16dB
0x1F, // -15dB
0x1E, // -14dB
0x1D, // -13dB
0x1C, // -12dB
0x1B, // -11dB
0x1A, // -10dB// 70
0x19, // -9dB
0x18, // -8dB
0x17, // -7dB
0x16, // -6dB
0x15, // -5dB
0x14, // -4dB
0x13, // -3dB
0x12, // -2dB
0x11, // -1dB
0x00, // +0dB// 80
0x01, // +1dB
0x02, // +2dB
0x03, // +3dB
0x04, // +4dB
0x05, // +5dB
0x06, // +6dB
0x07, // +7dB
0x08, // +8dB
0x09, // +9dB
0x0A, // +10dB// 90
0x0B, // +11dB
0x0C, // +12dB
0x0D, // +13dB
0x0E, // +14dB
0x0F // +15dB
};
static const unsigned char VolChangeTable[]=
{
0,6,11,16,20,24,28,32,34,36,
38,40,42,44,46,48,50,51,52,53,
54,55,56,57,58,59,60,61,62,63,
64,65,66,67,68,69,70,71,72,73,
74,75,76,77,78,79,80 //0~46 steps
};
static const unsigned char SourceTable[]=
{
1, 1 // here need define by source selector
};
static const unsigned char LoudTable[]=
{
0x00, // +0dB
// 0x01, // +1dB
// 0x02, // +2dB
// 0x03, // +3dB
/*0x04, // +4dB
0x05, // +5dB*/
0x06, // +6dB //low
/*0x07, // +7dB
0x08, // +8dB
0x09, // +9dB*/
0x0A, // +10dB //mid
/*0x0B, // +11dB
0x0C, // +12dB
0x0D, // +13dB
0x0E, // +14dB*/
0x0F // +15dB //high
};
static const unsigned char SubwTable[]=
{
0x00, // +0dB
0x01, // +1dB
0x02, // +2dB
0x03, // +3dB
0x04, // +4dB
0x05, // +5dB
0x06, // +6dB
0x07, // +7dB
0x08, // +8dB
0x09, // +9dB
// 0x0A, // +10dB
0x0B, // +11dB
// 0x0C, // +12dB
0x0D, // +13dB
// 0x0E, // +14dB
0x0F, // +15dB
0x7F // mute
};
static const unsigned char BasMidTreTable[]=
{
0x0F, // -15dB
//0x0E, // -14dB
0x0D, // -13dB
//0x0C, // -12dB
0x0B, // -11dB
//0x0A, // -10dB
//0x09, // -9dB
0x08, // -8dB
//0x07, // -7dB
//0x06, // -6dB
0x05, // -5dB
//0x04, // -4dB
0x03, // -3dB
//0x02, // -2dB
//0x01, // -1dB
0x10, // +0dB
//0x11, // +1dB
//0x12, // +2dB
0x13, // +3dB
//0x14, // +4dB
0x15, // +5dB
//0x16, // +6dB
//0x17, // +7dB
0x18, // +8dB
//0x19, // +9dB
//0x1A, // +10dB
0x1B, // +11dB
//0x1C//, +12dB
0x1D, // +13dB
//0x1E, // +14dB
0x1F, // +15dB
};
static const unsigned char BalFadTable[]=
{
0x00, // +0dB
0x13, // -3dB
0x15, // -5dB
0x18, // -8dB
0x1A, // -10dB
0x1D, // -13dB
0x1F, // -15dB
0x22, // -18dB
0x24, // -20dB
0x27, // -23dB
0x29, // -25dB
0x2C, // -28dB
0x7F // mute
};
#endif
#endif
/*** (c) 2005 STMicroelectronics ****************** END OF FILE ***/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -