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

📄 amposd.c

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

#define AMPOSD_PAR
#pragma NOAREGS
#include "general.h"
//#define BBKTUNER_DEBUG
#ifdef BBKTUNER_DEBUG
extern void DRS232LogS(char * pcStr);
extern void DRS232LogB(BYTE bV1, BYTE bV2, BYTE bV3, BYTE bV4);
#endif

#ifdef BBK_RD2_THEATRE
#define TEST_OSD
#ifndef TEST_OSD
/***************************************************************************************
    Function : 
    Description : 
    Parameter : 
    Return    : 
***************************************************************************************/
void vAmpOsdShowVol(BYTE bLevel, BYTE bTime) large
{
	BYTE pbStr[13];
	BYTE i;
	BYTE bTemp;

	if (bLevel > BBK_MAX_MAIN_VOL)
	{
		bLevel = BBK_MAX_MAIN_VOL;
	}

	if (bLevel < 0)
	{
		bLevel = 0;
	}

	#ifdef SUPPORT_OGG
	if(fgIsIsoPlay() && (bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_AVI || bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_OGG || bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_MPG))
	#else
	if(fgIsIsoPlay() && (bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_AVI || bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_MPG))
	#endif
	{
		vOsdPosClear(OSD_POS_REMAIN_MSG);

		pbStr[0] = 2;
		bTemp = bHEXToBCD(bLevel);
		pbStr[1] = BCD_HI(bTemp) + '0';
		pbStr[2] = BCD_LO(bTemp) + '0';
		vOsdPosShowArg(OSD_POS_LAYER2_LINE4, OSD_MSG_ISO_VOLUME_ADJ12, bTime, pbStr);
	}
	else
	{
		bTemp = bHEXToBCD( bLevel); 
		pbStr[11] = BCD_HI(bTemp) + '0';
		pbStr[12] = BCD_LO(bTemp) + '0';
		
		bLevel=(bLevel+1)/2;
		
		pbStr[0] = 10;

		if(0 == bLevel)
		{
			bTemp = 0;
		}
		else
		{
			bTemp = (bLevel - 1) / 2;
		}

		for(i = 0; i < pbStr[0]; i++)
		{
			if(i < bTemp)
			{
				pbStr[i+1] = ICON_VOL_3;
			}
			else if(bLevel > 0 && i == bTemp)
			{
				if(bLevel % 2)															//odd number
				{
					pbStr[i+1] = ICON_VOL_1;
				}
				else																		//even number
				{
					pbStr[i+1] = ICON_VOL_2; 
				}
			}
			else
			{
				pbStr[i+1] = ICON_VOL_0; 
			}
		}
		pbStr[0] = 12;

		vSetMsgCol4(WB_NORMAL_VOL, 0, 1, 6, 5);
		vOsdPosShowArg(OSD_POS_AUD_CTRL, OSD_MSG_VOLUME_ADJ11, bTime, pbStr);
		vSetMsgCol4(WB_NORMAL_VOL, 1, 1, 1, 3);
	}
}

/***************************************************************************************
    Function : 
    Description : 
    Parameter : 
    Return    : 
***************************************************************************************/
void vAmpOsdShowTone(BYTE bLevel, BYTE bTime) large
{
	BYTE pbStr[16];
	BYTE i,j;
	BYTE bTemp;

	if (bLevel > BBK_MAX_TONE_VOL_LEVEL)
	{
		bLevel = BBK_MAX_TONE_VOL_LEVEL;
	}

	if (bLevel < 0)
	{
		bLevel = 0;
	}

	#ifdef SUPPORT_OGG
	if(fgIsIsoPlay() && (bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_AVI || bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_OGG || bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_MPG))
	#else
	if(fgIsIsoPlay() && (bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_AVI || bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_MPG))
	#endif
	{
		vOsdPosClear(OSD_POS_REMAIN_MSG);

		pbStr[0] = 3;
		if(bLevel == 12)
		{
			pbStr[1] = ' ';
			pbStr[2] = '0';
			pbStr[3] = ' ';  	
		}
		else if (bLevel < 12)
		{
			if(bLevel >2) 
			{
				j = bHEXToBCD(12 - bLevel ); 
				pbStr[1] = '_';
				pbStr[2] = BCD_LO(j) + '0';
				pbStr[3] = ' ';
			}
			else if(bLevel == 2) 
			{
				pbStr[1] = '_';
				pbStr[2] = BCD_LO(1) + '0';
				pbStr[3] = '0';
			}
			else if(bLevel == 1) 
			{
				pbStr[1] = '_';
				pbStr[2] = BCD_LO(1) + '0';
				pbStr[3] = '1';
			}	
			else if(bLevel == 0) 
			{
				pbStr[1] = '_';
				pbStr[2] = BCD_LO(1) + '0';
				pbStr[3] = '2';
			}	
		}
		else if (bLevel > 12)
		{
			if(bLevel <22) 
			{
				j = bHEXToBCD(bLevel-12); 
				pbStr[1] = '+';
				pbStr[2] = BCD_LO(j) + '0';
				pbStr[3] = ' ';
			}
			else if(bLevel == 22) 
			{
				pbStr[1] = '+';
				pbStr[2] = BCD_LO(1) + '0';
				pbStr[3] = '0';
			}
			else if(bLevel == 23) 
			{
				pbStr[1] = '+';
				pbStr[2] = BCD_LO(1) + '0';
				pbStr[3] = '1';
			}	
			else if(bLevel == 24) 
			{
				pbStr[1] = '+';
				pbStr[2] = BCD_LO(1) + '0';
				pbStr[3] = '2';
			}	
		}
		switch(_bChMode)
		{
			case CH_MODE_TREBLE:
				vOsdPosShowArg(OSD_POS_LAYER2_LINE4, OSD_MSG_CH_TREBLE_VOL13, bTime, pbStr);
				vVfdShowVOL(CH_MODE_TREBLE,bLevel);
			break;

			case CH_MODE_BASS:
				vOsdPosShowArg(OSD_POS_LAYER2_LINE4, OSD_MSG_CH_BASS_VOL13, bTime, pbStr);
				vVfdShowVOL(CH_MODE_BASS,bLevel);
			break;    	 

			default:
			break;
		}
	}
	else
	{
		pbStr[0] = 15;

		if(0 == bLevel)
		{
			bTemp = 0;
		}
		else
		{
			bTemp = (bLevel - 1) / 2;
		}

		for(i = 0; i < pbStr[0]; i++)
		{
			if(i < bTemp)
			{
				pbStr[i+1] = ICON_VOL_3;
			}
			else if(bLevel > 0 && i == bTemp)
			{
				if(bLevel % 2)															//odd number
				{
					pbStr[i+1] = ICON_VOL_1;
				}
				else																		//even number
				{
					pbStr[i+1] = ICON_VOL_2; 
				}
			}
			else
			{
				pbStr[i+1] = ICON_VOL_0; 
			}
		}

		if(bLevel == 12)
		{
			pbStr[13] = ' ';
			pbStr[14] = '0';
			pbStr[15] = ' ';  	
		}
		else if (bLevel < 12)
		{
			if(bLevel >2) 
			{
				j = bHEXToBCD(12 - bLevel ); 
				pbStr[13] = '_';
				pbStr[14] = BCD_LO(j) + '0';
				pbStr[15] = ' ';
			}
			else if(bLevel == 2) 
			{
				pbStr[13] = '_';
				pbStr[14] = BCD_LO(1) + '0';
				pbStr[15] = '0';
			}
			else if(bLevel == 1) 
			{
				pbStr[13] = '_';
				pbStr[14] = BCD_LO(1) + '0';
				pbStr[15] = '1';
			}	
			else if(bLevel == 0) 
			{
				pbStr[13] = '_';
				pbStr[14] = BCD_LO(1) + '0';
				pbStr[15] = '2';
			}	
		}
		else if (bLevel > 12)
		{
			if(bLevel <22) 
			{
				j = bHEXToBCD(bLevel-12); 
				pbStr[13] = '+';
				pbStr[14] = BCD_LO(j) + '0';
				pbStr[15] = ' ';
			}
			else if(bLevel == 22) 
			{
				pbStr[13] = '+';
				pbStr[14] = BCD_LO(1) + '0';
				pbStr[15] = '0';
			}
			else if(bLevel == 23) 
			{
				pbStr[13] = '+';
				pbStr[14] = BCD_LO(1) + '0';
				pbStr[15] = '1';
			}	
			else if(bLevel == 24) 
			{
				pbStr[13] = '+';
				pbStr[14] = BCD_LO(1) + '0';
				pbStr[15] = '2';
			}	
		}

		vSetMsgCol4(WB_NORMAL_VOL, 0, 1, 6, 5);
		switch(_bChMode)
		{
			case CH_MODE_TREBLE:
				vOsdPosShowArg(OSD_POS_AUD_CTRL, OSD_MSG_CH_TREBLE_VOL11, bTime, pbStr);
				vVfdShowVOL(CH_MODE_TREBLE,bLevel);
			break;

			case CH_MODE_BASS:
				vOsdPosShowArg(OSD_POS_AUD_CTRL, OSD_MSG_CH_BASS_VOL11, bTime, pbStr);
				vVfdShowVOL(CH_MODE_BASS,bLevel);
			break;    	 

			default:
			break;
		}
		vSetMsgCol4(WB_NORMAL_VOL, 0, 1, 1, 3);
	}
}	

/***************************************************************************************
    Function : 
    Description : 
    Parameter : 
    Return    : 
***************************************************************************************/
void vAmpOsdShowBassboost(BYTE bLevel, BYTE bTime) large
{
	BYTE pbStr[16];
	BYTE i,j;
	BYTE bTemp;

	if (bLevel > BBK_MAX_BASSBOOST_LEVEL)
	{
		bLevel = BBK_MAX_BASSBOOST_LEVEL;
	}

	if (bLevel < 0)
	{
		bLevel = 0;
	}

	pbStr[0] = 2;

	j = bHEXToBCD(bLevel); 
	pbStr[1] = ' ';
	pbStr[2] = BCD_LO(j) + '0';
		
	#ifdef SUPPORT_OGG
	if(fgIsIsoPlay() && (bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_AVI || bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_OGG || bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_MPG))
	#else
	if(fgIsIsoPlay() && (bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_AVI || bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_MPG))
	#endif
	{
		vOsdPosClear(OSD_POS_REMAIN_MSG);

		switch(_bChMode)
		{
			case CH_MODE_BASSBOOST:
				vOsdPosShowArg(OSD_POS_LAYER2_LINE4, OSD_MSG_CH_BASS_BOOST13, bTime, pbStr);
				vVfdShowVOL(CH_MODE_BASSBOOST,bLevel);
			break;  	 

			default:
			break;
		}
	}
	else
	{
		vSetMsgCol4(WB_NORMAL_VOL, 0, 1, 6, 5);
		switch(_bChMode)
		{
			case CH_MODE_BASSBOOST:
				vOsdPosShowArg(OSD_POS_AUD_CTRL, OSD_MSG_CH_BASS_BOOST13, bTime, pbStr);
				vVfdShowVOL(CH_MODE_BASSBOOST,bLevel);
			break;

			default:
			break;
		}
		vSetMsgCol4(WB_NORMAL_VOL, 0, 1, 1, 3);
	}
}

/***************************************************************************************
    Function : 
    Description : 
    Parameter : 
    Return    : 
***************************************************************************************/
void vAmpOsdShowBan(BYTE bLevel, BYTE bTime) large
{
	BYTE pbStr[16];
	BYTE i,j;
	BYTE bTemp;

	if (bLevel > 20)
	{
		bLevel = 20;
	}

	if (bLevel < 0)
	{
		bLevel = 0;
	}

	#ifdef SUPPORT_OGG
	if(fgIsIsoPlay() && (bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_AVI || bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_OGG || bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_MPG))
	#else
	if(fgIsIsoPlay() && (bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_AVI || bSharedInfo(SI_ISO_ITEM_TYPE) == SV_ISO_MPG))
	#endif
	{
		vOsdPosClear(OSD_POS_REMAIN_MSG);

		pbStr[0] = 3;
		if(bLevel == 12)
		{
			pbStr[1] = ' ';
			pbStr[2] = '0';
			pbStr[3] = ' ';  	
		}
		else if (bLevel < 12)
		{
			if(bLevel >2) 
			{
				j = bHEXToBCD(12 - bLevel ); 
				pbStr[1] = '_';
				pbStr[2] = BCD_LO(j) + '0';
				pbStr[3] = ' ';
			}
			else if(bLevel == 2) 
			{
				pbStr[1] = '_';
				pbStr[2] = BCD_LO(1) + '0';
				pbStr[3] = '0';
			}
			else if(bLevel == 1) 
			{
				pbStr[1] = '_';
				pbStr[2] = BCD_LO(1) + '0';
				pbStr[3] = '1';
			}	
			else if(bLevel == 0) 
			{
				pbStr[1] = '_';
				pbStr[2] = BCD_LO(1) + '0';
				pbStr[3] = '2';
			}	
		}
		else if (bLevel > 12)
		{
			if(bLevel <22) 
			{
				j = bHEXToBCD(bLevel-12); 
				pbStr[1] = '+';
				pbStr[2] = BCD_LO(j) + '0';
				pbStr[3] = ' ';
			}
			else if(bLevel == 22) 
			{
				pbStr[1] = '+';

⌨️ 快捷键说明

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