📄 gentuner.h
字号:
/*+++ *******************************************************************\
*
* Copyright and Disclaimer:
*
* ---------------------------------------------------------------
* This software is provided "AS IS" without warranty of any kind,
* either expressed or implied, including but not limited to the
* implied warranties of noninfringement, merchantability and/or
* fitness for a particular purpose.
* ---------------------------------------------------------------
*
* Copyright (c) 2004 Conexant Systems, Inc.
* All rights reserved.
*
\******************************************************************* ---*/
#ifndef _GEN_TUNER_H_
#define _GEN_TUNER_H_
#include "TunerInfo.h"
#include "ITuner.h"
class I2cIF;
class GenTuner : public ITuner
{
public:
GenTuner(
I2cIF* p_i2c,
DWORD tuner_type,
BYTE tuner_address = 0xC0,
BYTE sif_address=0x86);
GenTuner(
I2cIF* p_i2c,
TUNER_INFO* p_tuner_info,
BYTE tuner_address = 0xC0,
BYTE sif_address=0x86);
virtual ~GenTuner();
virtual BOOLEAN setFrequency(PULONG p_frequency, DWORD standard, DWORD tuning_flags);
virtual BOOLEAN setFrequency(ULONG frequency, DWORD standard);
virtual DWORD setChannel(
ULONG country_code,
DWORD standard,
DWORD channel_number,
DWORD use_antenna);
//GetSignalOffset() return values:
// 0 if signal is locked
// -1 if no signal detected
// other value needed to add to signal if signal is detected off the central frequency
virtual LONG getSignalOffset();
virtual BOOLEAN setMode(ULONG mode);
//Accessors to tuner information
virtual DWORD getSupportedModes();
virtual DWORD getSupportedStandards(ULONG mode);
virtual DWORD getMinFrequency(ULONG mode);
virtual DWORD getMaxFrequency(ULONG mode);
virtual DWORD getNumInputs(ULONG mode);
protected:
LONG getTVSignalPllStatus();
LONG getTVSignalPllStatusAFC();
LONG getFMRadioSignalStrengthAFC();
PSTANDARD_SPECIFIC_INFO getBytesForCurrentStandard();
VOID getBytesForFrequency(ULONG frequency, SET_FREQUENCY_INFO& info);
virtual VOID program2ndIF(
BYTE switch_byte,
BYTE adjust_byte,
BYTE data_byte,
BOOLEAN set_fm_sensitivity);
DWORD getNextSupportedStandard(DWORD standards_used);
BOOLEAN fineTuningFrequency(ULONG frequency, DWORD standard);
BOOLEAN setTunerFrequency(ULONG frequency, DWORD standard);
I2cIF* _p_i2c;
BYTE _i2c_address;
BYTE _2if_address;
TUNER_INFO _tuner_info;
DWORD _current_standard;
private:
//Member variables.
DWORD _standard[MAX_STANDARDS];
DWORD _mode;
DWORD _tuner_type;
TV_FREQUENCY_MODE _tv_frequency_mode;
BOOLEAN _is_irc_ch5_checked;
BOOLEAN _is_irc_ch6_checked;
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -