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

📄 pt2314.c

📁 关于收音功能代码,并且显示在OSD和VFD上
💻 C
📖 第 1 页 / 共 2 页
字号:
  vI2CStop();
  sFlagI2C.fgBusBusy = 0;
  return(TRUE);
}

#endif
//************************************************************
//Name: void vPT2314VolLRAdj(BYTE bChNo, BYTE bVol) large
//Parameter: bChNo, indedicate which channel will be adjusted  l and r
//          bVol , the db value
//Function : adjust the volume  of the channel selected
//************************************************************
void vPT2314VolLRAdj(BYTE bChNo, BYTE bVol) large
{
  if(bVol > 0x1f)
  	bVol = 0x1f;
  switch(bChNo)
  {
     case LEFT_CHANNEL: //L CHANNEL
     #ifdef YXT_LOST_PATCH
     _rewrite1 = bVol;
     #endif
       vPT2314Write(COMMAND_L_ATTENUATOR | bVol);
       break;
     case RIGHT_CHANNEL:
     #ifdef YXT_LOST_PATCH
     _rewrite2 = bVol;
     #endif
       vPT2314Write(COMMAND_R_ATTENUATOR | bVol);
      	break;
     default:
     	break;
  }
}
//************************************************************
//Name: void vPT2314ToneAdj(BYTE bBand, BYTE bVol) large
//Parameter: bBand, indedicate which band will be adjusted
//          bVol , the db value
//Function : adjust the  tone of the channel selected
//************************************************************
void vPT2314ToneAdj(BYTE bBand, BYTE bVol) large
{
        if(bVol > 0x0f)
        	bVol = 0x0f;
        switch(bBand)
        {
           case BASS_SETTING:   //Bass
           #ifdef YXT_LOST_PATCH
              _rewrite3 = bVol;
           #endif
              vPT2314Write(COMMAND_BASS_CONTROL | bVol);
           	break;
           case TREBLE_SETTING:   //Treble
           #ifdef YXT_LOST_PATCH
           _rewrite4 = bVol;
           #endif
              vPT2314Write(COMMAND_TREBLE_CONTROL | bVol);
           	break;
           default :
           	break;
        }
}
/************************************************************************
     Function : vMainVolCtrltemp
  Description : Main vol control by control PT2314
    Parameter : 
    Return    : 
************************************************************************/
void vMainVolCtrltemp(BYTE main_Vol) large
{

     if(main_Vol > 20)
     	main_Vol = 20;
     #ifdef YXT_LOST_PATCH
          _rewrite5 = main_Vol;
     #endif
     vPT2314Write(COMMAND_VOL_CTRL | _bVolImageTable[main_Vol]);
}
/************************************************************************
     Function : vChanelSelect
  Description : Channel control by control PT2314
    Parameter : 
    Return    : 
************************************************************************/
void vChanelSelect(BYTE bChNo) large
{
    #ifdef YXT_LOST_PATCH
       _rewrite6 = bChNo;
    #endif
     switch(bChNo)
     {
        case CHANNEL_0:             //None
        	#if defined(VS500K)||defined(APH001)||defined(DVD888L)||defined(AV_CENTER)
        	vPT2314Write(COMMAND_AUDIO_SWITCH | CHANNEL_0);
		#else	
        	SetBitBIM(BIM_RIODRH, IOH_DQM2);
        	SetBitBIM(BIM_RIODRH, IOH_DQM3);
        	SetBitBIM(BIM_RIODOH, IOH_DQM2);
        	SetBitBIM(BIM_RIODOH, IOH_DQM3);
        	#endif
        	break;
        case CHANNEL_1:             //TUNER
        	vPT2314Write(COMMAND_AUDIO_SWITCH | CHANNEL_1);
        	break;
        case CHANNEL_2:            //AUXIN 1
        	#if defined(SV1000) || defined(SV600) ||defined(VS550HD)||defined(APH001)||defined(DVD888L)||defined(AV_CENTER)
        	vPT2314Write(COMMAND_AUDIO_SWITCH | CHANNEL_2);
        	#elif defined(VS500K)
        	vPT2314Write(COMMAND_AUDIO_SWITCH | CHANNEL_0);
        	SetBitBIM(BIM_RIODRH, IOH_DQM2);
        	SetBitBIM(BIM_RIODRH, IOH_DQM3);
        	SetBitBIM(BIM_RIODOH, IOH_DQM2);
        	ClrBitBIM(BIM_RIODOH, IOH_DQM3);
        	#endif
        	break;
        case CHANNEL_3://89AR
        	#if defined(SV1000) || defined(SV600) ||defined(VS550HD)||defined(APH001)||defined(DVD888L)||defined(AV_CENTER)
        	vPT2314Write(COMMAND_AUDIO_SWITCH | CHANNEL_3);
        	#elif defined(VS500K)
        	vPT2314Write(COMMAND_AUDIO_SWITCH | CHANNEL_0);
        	SetBitBIM(BIM_RIODRH, IOH_DQM2);
        	SetBitBIM(BIM_RIODRH, IOH_DQM3);
        	ClrBitBIM(BIM_RIODOH, IOH_DQM2);
        	SetBitBIM(BIM_RIODOH, IOH_DQM3);
        	#endif
        	break;
        default:
        	break;
     }
}
/************************************************************************
     Function : vInitPT2314()
  Description : init pt2314 register
    Parameter : 
    Return    : 
************************************************************************/
void vInitPT2314(BYTE bChannel) large
{
     vChanelSelect(bChannel);       //audio switch
     vI2CDelay2us(0xf0);
     
     vPT2314VolLRAdj(LEFT_CHANNEL,0x00);   //L attenu
     vI2CDelay2us(0xf0);     
     
     vPT2314VolLRAdj(RIGHT_CHANNEL,0x00);   //R attenu
     vI2CDelay2us(0xf0);     
     
     vPT2314ToneAdj(BASS_SETTING,0x07);  //Treble
     vI2CDelay2us(0xf0);     
     
     vPT2314ToneAdj(TREBLE_SETTING,0x07);  //Bass
     vI2CDelay2us(0xf0);     
#if !defined(VS500K)
	#if 1//def POWER_AUTO_ADJUST_VOLUME
	//if(!(fgIsInTuner())&&(fgIsInAuxin()))
	{
 		vMainVolCtrltemp(_bMasterVol);  //main vol     20
	}
	//else
	//{
 	//	vMainVolCtrltemp(0);  //main vol     20
	//}
     #else
     vMainVolCtrltemp(20);  //main vol     20
	#endif
#else
     vMainVolCtrltemp(20);  //main vol     30
#endif
     vI2CDelay2us(0xf0);
     
}

/************************************************************************
     Function : vInitPT2314()
  Description : init pt2314 register
    Parameter : 
    Return    : 
************************************************************************/
#ifdef VOLUME_DEFAULT
void bVolumeDefault_Pro(void) large
{
 	//vChanelSelect(CHANNEL_3);       //audio switch
 	vI2CDelay2us(0xf0);
		
    	//_rRightVolume = 0;
 _bMasterVol=20;
 	vPT2314VolLRAdj(LEFT_CHANNEL,0x00);   //L attenu
 	vI2CDelay2us(0xf0);  
		
 	//_rLeftVolume = 0;
 	vPT2314VolLRAdj(RIGHT_CHANNEL,0x00);   //R attenu
 	vI2CDelay2us(0xf0);   
		
	//_rBassVolume = 0;
 	vPT2314ToneAdj(BASS_SETTING,0x0f);  //Treble
 	vI2CDelay2us(0xf0);  
		
	//_rTrebleVolume = 0;
 	vPT2314ToneAdj(TREBLE_SETTING,0x0f);  //Bass
 	vI2CDelay2us(0xf0);   
		
	//_rDvdVolume =AUD_DEFAULT_VOL;
	 #if defined(VS500K)||defined(VS550HD)||defined(APH001)||defined(DVD888L)||defined(AV_CENTER)
	        vMainVolCtrltemp(20);
	 #else
	        //vMainVolCtrltemp(10);
	 fgEepromWriteByte(MAIN_VOLUME_POS, 10);
	 #endif
	vI2CDelay2us(0xf0);
	 
	
	#ifdef AUDIO_BASS_TREBLE_SAVE//tide
		fgEepromWriteByte(Bass_VOL_POSITION, _rBassVolume);
		fgEepromWriteByte(Treble_VOL_POSITION, _rTrebleVolume);
	#endif
	
	#ifdef LR_VOLUME_SAVE//tide
		fgEepromWriteByte(Left_VOL_POSITION, _rLeftVolume);
		fgEepromWriteByte(Right_VOL_POSITION, _rRightVolume);
	#endif
	
	#if defined(MAIN_VOLUME_SAVE)//tide
		fgEepromWriteByte(Main_VOL_POSITION, _rDvdVolume);
	#endif
}
#endif

#ifdef YXT_LOST_PATCH
void vReWritePT2314(void) large
{
     vChanelSelect(_rewrite6);       //audio switch
     
     vPT2314VolLRAdj(LEFT_CHANNEL,_rewrite1);   //L attenu
     
     vPT2314VolLRAdj(RIGHT_CHANNEL,_rewrite2);   //R attenu
     
     vPT2314ToneAdj(BASS_SETTING,_rewrite3);  //Treble
     
     vPT2314ToneAdj(TREBLE_SETTING,_rewrite4);  //Bass

     vMainVolCtrltemp(_rewrite5);  //main vol     20
}
#endif


#endif       //PT2314

⌨️ 快捷键说明

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