📄 tidtv_tuner.h
字号:
/*
* Filename : TiDTV_Tuner.h (LGDT3302API.h)
*
* Copyright (c) 2003-2004, System IC Div., LG Electronics, Inc.
* All Rights Reserved
*
* This is UNPUBLISHED PROPRIETARY SOURCE CODE of LG Electronics, Inc.
* and may contain proprietary, confidential and trade secret information of
* LG Electronics, Inc. and/or its partners.
*
* The contents of this file may not be disclosed to third parties or
* copied or duplicated in any form, in whole or in part, without the prior
* written permission of LG Electronics, Inc.
*
*/
#include <math.h>
#ifndef __LGDT3303API_H__
#define __LGDT3303API_H__
#define AGC_SETUP_ADJ 0x1962
#define AGC_SETUP_64QAM 0x2A00
#define AGC_SETUP_256QAM 0x2A80
typedef unsigned char DATA8;
typedef unsigned short DATA16;
typedef enum{
LGDT_ERR_NO = 0,
LGDT_ERR_I2C = 1,
LGDT_ERR_INIT = 2,
LGDT_ERR_UNLOCK = 4,
LGDT_ERR_PARAM = 8, /// Invalid parameter check
LGDT_ERR_GET_FUNC = 16, /// Error returned from LGDT_Set...()
LGDT_ERR_SET_FUNC = 32, /// Error returned from LGDT_Get...()
LGDT_ERR_SPECTRUM = 64, /// Spectrum status symptom shows when QAM mode
LGDT_ERR_OTHER = 128,
LGDT_ERR_TUNER = 256 /// Reserved for a tuner manufacturer
}LGDT_Return_t;
//------------------------------------------------------//
// TYPE Definition of Demodulator Opertation Mode
//------------------------------------------------------//
typedef enum{
LGDT_QAM64 = 0x00,
LGDT_QAM256 = 0x01,
LGDT_VSB = 0x03
}LGDT_OperMode_t;
//------------------------------------------------------//
// TYPE Definition of Signal Status
//------------------------------------------------------//
typedef enum{
LGDT_SIGNAL_NO = 0, /// little or no input power detected.
LGDT_SIGNAL_WEAK = 1, /// some power detected.
LGDT_SIGNAL_MODERATE = 2, /// lock achieved, SNR < 15 dB (approx).
LGDT_SIGNAL_STRONG = 4, /// lock achieved, SNR < 24 dB (approx).
LGDT_SIGNAL_VERY_STRONG = 8 /// lock achieved, SNR > 24 dB (approx).
}LGDT_SIGNAL_CONDITION_t;
//------------------------------------------------------//
// TYPE Definition of MPEG Mode
//------------------------------------------------------//
typedef enum{
LGDT_PARAL = 0x00, /// LGDT_PARALlel Mode
LGDT_SERIAL = 0x01 /// LGDT_SERIAL Mode
}LGDT_MPEGMode_t;
//------------------------------------------------------//
// TYPE Definition of Clock Mode
//------------------------------------------------------//
typedef enum{
LGDT_CLOCK_LOW = 0x00, /// LOW Mode
LGDT_CLOCK_HIGH = 0x01 /// HIGH Mode
}LGDT_Clock_t;
//------------------------------------------------------//
// TYPE Definition of Polarity
//------------------------------------------------------//
typedef enum {
LGDT_NON_LGDT_INVERTED = 0,
LGDT_INVERTED = 1
} LGDT_Polarity_t;
//------------------------------------------------------//
// TYPE Definition of S/W Version
//------------------------------------------------------//
typedef struct {
int Major;
int Custom;
int Minor;
} LGDT_Version_s;
LGDT_Return_t LGDTinit3303(LGDT_OperMode_t mode);
LGDT_Return_t LGDTsetTuner(int channel);
LGDT_Return_t LGDTsetReset(void);
LGDT_Return_t LGDTcheckStatus();
LGDT_Return_t LGDTgetRegi(DATA8 addr, DATA8* data);
LGDT_Return_t LGDTgetSNR(double*);
LGDT_Return_t LGDTgetSQI(DATA16* sqi);
LGDT_Return_t LGDTgetPacketErr(DATA16* data);
LGDT_Return_t LGDTgetOperMode(LGDT_OperMode_t* mode);
LGDT_Return_t LGDTgetSignalCondition(LGDT_SIGNAL_CONDITION_t* status);
LGDT_Return_t LGDTgetFreqOffset(DATA16* offset);
LGDT_Return_t LGDTgetIFAcc(DATA16* acc);
LGDT_Return_t LGDTgetDCValue(DATA16* data);
LGDT_Return_t LGDTgetIntMode(DATA8* i, DATA8* j);
LGDT_Return_t LGDTgetVersion(LGDT_Version_s *pLGDT3302Version);
LGDT_Return_t LGDTisLockCR(char *flag);
LGDT_Return_t LGDTisLockSync(char *flag);
LGDT_Return_t LGDTisLockTR(char *flag);
LGDT_Return_t LGDTisLockViterbi(char *flag);
LGDT_Return_t LGDTisLockFEC(char *flag);
LGDT_Return_t LGDTisLockMPEG(char* flag);
LGDT_Return_t LGDTisNTSC(char* flag);
LGDT_Return_t LGDTsetRegi(DATA8 addr, DATA8 data);
LGDT_Return_t LGDTsetMPEGMode(LGDT_MPEGMode_t mode);
LGDT_Return_t LGDTsetMPEGPolarity(LGDT_Clock_t clktrig, LGDT_Clock_t validpol);
LGDT_Return_t LGDTsetAGCData();
LGDT_Return_t LGDTsetAGCInput(DATA16 inputRF, DATA16 inputIF);
LGDT_Return_t LGDTsetAGCPolarity(LGDT_Polarity_t rfpol, LGDT_Polarity_t ifpol);
LGDT_Return_t LGDTsetAGCBandwidth(DATA16 rfbw, DATA16 ifbw);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -