📄 ampkey.~c
字号:
/**************************************************************************************/
/*********************** 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 + -