stv0299drv.h

来自「QPSK Tuner details, for conexant chipset」· C头文件 代码 · 共 286 行

H
286
字号
/*************************************************************************

* Stv0299drv.h                                                          *

* Copyright ? Shenzhen Coship Electronics Co.#,LTD.  2002.3             *

* All rights reserved.                                                  *

*                                                                       *

* Author: Zhou Cheng                                                    *

* Date:  2002/3/13                                                      *

* Compiler:					                                            *

*                                                                        *

* Description:	STV0299 QPSK Link IC Driver								*

* Notes:                                                                *

* Update:   2002/3/6  Zhou Cheng										*

*************************************************************************/
#ifndef CS_STV0299DRV
#define CS_STV0299DRV

#include "CSQPSKCfg.h"
#include "cs_frnpublic.h"

#define STV0299_ADDR 0xD0
#define MasterCLK  88000000
enum DiSEqCMODESEL
{
	F22K_LOW,
	F22K_HIGH,
	DiSEqC_MODE,
	F22K_CONTINUOUS
};

enum _TunerType
{
	SHARP0184,
	SHARP0194,
	LGF001F,
	LG_S002F,
	STB6K
};

enum STV0299Reg				// STV0299KySP<D4fFw
{
	STV0299REG_ID ,				// 00
	STV0299REG_RCR ,			// 01
	STV0299REG_MCR ,			// 02
	STV0299REG_ACR ,			// 03
	STV0299REG_F22FR ,			// 04
	STV0299REG_I2CRPT ,			// 05
	STV0299REG_DACR1 ,			// 06
	STV0299REG_DACR2 ,			// 07
	STV0299REG_DiSEqC ,			// 08
	STV0299REG_DiSEqCFIFO ,		// 09
	STV0299REG_DiSEqCSTATUS ,	// 0A
	STV0299REG_REG0B ,			// 0B
	STV0299REG_IOCFG ,			// 0C
	STV0299REG_AGC1C ,			// 0D
	STV0299REG_RTC ,			// 0E
	STV0299REG_AGC1R ,			// 0F
	STV0299REG_AGC2O ,			// 10
	STV0299REG_TLSR ,			// 11
	STV0299REG_CFD ,			// 12
	STV0299REG_ACLC ,			// 13
	STV0299REG_BCLC ,			// 14
	STV0299REG_CLDT ,			// 15
	STV0299REG_AGC1I ,			// 16
	STV0299REG_TLIR ,			// 17
	STV0299REG_AGC2I1 ,			// 18
	STV0299REG_AGC2I2 ,			// 19
	STV0299REG_RTF ,			// 1A
	STV0299REG_VSTATUS ,		// 1B
	STV0299REG_CLDI ,			// 1C
	STV0299REG_ERRCNT_HIGH ,	// 1D
	STV0299REG_ERRCNT_LOW ,		// 1E
	STV0299REG_SFRH ,			// 1F
	STV0299REG_SFRM ,			// 20
	STV0299REG_SFRL ,			// 21
	STV0299REG_CFRM ,			// 22
	STV0299REG_CFRL ,			// 23
	STV0299REG_NIRM ,			// 24
	STV0299REG_NIRL ,			// 25
	STV0299REG_VERROR ,			// 26
	STV0299REG_REG27 ,			// 27
	STV0299REG_FECM ,			// 28
	STV0299REG_VTH0 ,			// 29
	STV0299REG_VTH1 ,			// 2A
	STV0299REG_VTH2 ,			// 2B
	STV0299REG_VTH3 ,			// 2C
	STV0299REG_VTH4 ,			// 2D
	STV0299REG_REG2E ,			// 2E
	STV0299REG_REG2F ,			// 2F
	STV0299REG_REG30 ,			// 30
	STV0299REG_PR ,				// 31
	STV0299REG_VSEARCH ,		// 32
	STV0299REG_RS ,				// 33
	STV0299REG_ERRCNT			// 34
};

/* +==========================================================================+ */
/* | Function:	OrSTV0299P4J}>]												  |	*/		
/* | Input:		FpJ<<D4fFwKwR}:E											  |	*/
/* | 			V8OrJ}>]5DV8Uk												  |	*/
/* | 			4}P4HkJ}>]8vJ}												  |	*/
/* | Output:	N^															  |	*/
/* | Return:	P4Hk3I9&1jV>												  |	*/
/* +==========================================================================+ */

CSQPSK_Error_t STV0299WrtReg ( CSHDITunerIndex bTunerIndex, BYTE StartReg, BYTE *pbValue, DWORD dwLength ) ;

/* +==========================================================================+ */
/* | Function:	4SSTV02996AR;4.J}>]											  |	*/		
/* | Input:		FpJ<<D4fFwKwR}:E											  |	*/
/* | 			V8OrJ}>]5DV8Uk												  |	*/
/* | 			4}6AHkJ}>]8vJ}												  |	*/
/* | Output:	6A3v5DJ}>]													  |	*/
/* | Return:	P4Hk3I9&1jV>												  |	*/
/* +==========================================================================+ */

CSQPSK_Error_t STV0299RdReg(CSHDITunerIndex bTunerIndex, BYTE bStartReg, BYTE *pbValue, DWORD dwLength ) ;

/* +==========================================================================+ */
/* | Function:	?XVFF22R}=EJd3v22KV\FZPE:E									  |	*/		
/* | Input:		?XVFJdHk ( F22KON / F22KOFF )								  |	*/
/* | Output:	N^															  |	*/
/* | Return:	P4Hk3I9&1jV>												  |	*/
/* +==========================================================================+ */

CSQPSK_Error_t STV0299F22KSwitch ( CSHDITunerIndex bTunerIndex, CSHDISwitch nF22KCtrl );

/* +==========================================================================+ */
/* | Function:	STV0299KySP<D4fFw3uJ<;/										  |	*/		
/* | Input:		N^														      |	*/
/* | Output:	N^															  |	*/
/* | Return:	P4Hk3I9&1jV>												  |	*/
/* +==========================================================================+ */

CSQPSK_Error_t STV0299RegInit ( CSHDITunerIndex bTunerIndex, int nType ) ;

/* +==========================================================================+ */
/* | Function:	<l2bW*7"FwKx6(W4L,											  |	*/		
/* | Input:		N^														      |	*/
/* | Output:	N^															  |	*/
/* | Return:	Kx6(W4L,:	ALLLOST: CARRIER NOT Found						  |	*/
/* |						CFOUND: CARRIER Found							  |	*/
/* |						TP_LOCK: SYNC Found								  |	*/
/* |						FAILURE: I2C ERROR								  |	*/
/* +==========================================================================+ */

CSQPSK_Error_t STV0299GetLockStatus ( CSHDITunerIndex bTunerIndex, int *pnLockStatus ) ;

/* +==========================================================================+ */
/* | Function:	IhVC(I,Q) / (I,-Q)											  |	*/		
/* | Input:		IQW4L,	0: I, Q		IQ Normal								  |	*/
/* |					1: I,-Q		IQ Invert								  |	*/
/* | Output:	N^															  |	*/
/* | Return:	3I9&1jV>													  |	*/
/* +==========================================================================+ */

CSQPSK_Error_t STV0299SetIQ ( CSHDITunerIndex bTunerIndex, BYTE bIQStatus ) ;

/* +==========================================================================+ */
/* | Function:	IQ;%;;														  |	*/		
/* | Input:		N^																*/
/* | Output:	N^															  |	*/
/* | Return:	3I9&1jV>													  |	*/
/* +==========================================================================+ */

CSQPSK_Error_t STV0299SwapIQ ( CSHDITunerIndex bTunerIndex ) ;

/* +==========================================================================+ */
/* | Function:	4r?*I2CM(5@													  |	*/		
/* | Return:	3I9&1jV>													  |	*/
/* +==========================================================================+ */
CSQPSK_Error_t STV0299EnableTunerI2C ( CSHDITunerIndex bTunerIndex ) ;	

/* +==========================================================================+ */
/* | Function:	9X1UI2CM(5@													  |	*/		
/* | Return:	3I9&1jV>													  |	*/
/* +==========================================================================+ */
CSQPSK_Error_t STV0299DisableTunerI2C ( CSHDITunerIndex bTunerIndex ) ;

/* +==========================================================================+ */
/* | Function:	<l2bCHIP IDJG7qU}H7 ( SCSZLink ICWT6/J61p )					  |	*/		
/* | Input:		N^															  |	*/
/* | Output:	N^															  |	*/
/* | Return:	U}H7, 75;XSUCCESS, 7qTr75;XFAILURE							  |	*/
/* +==========================================================================+ */

CSQPSK_Error_t STV0299CheckChipID ( CSHDITunerIndex bTunerIndex , BYTE bTSOutMode ) ;

/* +==========================================================================+ */
/* | Function:	STV0299=xHk/MK3vJ!5gD#J=									  |	*/		
/* | Input:		Power Down D#J= ( 0: U}3#.  1: J!5g	)						  |	*/
/* | Output:	N^															  |	*/
/* | Return:	2YWw3I9&1jV>												  |	*/
/* +==========================================================================+ */

CSQPSK_Error_t STV0299STDBY ( CSHDITunerIndex bTunerIndex , BYTE bPDownFlag ) ;

/* +==========================================================================+ */
/* | Function:	IhVC Link IC 5D7{:EBJ<D4fFw									  |	*/		
/* | Input:		7{:EBJ(KbpsN*5%N;)											  |	*/
/* | Output:	N^															  |	*/
/* | Return:	2YWw3I9&1jV>												  |	*/
/* +==========================================================================+ */

CSQPSK_Error_t STV0299SetSRate ( CSHDITunerIndex bTunerIndex , DWORD dwSymbolRate ) ;

/* +==========================================================================+ */
/* | Function:	;qH!PE:EVJA?												  |	*/		
/* | Input:		N^															  |	*/
/* | Output:	N^															  |	*/
/* | Return:	PE:EVJA?0-255V.<d (J}V5T=4s, PE:EVJA?T=:C)					  |	*/
/* +==========================================================================+ */

CSQPSK_Error_t STV0299SignalQuality(CSHDITunerIndex bTunerIndex, int *pnSignalQuality );

/* +==========================================================================+ */
/* | Function:	;qH!PE:EG?6H ( 4}5wJT )										  |	*/		
/* | Input:		N^															  |	*/
/* | Output:	N^															  |	*/
/* | Return:	PE:EG?6H0-255V.<d (J}V5T=4s, PE:EG?6HT=4s)					  |	*/
/* +==========================================================================+ */

CSQPSK_Error_t STV0299SignalStrength ( CSHDITunerIndex bTunerIndex, int *pnSignalStrength );

/* +==========================================================================+ */
/* | Function:  ;qH!PE:ENsBkBJ												  |	*/		
/* +==========================================================================+ */
CSQPSK_Error_t STV0299BER(CSHDITunerIndex bTunerIndex, DWORD *pdwBer);

/* +==========================================================================+ */
/* | Function:  IhVCCARRIER FREQUENCY REGISTER											  |	*/		
/* | Input:		Derotator Frequency												  |	*/
/* | Output:	N^															  |	*/
/* | Return:	2YWw3I9&1jV>												  |	*/
/* +==========================================================================+ */

CSQPSK_Error_t STV0299DerotFreq (CSHDITunerIndex bTunerIndex, DWORD dwDerotFrequency);
CSQPSK_Error_t STV0299_Optimize(CSHDITunerIndex bTunerIndex, DWORD dwBaudRate, int nTunerType);
CSQPSK_Error_t CSToneBurstCommandOnly (CSHDITunerIndex bTunerIndex, BYTE bToneBurstSel);
CSQPSK_Error_t STV0299SendOptionCommand(CSHDITunerIndex bTunerIndex, BYTE ucOptionSwitch);
CSQPSK_Error_t STV0299SendDiSEqCCommand (CSHDITunerIndex bTunerIndex, PBYTE pbValue, int nCommandNum);

CSQPSK_Error_t STV0299SendDiSEqC10Command (CSHDITunerIndex bTunerIndex, BYTE bSwitchType, BYTE bCommittedByte, BYTE bToneBurstSel, BYTE bRepeat);
CSQPSK_Error_t STV0299SendDiSEqC11Command (CSHDITunerIndex bTunerIndex, BYTE bCommittedByte, BYTE bUnCommittedByte, BYTE bRepeat);
CSQPSK_Error_t STV0299SetFECRates(CSHDITunerIndex bTunerIndex, BYTE FECRates);	

int GetST0299CurPar(DWORD dwCurSymbolRate,DWORD* pdwSearchTime,DWORD* pdwFreqStep,DWORD* pdwWaitTime) ;

CSQPSK_Error_t STV0299Init(CSHDITunerIndex bTunerIndex );

CSQPSK_Error_t STV0299ConfigTSOutMode (CSHDITunerIndex bTunerIndex, int nTSOutMode);

CSQPSK_Error_t STV0299SetStandby( CSHDITunerIndex bTunerIndex, int nStandby );

CSQPSK_Error_t STV0299CheckLockStatus ( CSHDITunerIndex bTunerIndex, int *pnLockStatus );

CSQPSK_Error_t STV0299SetClockPolarity( CSHDITunerIndex bTunerIndex, T_ClockPolarity clockPol );

//sfg
void CSSetConfigASIInSel ( CSHDITunerIndex bTunerIndex, int nASIInSel, int nASIStatusPin) ;
long CalcDerotTimeConstant(long BAUD);
CSQPSK_Error_t STV0299GetDerotFreq (CSHDITunerIndex bTunerIndex, int *nDerotFrequency);
CSQPSK_Error_t STV0299SetDerotFrequency (CSHDITunerIndex bTunerIndex, int nFrequency);
long CalcDataTimeConstant(int errorrate, int sn, int to, int hy, long BAUD);
/*=======================================================================================*/
/*| BS2F7VZ0194 Tuner use																|*/
/*=======================================================================================*/


CSQPSK_Error_t CSLock  ( CSHDITunerIndex bTunerIndex, CSQPSKCHANNEL *pCSCHANNEL );
CSQPSK_Error_t FTDSetSymbolRate(CSHDITunerIndex bTunerIndex, DWORD dwSymbolRate);
void FTDRegOptimize(CSHDITunerIndex bTunerIndex, DWORD dwSymbolRate) ;

#endif

⌨️ 快捷键说明

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