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

📄 tmbsldemodter.h

📁 TDA10046驱动源代码.TDA10046是PHILIPS的一款DVB-T TUNER
💻 H
字号:
//-----------------------------------------------------------------------------
// $Header:
// (C) Copyright 2002 Philips Semiconductors, All rights reserved
//
// This source code and any compilation or derivative thereof is the sole
// property of Philips Corporation and is provided pursuant to a Software
// License Agreement.  This code is the proprietary information of Philips
// Corporation and is confidential in nature.  Its use and dissemination by
// any party other than Philips Corporation is strictly limited by the
// confidential information provisions of the Agreement referenced above.
//-----------------------------------------------------------------------------
// FILE NAME:    tmbslDemodTer.h
//
// DESCRIPTION:  This header file describes definitions, types, and functions
//               exported by the Board Support Library (BSL) terrestrial demodulator part.
//
// DOCUMENT REF: DVP Software Coding Guidelines
//               DVP Software Versioning Specification
//               DVP Board Support Library Architecture Specification


#ifndef _TMBSL_DEMODTER_H_
#define _TMBSL_DEMODTER_H_


//-----------------------------------------------------------------------------
// Standard include files:
//

#include "tmhalFEtypes.h"
#include "tmbslTuner.h"

//-----------------------------------------------------------------------------
// Project include files:
//

#ifdef __cplusplus
extern "C"
{
#endif

//-----------------------------------------------------------------------------
// Types and defines:
//


/* -------------------------------- types -----------------------------------------*/
/*
 * structures of this type are used by the tmdlDt device library to initialize
 * the board.
 */

typedef struct _tmbslDtParam_t {
	unsigned long 		    uHwAddress;
	tmhalFEBslSystemFunc_t	systemFunc;
	tmUnitSelect_t 		    eTunerUnit;
	tmbslTuConfig_t		    tunerFunc;
} tmbslDtParam_t, *ptmbslDtParam_t;

/*
 * a structure of this type is used to describe the capabilities of the 
 * Demod
 */
typedef struct _tmbslDtConfig_t
{
	// initialisation
    tmErrorCode_t (*initFunc) (         tmUnitSelect_t demodUnit,
                                        tmbslDtParam_t sParam);
    tmErrorCode_t (*deinitFunc) ( 	    tmUnitSelect_t demodUnit);
    tmErrorCode_t (*getSWVersionFunc) ( tmSWVersion_t* pSWVersion);
    tmErrorCode_t (*setPowerStateFunc) (tmUnitSelect_t demodUnit,
                                        tmPowerState_t powerState);
    tmErrorCode_t (*getPowerStateFunc) (tmUnitSelect_t demodUnit, 
                                        tmPowerState_t* pPowerState);

    // configuration
    tmErrorCode_t (*setCfgFunc) (	tmUnitSelect_t 	demodUnit,
                                    UInt32 uItemId,
                                    UInt32 uValue);
    tmErrorCode_t (*getCfgFunc) (   tmUnitSelect_t 	demodUnit,
                                    UInt32 uItemId,
                                    UInt32* puValue); 

    // read-write into registers
    tmErrorCode_t (*writeFunc) (	tmUnitSelect_t 	demodUnit,
                                    UInt32 uAddress,
                                    UInt32 uNbData,
                                    UInt32*	puData);
    tmErrorCode_t (*writeBitFunc) (	tmUnitSelect_t 	demodUnit,
                                    UInt32 uAddress,
                                    UInt32 uBitMask,
                                    UInt32 uData);
    tmErrorCode_t (*readFunc) ( 	tmUnitSelect_t 	demodUnit,
                                    UInt32 uAddress,
                                    UInt32 uNbData,
                                    UInt32* puData);

    // Demod-Tuner programming
    tmErrorCode_t (*setRfFunc) (    tmUnitSelect_t demodUnit,
                                    UInt32 uRF, tmhalFERfOffset_t eRFO); 
    tmErrorCode_t (*getRfFunc) (    tmUnitSelect_t demodUnit,
                                    UInt32* puRF, tmhalFERfOffset_t* peRFO);
    tmErrorCode_t (*setCsFunc) (    tmUnitSelect_t demodUnit,
                                    UInt32 uCS);
    tmErrorCode_t (*getCsFunc) (    tmUnitSelect_t demodUnit,
                                    UInt32* puCS);
    tmErrorCode_t (*setSiFunc) (    tmUnitSelect_t demodUnit,
                                    tmhalFESpectrum_t eSI); 
    tmErrorCode_t (*getSiFunc) (    tmUnitSelect_t demodUnit,
                                    tmhalFESpectrum_t* peSI);
    tmErrorCode_t (*setVrHpFunc) (  tmUnitSelect_t demodUnit,
                                    tmhalFEDepuncRate_t eVRHP);
    tmErrorCode_t (*getVrHpFunc) (  tmUnitSelect_t demodUnit,
                                    tmhalFEDepuncRate_t* peVRHP);
    tmErrorCode_t (*setVrLpFunc) (  tmUnitSelect_t demodUnit,
                                    tmhalFEDepuncRate_t eVRLP);
    tmErrorCode_t (*getVrLpFunc) (  tmUnitSelect_t demodUnit,
                                    tmhalFEDepuncRate_t* peVRLP);
    tmErrorCode_t (*setModFunc)(    tmUnitSelect_t demodUnit,
                                    tmhalFEModulation_t eMOD);
    tmErrorCode_t (*getModFunc) (   tmUnitSelect_t demodUnit,
                                    tmhalFEModulation_t* peMOD);
    tmErrorCode_t (*setGiFunc)(     tmUnitSelect_t demodUnit,
                                    tmhalFEGuardInterval_t eGI);
    tmErrorCode_t (*getGiFunc) (    tmUnitSelect_t demodUnit,
                                    tmhalFEGuardInterval_t* peGI);
    tmErrorCode_t (*setFftFunc)(    tmUnitSelect_t demodUnit,
                                    tmhalFEFft_t eFFT);
    tmErrorCode_t (*getFftFunc) (   tmUnitSelect_t demodUnit,
                                    tmhalFEFft_t* peFFT);
    tmErrorCode_t (*setHrchFunc)(   tmUnitSelect_t demodUnit,
                                    tmhalFEHierarchy_t eHRCH);
    tmErrorCode_t (*getHrchFunc) (  tmUnitSelect_t demodUnit,
                                    tmhalFEHierarchy_t* peHRCH);
    tmErrorCode_t (*setHpLpFunc)(   tmUnitSelect_t demodUnit,
                                    tmhalFEPriority_t eHPLP);
    tmErrorCode_t (*getHpLpFunc) (  tmUnitSelect_t demodUnit,
                                    tmhalFEPriority_t* peHPLP);

    // status
    tmErrorCode_t (*getBerFunc) (   tmUnitSelect_t demodUnit,
                                    UInt32*	puBER);
    tmErrorCode_t (*getSnrFunc) (   tmUnitSelect_t demodUnit,
                                    Int8* pbSNR);
    tmErrorCode_t (*getLvlFunc) ( 	tmUnitSelect_t demodUnit,
                                    Int8* pbLVL); 
    tmErrorCode_t (*getAfcFunc) (	tmUnitSelect_t demodUnit,
                                    Int32* plAFC);
    tmErrorCode_t (*getAccFunc) (	tmUnitSelect_t 	demodUnit,
                                    Int32* plACC);
    tmErrorCode_t (*getUbkFunc) (	tmUnitSelect_t 	demodUnit,
                                    UInt32* plUBK);

    // algorithm for scanning and tuning
    tmErrorCode_t (*startScanFunc) (tmUnitSelect_t demodUnit,
                                    UInt32 uStopFrequency);
    tmErrorCode_t (*stopScanFunc) (	tmUnitSelect_t demodUnit);	
    tmErrorCode_t (*managerFunc) (  tmUnitSelect_t demodUnit,
                                    tmhalFEManagerStatus_t* peStatusManager);
} tmbslDtConfig_t, *ptmbslDtConfig_t;


#if defined(__cplusplus)
}
#endif  /* defined(__cplusplus) */

#endif /* _TMBSL_DEMODTER_H_ */

⌨️ 快捷键说明

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