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

📄 ch_table.c

📁 PHILIPS1316 tuner 驱动软件用于PHILIPS TDM1316 DVB-T tuner。经过实际测试。
💻 C
字号:
/**************************************************************************

        (C)Copyright Cheertek Inc. 2002-2004,
           D700, all right reserved.

        Product : STB Firmware

****************************************************************************/


static bool8 TunerGet_UHF_ChInfo(u8 u8Channel, u32 *pu32FreqKHz, u8 *pu8BWMHz)
{
	*pu32FreqKHz=0;
	*pu8BWMHz=0;
	enCountry=DVB_GetSystemCountry();
	switch(enCountry)
	{
/*	case EN_SYS_COUNTRY_JAPAN:
		if ( u8Channel>=13 && u8Channel<=62 )
		{
			*pu32FreqKHz=473000+ ((u32)(u8Channel-14))*6000;
			*pu8BWMHz=6;
		}
		break;
*/
	case EN_SYS_COUNTRY_TAIWAN:
	case EN_SYS_COUNTRY_AMERICA:
		if ( u8Channel>=14 && u8Channel<=83 )
		{
			*pu32FreqKHz=473000+ ((u32)(u8Channel-14))*6000;
			*pu8BWMHz=6;
		}
		break;
	case EN_SYS_COUNTRY_AUSTRALIA:
		if ( u8Channel>=27 && u8Channel<=69 )
		{
			*pu32FreqKHz=522500+ ((u32)(u8Channel-27))*7000;
			*pu8BWMHz=7;
		}
		break;
	case EN_SYS_COUNTRY_CHINA:
		if ( u8Channel>=13 && u8Channel<=24 )
		{
			*pu32FreqKHz=474000+ ((u32)(u8Channel-13))*8000;
			*pu8BWMHz=8;
		}else if ( u8Channel>=25 && u8Channel<=57 )
		{
			*pu32FreqKHz=610000+ ((u32)(u8Channel-25))*8000;
			*pu8BWMHz=8;
		}else if ( u8Channel>=58 && u8Channel<=68 )
		{
			*pu32FreqKHz=874000+ ((u32)(u8Channel-58))*8000;
			*pu8BWMHz=8;
		}
		break;
	case EN_SYS_COUNTRY_ENGLAND:
	case EN_SYS_COUNTRY_GERMANY:
	case EN_SYS_COUNTRY_FRANCE:
	case EN_SYS_COUNTRY_PORTUGAL:
	case EN_SYS_COUNTRY_SPAIN:
	case EN_SYS_COUNTRY_ITALY:
	case EN_SYS_COUNTRY_HOLLAND:
		if ( u8Channel>=21 && u8Channel<=69 )
		{
			*pu32FreqKHz=474000+ ((u32)(u8Channel-21)) *8000;
			*pu8BWMHz=8;
		}
		break;
	default:
		return FALSE;
	}
//	printf("DVB_TunerGetChFrequency() %d %d %ld\n", (int)u8Channel, (int)enCountry, *pu32FreqKHz);

	if ( *pu8BWMHz== 0 )
		return FALSE;
 	return TRUE;
}

static bool8 TunerGet_VHFHi_ChInfo(u8 u8Channel, u32 *pu32FreqKHz, u8 *pu8BWMHz)
{
	*pu32FreqKHz=0;
	*pu8BWMHz=0;
	enCountry=DVB_GetSystemCountry();
	switch(enCountry)
	{
/*	case EN_SYS_COUNTRY_JAPAN:
		if ( u8Channel>=4 && u8Channel<=12 )
		{
			*pu32FreqKHz=173000+ ((u32)(u8Channel-4))*6000;
			*pu8BWMHz=6;
		}
		break;
*/
	case EN_SYS_COUNTRY_TAIWAN:
	case EN_SYS_COUNTRY_AMERICA:
		if ( u8Channel>=7 && u8Channel<=13 )
		{
			*pu32FreqKHz=177000+ ((u32)(u8Channel-7))*6000;
			*pu8BWMHz=6;
		}
		break;
	case EN_SYS_COUNTRY_AUSTRALIA:
		if ( u8Channel>=6 && u8Channel<=13 )
		{
			*pu32FreqKHz=177500+ ((u32)(u8Channel-6))*7000;
			*pu8BWMHz=7;
		}
		break;
	case EN_SYS_COUNTRY_CHINA:
		if ( u8Channel>=6 && u8Channel<=12 )
		{
			*pu32FreqKHz=171000+ ((u32)(u8Channel-6))*8000;
			*pu8BWMHz=8;
		}
		break;
	case EN_SYS_COUNTRY_GERMANY:
	case EN_SYS_COUNTRY_FRANCE:
	case EN_SYS_COUNTRY_PORTUGAL:
	case EN_SYS_COUNTRY_SPAIN:
	case EN_SYS_COUNTRY_HOLLAND:
		/* CCIR */
		if ( u8Channel>=5 && u8Channel<=12 )
		{
			*pu32FreqKHz=177500+ ((u32)(u8Channel-5)) *7000;
			*pu8BWMHz=7;
		}
		break;
	case EN_SYS_COUNTRY_ENGLAND:
	case EN_SYS_COUNTRY_ITALY:
		break;
	default:
		return FALSE;
	}
//	printf("DVB_TunerGetChFrequency() %d %d %ld\n", (int)u8Channel, (int)enCountry, *pu32FreqKHz);

	if ( *pu8BWMHz== 0 )
		return FALSE;
 	return TRUE;
}


static bool8 TunerGetChInfo(u8 u8Channel, u32 *pu32FreqKHz, u8 *pu8BWMHz)
{
	if ( TunerGet_VHFHi_ChInfo(u8Channel, pu32FreqKHz, pu8BWMHz)==TRUE )
	{
		return TRUE;
	}
	if ( TunerGet_UHF_ChInfo(u8Channel, pu32FreqKHz, pu8BWMHz)==TRUE )
	{
		return TRUE;
	}
	return FALSE;
}

⌨️ 快捷键说明

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