📄 ch_table.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 + -