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

📄 tvtuner.h.svn-base

📁 最新火热的CX32 源代码
💻 SVN-BASE
字号:
#ifndef _TVTUNER_H_
#define _TVTUNER_H_

#include "TVConfig.h"

/* define Tuner Driver attribute */
#define _TUNER_CHANEL_                  0x01
#define _TUNER_FREQ_DIVIDER_            0x02
#define _TUNER_FREQ_                    0x03
#define _TUNER_BAND_                    0x04
#define _TUNER_AUDIO_SYSTEM_            0x05
#define _TUNER_FREQ_SECAMLP_MAX_        0x06
#define _TUNER_FREQ_IF_                 0x07

/* define Tuner driver read only attribute */
#define _TUNER_PHASE_LOCK_          0x80
#define _TUNER_MINDIVIDVER_BYBAND_  0x81
#define _TUNER_MAXDIVIDVER_BYBAND_  0x82
#define _TUNER_AFCVALUE_            0x83

#define _TURNER_AFC_VALUE_INVALID_  0x08 // Out of AFC window or unlock.
#define _TURNER_AFC_VALUE_HIGH_3_   0x07
#define _TURNER_AFC_VALUE_HIGH_2_   0x06
#define _TURNER_AFC_VALUE_HIGH_     0x05
#define _TURNER_AFC_VALUE_MID_      0x04
#define _TURNER_AFC_VALUE_LOW_      0x03
#define _TURNER_AFC_VALUE_LOW_2_    0x02
#define _TURNER_AFC_VALUE_LOW_3_    0x01

//--------YYM_06_06_01 added for[]
#define _TURNER_QSS_MODE_    		0x04
#define _TURNER_INTERCARRIER_    	0x00
//added end
/* define Tuner Band Value */
typedef enum tagTunerBandValue
{
    _TUNER_BAND_VHF_L_ = 0,
    _TUNER_BAND_VHF_H_,
    _TUNER_BAND_UHF_
};

/*define Tuner Ratio setp size */
#define     _TUNER_RATIO_31_25K_    0x00
#define     _TUNER_RATIO_50K_       0x01
#define     _TUNER_RATIO_62_5K_     0x02
#define     _TUNER_RATIO_166_7K_    0x03

#if defined(_USE_TUNER_1216_) || defined(_USE_TUNER_TDQ6AB7_)
    #define TUNER_STEP  _TUNER_RATIO_62_5K_
#elif defined(_USE_TUNER_JS6B2_)||defined(_USE_TUNER_TDQ6F6_)//YYM_06_03_23 add for[ADD _USE_TUNER_TDQ6F6_ ]
    #define TUNER_STEP  _TUNER_RATIO_50K_
#else
    #define TUNER_STEP  _TUNER_RATIO_50K_
#endif

#define SLAVE_ADDRESS_TEDE9 0xC0//dy 0908

/* Freq unit is 1Khz.*/
#define _GET_FREQ_DIVIDER_(Freq, PIFFreq, StepFreq)  ( ( (Dword)Freq + PIFFreq ) / StepFreq)

/* 50 KHz Raster */
#define NORM_IF     c_TunerDriver->fnTunerGetAttr(_TUNER_FREQ_IF_, 0)   //0: except LP
#define LPRIME_IF   c_TunerDriver->fnTunerGetAttr(_TUNER_FREQ_IF_, 1)   // 1: LP
#if 1//def _EUROPE_MODE_
#define DIVIDER_LP_MAX    c_TunerDriver->fnTunerGetAttr(_TUNER_FREQ_SECAMLP_MAX_, 0)
#define DIVIDER_LPDN_MAX     c_TunerDriver->fnTunerGetAttr(_TUNER_FREQ_SECAMLP_MAX_, 1)
#endif
#define FREQ_LP_MAX                      69250  //69.25MHz     France L/L'

#ifdef __cplusplus
extern "C" {
#endif

/**  
    Define a virtual Tuner API function in here. 
    User should implement these API to call physical tuner dirver.
 */
typedef Bool (*FnTunerInit)(RPByte rpData);
typedef Word (*FnTunerGetAttr)(Byte, Word);
typedef Bool (*FnTunerSetAttr)(Byte, Word);

typedef struct tagTunerDriver
{
    FnTunerInit        fnTunerInit;
    FnTunerGetAttr     fnTunerGetAttr;
    FnTunerSetAttr     fnTunerSetAttr;    
} TunerDriver;

extern Code TunerDriver f_tvTEDE9Driver;
extern Code TunerDriver f_tvJS6B2Driver;
extern Code TunerDriver f_tvJS6B2PIPDriver;
extern Code TunerDriver f_tvFQ1216Driver;
extern Code TunerDriver f_tvFQ1216PIPDriver;
extern Code TunerDriver f_tvTDQ6AB7Driver;
extern Code TunerDriver f_tvTDQ6F6Driver;//YYM_06_03_23 add for[]

#ifdef __cplusplus
};
#endif

#endif

⌨️ 快捷键说明

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