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

📄 bbkauxin.~c

📁 关于收音功能代码,并且显示在OSD和VFD上
💻 ~C
字号:
/**************************************************************************************/
/***********************                    BBK CONFIDENTIAL                   ************************/
/***********************                                                                    ************************/
/***********************         Description : Digital Audio Process          ************************/
/***********************                                                                    ************************/
/*********************** Company: BBK AV ELECTRONICS CORP.,LTD ************************/
/***********************                                                                    ************************/
/***********************              Programmer : Terry Lee                  ******** ****************/
/**************************************************************************************/

#define BBKAUXIN_PAR
#pragma NOAREGS
#include "general.h"

extern BOOL fgCOMVolumeDownKey(void) large;
extern BOOL fgCOMMuteKey(void) large;
extern BOOL fgCOMVolumeUpKey(void) large;
extern BYTE bSetMic(WORD wEEPos, BYTE bValue) large;
#if defined(DV997K) || defined(DV979) || defined(DV985) || defined(DVR003)   
sbit  V_MUTE = P3^0;
#endif

//#define BBKTUNER_DEBUG
#ifdef BBKTUNER_DEBUG
extern void DRS232LogS(char * pcStr);
extern void DRS232LogB(BYTE bV1, BYTE bV2, BYTE bV3, BYTE bV4);
#endif
extern void vKaraOkTunerToDvd(void)large;

#ifdef BBK_RD2_OLD_AUXIN
/***************************************************************************************
    Function : 
    Description : 
    Parameter : 
    Return    : 
***************************************************************************************/
void vBBKAuxinInit(void) large
{
	while(bSharedInfo(SI_OSD_CMD_BUF_FULL) == TRUE);

	/*vOsdShowWb(OSD_WB_FULL_SCR);

	vCreateWB(WB_TUNER_MENU, TRUE);

	vSetWBTcColor(WB_TUNER_MENU);

	vSetTcPal(WB_TUNER_MENU, TUNER_MENU_GRAY43, BLEND_2, TUNER_PURE_GRAY);
	vSetTcPal(WB_TUNER_MENU, TUNER_MENU_GRAY42, BLEND_1, TUNER_PURE_GRAY);

	vSetTcPal(WB_TUNER_MENU, TUNER_MENU_RED43, BLEND_2, TUNER_PURE_RED);
	vSetTcPal(WB_TUNER_MENU, TUNER_MENU_RED42, BLEND_1, TUNER_PURE_RED);

	vSetTcPal(WB_TUNER_MENU, TUNER_MENU_WHITE43, BLEND_2, TUNER_WHITE_PERCENT25);
	vSetTcPal(WB_TUNER_MENU, TUNER_MENU_WHITE42, BLEND_2, TUNER_WHITE_PERCENT25);

	vSetTransEn(WB_TUNER_MENU, TUNER_MENU_BG);

	vEnableWB(WB_TUNER_MENU);


	vEnableWB(WB_NORMAL_VOL);*/
}

/***************************************************************************************
    Function : 
    Description : 
    Parameter : 
    Return    : 
***************************************************************************************/
void vBBKAuxinExit(void) large
{
#ifdef  THREESTATE_ADD
if((_bAuxState==AUX_MP3)||(_bAuxState==AUX_TV))
{
	#ifdef RDS_USE_BU1924
	MDisableTimer1();   
	#endif
	SetDvd();
	fgSetPlayPostKey(_bIRKey);
}
else if((_bAuxState==AUX_GENERAL))
{
	ClrKaraOK();
	SetDvd();
	_bUSBDsct = 0;
	_bMCRDsct=0;
	_bDCStChged =1;
	_bDCTimer = 20;
	_bDevType = 1;
	_DCEntry = 1;
	#ifdef SLOT_IN
	_fgDoSlot = 0;
	#endif
     	//ClrBitBIM(BIM_PCTL3, MCOFF);
     //   SetBitBIM(BIM_PCTL3, SOFF4);// 设为高电平会出现断续的声音现象
	// ClrBitBIM(BIM_RIODRH, IOH_SDATA4);
 	//ClrBitBIM(BIM_RIODRH, IOH_MC);
  bSetMic(NULL_POSITION, 1);
	 vPlayerFuncSwitch(PLAYER_FUNC_DVD);
	 	 vSetSharedInfo(SI_TVE_OUT_MODE, SV_TVE_DIRECT);
        vNotifySharedInfo(SI_TVE_OUT_MODE, 0, 0);
}
#else
	ClrKaraOK();
	SetDvd();
	_bUSBDsct = 0;
	_bMCRDsct=0;
	_bDCStChged =1;
	_bDCTimer = 20;
	_bDevType = 1;
	_DCEntry = 1;
	#ifdef SLOT_IN
	_fgDoSlot = 0;
	#endif
	// bSetMic(NULL_POSITION, 1);

	vKaraOkTunerToDvd();

	 vPlayerFuncSwitch(PLAYER_FUNC_DVD);
#endif
	//vVfdDirectClrAll();

	//_bUISrvStatus = PLAYER_SRV_NORMAL;

	//fgSetPlayPostKey(IR_POWER);
	//vSendUopCmd(UOP_POWER, SV_PWR_STANDBY, 0, 0);
	//fgSetPlayPostKey(_bIRKey);
}

/***************************************************************************************
    Function : 
    Description : 
    Parameter : 
    Return    : 
***************************************************************************************/
static BYTE bBBKAuxinSpecKey(void) large
{
	BOOL bRet = 1;//RET_SUCCESS;

	switch(_bIRKey)
	{
		/*This keys are processed in main keyproc!*/
		case IR_POWER: 
			vBBKAuxinExit();
		break;
		
		#ifdef TIME_SLEEP_FUCTION
		case IR_AMP_SLEEP:
			fgAmpSetSleepKey();
		break;
		#endif
		case IR_AMP_FUN_RADIO:
			fgCOMTunerKey();
		break;
		case IR_AMP_FUN_DVD:
			vBBKDvdEnter();
		break;
		case IR_AMP_FUN:
			_bIRKey=IR_AMP_FUN_DVD;
		//case IR_AMP_FUN_DVD:
		case IR_AMP_FUN_OPTICAL:
		case IR_AMP_FUN_COAXIAL:
		//	_bAuxState=AUX_GENERAL;
		case IR_AMP_FUN_AUX:
	//	case IR_AMP_FUN_RADIO:
		case IR_FUNCTION:
		case IR_CAPTURE:
			vBBKAuxinExit();
		break;
		
		/*case IR_AMP_FUN_RADIO:
			fgCOMTunerKey();
		break;

		case IR_AMP_FUN_MMUI:
			fgAmpFunUsbKey();
		break;*/

		case IR_AMP_CHANNEL_LEFT:
			fgAmpChannelLeftKey();
		break;

		case IR_AMP_CHANNEL_RIGHT:
			fgAmpChannelRightKey();
		break;

		#ifdef USE_JOG_DIAL
		case IR_AMP_DIAL_DN:
		#endif
		case IR_AMP_CHANNEL_UP:
			fgAmpChannelUpKey();
		break;

		#ifdef USE_JOG_DIAL
		case IR_AMP_DIAL_UP:
		#endif
		case IR_AMP_CHANNEL_DN:
			fgAmpChannelDnKey();
		break;

		case IR_AMP_BASS_UP:
			fgAmpBassUpKey();
		break;

		case IR_AMP_BASS_DN:
			fgAmpBassDnKey();
		break;

		case IR_AMP_TREBLE_UP:
			fgAmpTrebleUpKey();
		break;

		case IR_AMP_TRENLE_DN:
			fgAmpTrebleDnKey();
		break;

		case IR_AMP_BASS_BOOST:
			fgAmpBassBoostKey();
		break;

		case IR_AMP_MUTE:
			fgNonDvdCOMMuteKey();
		break;

	case IR_VOLUME_UP:
    	//bSetMic(NULL_POSITION, 1);
      fgCOMVolumeUpKey();
      break;

    case IR_VOLUME_DOWN:
    fgCOMVolumeDownKey();
        // bSetMic(NULL_POSITION, 0);
      break;

  case IR_MUTE:
       fgNonDvdMuteKey();
      break;
	
		default:
		bRet = 0;//RET_FAILURE;
		break;
	}

	return(bRet);
}

/***************************************************************************************
    Function : 
    Description : 
    Parameter : 
    Return    : 
***************************************************************************************/
static void vBBKAuxinModeKey(void) large
{
	switch(_eTunerMode)
	{
	case TUNER_MODE_INIT:
		_bIRKey = IR_NONE;
	break;

	case TUNER_MODE_NORMAL:
	default:
	break;
	}
}

/***************************************************************************************
    Function : 
    Description : 
    Parameter : 
    Return    : 
***************************************************************************************/
void vBBKAuxinRecover(void) large
{
	vBBKAuxinInit();
}

/***************************************************************************************
    Function : 
    Description : 
    Parameter : 
    Return    : 
***************************************************************************************/
BOOL fgBBKAuxinKeyProc(void) large
{
	BOOL fgRet = UOP_OK;
	BYTE bRet;

	if(TUNER_MODE_INIT == _eTunerMode)
	{
		return(fgRet);
	}

	vBBKAuxinModeKey();

	bRet = bBBKAuxinSpecKey();

	return(fgRet);
}

/***************************************************************************************
    Function : 
    Description : 
    Parameter : 
    Return    : 
***************************************************************************************/
static void vAuxinNormalMode(void) large
{
	if (_bChCount == 0)
	{				
		_bChMode = CH_MODE_NONE;
		vVfdClearAll();
		    // ClrBitBIM(BIM_PCTL3, SOFF4);
// WriteBIM(BIM_PCTL4, LINE_IN_ASDATA4);    // set spdif/line-in same pin
//  SetBitBIM(BIM_PCTL3, SOFF4);
//ClrBitBIM(BIM_RIODRH, IOH_SDATA4);
//SetBitBIM(BIM_RIODOH, SOFF4);
#ifdef BBKTUNER_DEBUG
 DRS232LogB(bSharedInfo(SI_SPTM_DATA_ST), bSharedInfo(SI_SPTM_DATA_ST2), bSharedInfo(SI_SPTM_DATA_ST3), 0);
#endif
	#ifdef  THREESTATE_ADD
			switch(_bAuxState)
				{
				case  AUX_MP3:
					vVfdMessage(VFD_MESSAGE_AUXIN1);
				break;
				case  AUX_TV:
					vVfdMessage(VFD_MESSAGE_AUXIN2);
				break;
				case  AUX_GENERAL:
					vVfdMessage(VFD_MESSAGE_AUXIN3);
				break;
				default:
					vVfdMessage(VFD_MESSAGE_AUXIN1);
				break;
				
				}
	
	#endif
	}
}

/***************************************************************************************
    Function : 
    Description : 
    Parameter : 
    Return    : 
***************************************************************************************/
static void vAuxinInitMode(void) large
{
	BYTE bData;

	switch(_eTunerInitStep)
	{
		case TUNER_INIT_STEP1:
V_MUTE=1;
#if defined(BBK_RD2_THEATRE)
	_bEcoderKeyBuf = 0;
	_bMasterVol=10;	
SetDapReset();
#endif
#ifdef BBKTUNER_DEBUG
 DRS232LogB(0, 0, 0, 1);
#endif

			//SetDapMute();
			vTunerMute(TRUE);
			
			//vAdspMute(ADSP_ON, 0); // do soft mute ASAP  
			_rAudioCtrl.sVol.fgIsMute = FALSE;

			//vSendUopCmd(UOP_STOP, 0, 0, SV_STOP_FORCE);	

			//vPlayerReset(); 

			//_bUISrvStatus = PLAYER_SRV_STOP;

			//vSendUopCmd(UOP_POWER, SV_PWR_IDLE_STOP, 0, 0);
			//vPlayerShowLogo(DVD_STOP_LOGO, DVD_LOGO_COLOR);

			_bVfdTimer=0;
			vVfdClearAll();
	#ifdef  THREESTATE_ADD
			switch(_bAuxState)
				{
				case  AUX_MP3:
					vVfdMessage(VFD_MESSAGE_AUXIN1);
				break;
				case  AUX_TV:
					vVfdMessage(VFD_MESSAGE_AUXIN2);
				break;
				case  AUX_GENERAL:
					vVfdMessage(VFD_MESSAGE_AUXIN3);
				break;
				default:
					vVfdMessage(VFD_MESSAGE_AUXIN1);
				break;
				
				}
	#endif
			_bTunerTimer = 2;
			_eTunerInitStep = TUNER_INIT_STEP2;
		break;

		case TUNER_INIT_STEP2:
			if(_bTunerTimer)
			{
				_bTunerTimer --;
				break;
			}
#if defined(BBK_RD2_THEATRE)
ClrDapReset();
#endif

			vBBKAuxinInit();

			_bTunerTimer = 2;
			_eTunerInitStep = TUNER_INIT_STEP3;
		break;

		case TUNER_INIT_STEP3:
			if(_bTunerTimer)
			{
				_bTunerTimer --;
				break;
			}
			SetKaraOK();
	#ifdef  TEMP_CLOSE0426
			switch(_bAuxState)
				{
				case  AUX_MP3:
			ClrCD4052A();
			ClrCD4052B();
				break;
				case  AUX_TV:
			ClrCD4052A();
			SetCD4052B();
				break;
				case  AUX_GENERAL:
			SetCD4052A();
			ClrCD4052B();
				break;
				default:
			ClrCD4052A();
			ClrCD4052B();
				break;
				
				}
	
	#endif

			//ClrCD4052A();
			//ClrCD4052B();
			//vDapAuxInit(TRUE);
			SetDapMute();// avtive low
			vTunerMute(FALSE);
V_MUTE=0;


			_bTunerTimer = 2;
			_eTunerInitStep = TUNER_INIT_STEP4;
		break;

		case TUNER_INIT_STEP4:
			if(_bTunerTimer)
			{
				_bTunerTimer --;
				break;
			}
     //   bSetMic(NULL_POSITION, 0);

			_bTunerTimer = 2;
			_eTunerInitStep = TUNER_INIT_FINISH;
		break;

		case TUNER_INIT_FINISH:
			if(_bTunerTimer)
			{
				_bTunerTimer --;
				break;
			}

			_eTunerInitStep = TUNER_INIT_NONE;			
			_eTunerMode = TUNER_MODE_NORMAL;
		break;

		default:
			vBBKAuxinExit();
		break;
	}
}

/***************************************************************************************
    Function : 
    Description : 
    Parameter : 
    Return    : 
***************************************************************************************/
void vBBKAuxinTime(void) large
{
	switch(_eTunerMode)
	{
		case TUNER_MODE_INIT:
			vAuxinInitMode();
		break;

		case TUNER_MODE_NORMAL:
		if(_bPlayerMute==TRUE)
			vVfdMessage(VFD_MESSAGE_MUTE);
		else
			vAuxinNormalMode();
		break;

		break;

		default:
		break;
	}
}

/***************************************************************************************
    Function : 
    Description : 
    Parameter : 
    Return    : 
***************************************************************************************/
void vBBKAuxinEnter(void) large
{
	SetAuxin();
#ifdef BBKTUNER_DEBUG
 DRS232LogB(0, 0, 0, 2);
#endif

	//_bTnrKeyCnt = BBKTUNER_NONE;

	_eTunerInitStep = TUNER_INIT_STEP1;
	_eTunerMode = TUNER_MODE_INIT;
	//_bAuxState=AUX_MP3;
}
#endif

⌨️ 快捷键说明

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