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

📄 ampkey.~c

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

#define AMPKEY_PAR
#pragma NOAREGS
#include "general.h"
#include "setupmn\stpadsp.h"
extern BOOL fgCOMVolumeDownKey(void) large;
extern BOOL fgCOMMuteKey(void) large;
extern BOOL fgCOMVolumeUpKey(void) large;
//#define BBKTUNER_DEBUG
#ifdef BBKTUNER_DEBUG
extern void DRS232LogS(char * pcStr);
extern void DRS232LogB(BYTE bV1, BYTE bV2, BYTE bV3, BYTE bV4);
#endif
//#define TESTSPTUM_DEBUG
#ifdef TESTSPTUM_DEBUG
extern void DRS232LogS(char * pcStr);
extern void DRS232LogB(BYTE bV1, BYTE bV2, BYTE bV3, BYTE bV4);
#endif
extern  BYTE bVfdRead(void) large;
extern void vI2CDelay2us(BYTE bValue) large;
extern void vKeyReadVol(BYTE bTmp)large;
//sbit          STROBE_PIN     =  P1^5;

#ifdef BBK_RD2_THEATRE
/***************************************************************************************
    Function : 
    Description : 
    Parameter : 
    Return    : 
***************************************************************************************/
BOOL fgAmpFunDvdKey(void) large
{
	_bIRKey = IR_NONE;
	return (UOP_OK);
}

/***************************************************************************************
    Function : 
    Description : 
    Parameter : 
    Return    : 
***************************************************************************************/
BOOL fgAmpFunAudioKey(void) large
{
	vBBKAuxinEnter();
	
	_bIRKey = IR_NONE;
	return (UOP_OK);
}

/***************************************************************************************
    Function : 
    Description : 
    Parameter : 
    Return    : 
***************************************************************************************/
BOOL fgAmpFunRadioKey(void) large
{
	_bIRKey = IR_NONE;
	return (UOP_OK);
}

BOOL fgCOMTunerKey(void) large
{
	#ifdef RDS_USE_BU1924
	MDisableTimer1();   
	#endif

	vBBKTunerEnter();

	_bIRKey = IR_NONE;
	return (UOP_OK);
}

/***************************************************************************************
    Function : 
    Description : 
    Parameter : 
    Return    : 
***************************************************************************************/
BOOL fgAmpFunUsbKey(void) large
{
	_bIRKey = IR_NONE;
	return (UOP_OK);
}

/***************************************************************************************
    Function : 
    Description : 
    Parameter : 
    Return    : 
***************************************************************************************/
BOOL fgAmpComMuteKey(void) large
{
	if (fgIsMute())
	{
		vAdspMute(ADSP_OFF, 0);
		   	SetDapMute();

		vOsdShowMute(OSD_MUTE_OFF);
	}
	else
	{
		vAdspMute(ADSP_ON, 0);
   	ClrDapMute();
		vOsdShowMute(OSD_MUTE_ON);	
	}
	
	_bIRKey = IR_NONE;
	return (UOP_OK);
}

/***************************************************************************************
    Function : 
    Description : 
    Parameter : 
    Return    : 
***************************************************************************************/
BOOL fgAmpResetKey(void) large
{
  WORD wPos;
#ifdef PLAYER_FLMENU
  BOOL fgFlMenuOn = fgFlCheckStatus(FL_STATUS_IN_MENU);
#endif
if(fgIsInSetupMenu())
{
	_bIRKey = IR_NONE;
	return (UOP_OK);
}
if(bSharedInfo(SI_PBC_STATE) != SV_STOP)
{
      vOsdShowError(SV_ERR_INVALID_OPERATION, OSD_TIMEOUT_SHORT);
      return (UOP_OK);

}
else
{
  {
    wPos = OSD_POS_AUD_CTRL;
  }
#ifdef PLAYER_FLMENU
      if (fgFlMenuOn)
      {
        vFlIpShowInfo(IP_INFO_VOLUME, bAdspCurrVol(), FLIP_VOLUME_MUTE_OFF | FLIP_VOLUME_REDRAW);
        vOsdCoreSetAudioStatus(OSD_AUDIO_SHOW_CLEAR, 0); //DENGSU  0825 for osd "mute" error in file browse mode.
      }
      else  
#endif
      {
      #if 0//def MPEG4_TXT_SP //Vincent @04-04-04
      #ifdef SUPPORT_OGG
        if(fgIsIsoPlay() && (bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_AVI || bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_OGG))
       #else
        if(fgIsIsoPlay() && bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_AVI)
       #endif 
        //wPos = OSD_POS_LAYER2_LINE4;
        wPos = OSD_POS_KSCORE;
      #endif      
        vOsdPosShow(wPos, OSD_MSG_LOAD_FACTORY, OSD_TIMEOUT);
        vOsdCoreSetAudioStatus(OSD_AUDIO_SHOW_CLEAR, 0);
}
}
	//bResetDefault(0,0);	
bResetDefaultKey(0,0);
	_bIRKey = IR_NONE;
	return (UOP_OK);
}

/***************************************************************************************
    Function : 
    Description : 
    Parameter : 
    Return    : 
***************************************************************************************/
BOOL bComMicVolumeDnKey(void)  large
{
  BYTE bTmp,i;
  char  cPos, cLevel;
BYTE  pbStr[16];
  BOOL  fgPlus;

  bTmp = bEepromReadByte(MIC_VOL1_POS);
 // if ((bTmp > 0xf9)&&
  if (((bTmp <=7)&&(bTmp >=0))||((bTmp >0xf9)&&(bTmp<=0xff)))
  {
  if(bTmp==0)	bTmp=0xff;
  else
     bTmp--;
     fgEepromWriteByte(MIC_VOL1_POS,(char)(bTmp));
  }   
      vAdspMicVol(AUD_MIC_VOL_1, bEepromReadByte(MIC_VOL1_POS) + 7);

      cPos = 7;  //MAX_BRIGHTNESS;
      cLevel = (char)(bTmp);
#ifdef TESTSPTUM_DEBUG
 DRS232LogB(cPos, cLevel, bEepromReadByte(MIC_VOL1_POS), 3);
#endif
      cPos = (char)((WORD)(cLevel+cPos)*10/cPos);
#ifdef TESTSPTUM_DEBUG
 DRS232LogB(cPos, cLevel, bEepromReadByte(MIC_VOL1_POS), 4);
#endif
        cLevel += 7;//offset value.


      //  cLevel = bEepromReadByte(MIC_VOL1_POS) + 7;//offset value.
    //    cPos = (char)((WORD)(cLevel+cPos-7)*10/7);

      pbStr[0] = 14;

      fgPlus = TRUE;
      if (cLevel == 0)
      {
        pbStr[12] = ' ';
//bywhy 2003/07/05
#ifdef BBK_NEW_MENU
        pbStr[13] = '0';
        pbStr[14] = ' ';//leguo mod for long-osd
#else
        pbStr[13] = ' ';
        pbStr[14] = '0';
#endif
      }
      else if ((char)cLevel < 0)
      {
        fgPlus = FALSE;
        cLevel = - cLevel;
      }

      if ((cLevel < 10) && (cLevel != 0))
      {
        pbStr[12] = ' ';
        pbStr[13] = fgPlus ? '+' : '-' ;
        pbStr[14] = cLevel + '0';
      }
      else if (cLevel != 0)
      {
        cLevel = bHEXToBCD(cLevel);
        pbStr[12] = fgPlus ? '+' : '-' ;
        pbStr[13] = BCD_HI(cLevel) + '0';
        pbStr[14] = BCD_LO(cLevel) + '0';
      }

      for(i=0; i<cPos/2; i++)
        pbStr[i+1] = ICON_VOL_1;//6;

      if (cPos%2)
      {
        pbStr[i+1] = ICON_VOL_2;//7;
        i ++;
      }
      for(; i<10; i++) 
      {
        pbStr[i+1] = ICON_VOL_0;//5;
      }
      pbStr[11] = ' ';//ICON_VOL_2 + 3; //[runma] add line.

#if 0//def PLAYER_FLMENU
  if (fgFlCheckStatus(FL_STATUS_IN_MENU))
  {
    if (fgFromMute)
      vFlIpShowInfo(IP_INFO_VOLUME, bVal, FLIP_VOLUME_REDRAW);
    else
      vFlIpShowInfo(IP_INFO_VOLUME, bVal, FLIP_VOLUME_DOWN);
  }
  else
#endif /* PLAYER_FLMENU */
  {
 //   vOsdShowVol(bVal, OSD_TIMEOUT);
    vOsdPosShowArg(OSD_POS_AUD_CTRL, OSD_MSG_MIC_VOL_1_V, OSD_TIMEOUT, pbStr);
  }

  vOsdCoreSetAudioStatus(OSD_AUDIO_SHOW_CLEAR, 0);



  _bIRKey = IR_NONE;
  return (UOP_OK);
} 

/***************************************************************************************
    Function : 
    Description : 
    Parameter : 
    Return    : 
***************************************************************************************/
BOOL bComMicVolumeUpKey(void)  large
{
  BYTE bTmp,i;
  char  cPos, cLevel;
BYTE  pbStr[16];
  BOOL  fgPlus;

  bTmp = bEepromReadByte(MIC_VOL1_POS);
  if (((bTmp < 7)&&(bTmp >=0))||((bTmp >=0xf9)&&(bTmp<0xff)))
  {
     bTmp++;
	 if(bTmp==0xff)	bTmp=0;
     fgEepromWriteByte(MIC_VOL1_POS,(char)(bTmp));
  }   
      vAdspMicVol(AUD_MIC_VOL_1, bEepromReadByte(MIC_VOL1_POS) + 7);

      cPos = 7;  //MAX_BRIGHTNESS;
      cLevel = (char)(bTmp);
#ifdef TESTSPTUM_DEBUG
 DRS232LogB(cPos, cLevel, bEepromReadByte(MIC_VOL1_POS), 5);
#endif
      cPos = (char)((WORD)(cLevel+cPos)*10/cPos);
#ifdef TESTSPTUM_DEBUG
 DRS232LogB(cPos, cLevel, bEepromReadByte(MIC_VOL1_POS), 6);
#endif
        cLevel += 7;//offset value.

      pbStr[0] = 14;

      fgPlus = TRUE;
      if (cLevel == 0)
      {
        pbStr[12] = ' ';
//bywhy 2003/07/05
#ifdef BBK_NEW_MENU
        pbStr[13] = '0';
        pbStr[14] = ' ';//leguo mod for long-osd
#else
        pbStr[13] = ' ';
        pbStr[14] = '0';
#endif
      }
      else if ((char)cLevel < 0)
      {
        fgPlus = FALSE;
        cLevel = - cLevel;
      }

      if ((cLevel < 10) && (cLevel != 0))
      {
        pbStr[12] = ' ';
        pbStr[13] = fgPlus ? '+' : '-' ;
        pbStr[14] = cLevel + '0';
      }
      else if (cLevel != 0)
      {
        cLevel = bHEXToBCD(cLevel);
        pbStr[12] = fgPlus ? '+' : '-' ;
        pbStr[13] = BCD_HI(cLevel) + '0';
        pbStr[14] = BCD_LO(cLevel) + '0';
      }

      for(i=0; i<cPos/2; i++)
        pbStr[i+1] = ICON_VOL_1;//6;

      if (cPos%2)
      {
        pbStr[i+1] = ICON_VOL_2;//7;
        i ++;
      }
      for(; i<10; i++) 
      {
        pbStr[i+1] = ICON_VOL_0;//5;
      }
      pbStr[11] = ' ';//ICON_VOL_2 + 3; //[runma] add line.

#if 0//def PLAYER_FLMENU
  if (fgFlCheckStatus(FL_STATUS_IN_MENU))
  {
    if (fgFromMute)
      vFlIpShowInfo(IP_INFO_VOLUME, bVal, FLIP_VOLUME_REDRAW);
    else
      vFlIpShowInfo(IP_INFO_VOLUME, bVal, FLIP_VOLUME_DOWN);
  }
  else
#endif /* PLAYER_FLMENU */
  {
 //   vOsdShowVol(bVal, OSD_TIMEOUT);
    vOsdPosShowArg(OSD_POS_AUD_CTRL, OSD_MSG_MIC_VOL_1_V, OSD_TIMEOUT, pbStr);
  }

  vOsdCoreSetAudioStatus(OSD_AUDIO_SHOW_CLEAR, 0);



  _bIRKey = IR_NONE;
  return (UOP_OK);
} 

/***************************************************************************************
    Function : 
    Description : 
    Parameter : 
    Return    : 
***************************************************************************************/
BOOL fgNonDvdCOMMuteKey(void) large
{
	if (fgIsMute())
	{
		_rAudioCtrl.sVol.fgIsMute = FALSE;
		vOsdShowMute(OSD_MUTE_OFF);
	}
	else
	{
		_rAudioCtrl.sVol.fgIsMute = TRUE;
		vOsdShowMute(OSD_MUTE_ON);
	}
	
	_bIRKey = IR_NONE;
	return (UOP_OK);
}

/***************************************************************************************
    Function : 
    Description : 
    Parameter : 
    Return    : 
***************************************************************************************/
#ifdef PLAYER_POWERDOWN
#include "..\..\..\common\dsp\dspshm.h"
#include "..\..\..\common\dsp\dsp_uop.h"
#endif
#ifdef SCART_NEW_SELECTION
#include  "..\..\procdef.h"
#include  "..\..\VARDEF.h"
#endif
#ifdef POWER_DOWN_NOT_TRAY_IN  //dengsu add 2004/02/23
extern BOOL fgInitPowerDown;
#endif
#ifdef AUDIO_IN_EN
extern void vAinChSel(BYTE bCh) large;
#endif

BOOL fgAmpComPowerKey(void) large
{
	#ifdef AUDIO_IN_EN
	vAinChSel(AIN_SEL_OFF);
	#endif

	#ifdef PLAYER_POWERDOWN
	_rAudioCtrl.sFlag.fgSpdifOn = FALSE;
	vWriteDspSharedBInfo(B_IEC_MUTE, ADSP_ON);
	vNotifyDspSharedInfo(UOP_DSP_CONFIG_MICROPHONE_IEC);

	vAdspMute(ADSP_ON, 0);

	#ifdef SCART_NEW_SELECTION
	vTvScartAspect(1);
	#endif
	
	/* update VFD immediately */
	vVfdDirectClrAll();

	/* stop UI task */
	vUIStop();

	/* this will make RISC to stop running */
	#ifdef POWER_DOWN_NOT_TRAY_IN
	fgInitPowerDown = TRUE;
	#endif
	vSendUopCmd(UOP_POWER, SV_PWR_STANDBY, 0, 0);
	#endif /* PLAYER_POWERDOWN */

	_bIRKey = IR_NONE;
	return (UOP_OK);
}

/***************************************************************************************
    Function : 
    Description : 
    Parameter : 
    Return    : 
***************************************************************************************/
BOOL fgAmpCOMVolumeUpKey(void) large
{
	BYTE bByte;
	
	#ifdef MUTE_NO_VOL_KEY
	if (fgIsMute())
	{
		return (UOP_FAIL);
	}
	#endif

	if(_bChMode == CH_MODE_NM_VOL)
	{
		for (bByte=0;bByte < (_bEcoderKeyBuf + 1 );bByte++)
		{
			_bMasterVol = _bMasterVol + 1;   
		}
		if (_bMasterVol > BBK_MAX_MAIN_VOL) _bMasterVol = BBK_MAX_MAIN_VOL;
	}
	_bEcoderKeyBuf = 0;

	_bChMode = CH_MODE_NM_VOL;

	#ifdef PLAYER_FLMENU
	if (fgFlCheckStatus(FL_STATUS_IN_MENU))
	{
		vFlIpShowInfo(IP_INFO_VOLUME, _bMasterVol, FLIP_VOLUME_REDRAW);
	}
	#endif /* PLAYER_FLMENU */

	_fgVolCtrl = TRUE;

	_bIRKey = IR_NONE;
	return (UOP_OK);
}

/***************************************************************************************
    Function : 
    Description : 
    Parameter : 
    Return    : 
***************************************************************************************/
 BOOL fgAmpCOMVolumeDownKey(void) large
{
	BYTE bByte;
	
	#ifdef MUTE_NO_VOL_KEY
	if (fgIsMute())
	{
		return (UOP_FAIL);
	}
	#endif

	if(_bChMode == CH_MODE_NM_VOL)
	{
		for (bByte=0;bByte < (_bEcoderKeyBuf + 1 ) && _bMasterVol >0;bByte++)
		{
			_bMasterVol = _bMasterVol - 1;   
		}
	}
	_bEcoderKeyBuf = 0;

	_bChMode = CH_MODE_NM_VOL;

	#ifdef PLAYER_FLMENU
	if (fgFlCheckStatus(FL_STATUS_IN_MENU))
	{
		vFlIpShowInfo(IP_INFO_VOLUME, _bMasterVol, FLIP_VOLUME_REDRAW);
	}
	#endif /* PLAYER_FLMENU */

	_fgVolCtrl = TRUE;

	_bIRKey = IR_NONE;
	return (UOP_OK);
}

/***************************************************************************************
    Function : 
    Description : 
    Parameter : 
    Return    : 

⌨️ 快捷键说明

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