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

📄 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"

#ifdef BBK_RD2_NEW_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
{
	vDeleteWB(WB_TUNER_MENU);
	vDeleteWB(WB_NORMAL_VOL);

	SetDvd();

	vVfdDirectClrAll();

	_bUISrvStatus = PLAYER_SRV_NORMAL;

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

/***************************************************************************************
    Function : 
    Description : 
    Parameter : 
    Return    : 
***************************************************************************************/
static BYTE bBBKAuxinSpecKey(void) large
{
	BOOL bRet = 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:
		case IR_AMP_FUN_DVD:
			vBBKAuxinExit();
		break;
		
		case IR_AMP_FUN_RADIO:
			fgCOMTunerKey();
		break;

		case IR_AMP_FUN_USB:
			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;
		
		default:
		bRet = 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();
		vVfdMessage(VFD_MESSAGE_AUXIN);
	}
}

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

	switch(_eTunerInitStep)
	{
		case TUNER_INIT_STEP1:
			SetDapMute();
			
			vOsdPosClear(OSD_POS_AUD_CTRL);
			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(TUNER_LOGO, TUNER_LOGO_COLOR);

			vVfdClearAll();

			_bTunerTimer = 2;
			_eTunerInitStep = TUNER_INIT_STEP2;
		break;

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

			vBBKAuxinInit();

			_eTunerState = TUNER_STATE_MENU;
			_eTunerBrwState = TUNER_BRW_STATE_NONE;
			_eTunerSearchState = TUNER_SEARCH_NONE;
			_eTunerVfdDis = TUNER_VFD_DISPLAY_NONE;
			_bTnrSearchTime = 0;

			_bTunerTimer = 2;
			_eTunerInitStep = TUNER_INIT_STEP3;
		break;

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

			ClrCD4052A();
			SetCD4052B();
			vDapAuxInit();
			ClrDapMute();
			
			_bTunerTimer = 2;
			_eTunerInitStep = TUNER_INIT_STEP4;
		break;

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

			_bTunerTimer = 2;
			_eTunerInitStep = TUNER_INIT_FINISH;
		break;

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

			_eTunerInitStep = TUNER_INIT_NONE;
			_eTunerVfdDis = TUNER_VFD_DISPLAY_FREQ;

			/*we set the next two varial, let 'vBBKTunerTime' to load stations' frequency to _wStationFreq[20]*/
			_eTunerMode = TUNER_MODE_NORMAL;
			_bTnrStationCnt = 0;
			_bTnrSearchTime = LOAD_FREQ_WAIT_TIME;
		break;

		default:
			vBBKAuxinExit();
		break;
	}
}

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

		case TUNER_MODE_NORMAL:
			vAuxinNormalMode();
		break;

		break;

		default:
		break;
	}
}

/***************************************************************************************
    Function : 
    Description : 
    Parameter : 
    Return    : 
***************************************************************************************/
void vBBKAuxinEnter(void) large
{
	SetAuxin();

	_bTnrKeyCnt = BBKTUNER_NONE;

	_eTunerInitStep = TUNER_INIT_STEP1;
	_eTunerMode = TUNER_MODE_INIT;
}
#endif

⌨️ 快捷键说明

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