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

📄 tmbsldemodsat.h

📁 卫星接收机器卫星 自动搜索, 包括优化处理
💻 H
字号:
//-----------------------------------------------------------------------------
// $Header:
// (C) Copyright 2001 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:    tmbslDemodSat.h
//
// DESCRIPTION:  This header file describes definitions, types, and functions
//               exported by the Board Support Library (BSL) satellite demodulator part.
//
// DOCUMENT REF: DVP Software Coding Guidelines
//               DVP Software Versioning Specification
//               DVP Board Support Library Architecture Specification


#ifndef _TMBSL_DEMODSAT_H_
#define _TMBSL_DEMODSAT_H_


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

#include "tmhalFEtypes.h"
//#include "tmdlFe.h"
#include "tmbslTuner.h" 
//-----------------------------------------------------------------------------
// Project include files:
//

#ifdef __cplusplus
extern "C"
{
#endif

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


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

typedef struct _tmbslDsParam_t {
	unsigned long 		    uHwAddress;
	tmhalFEBslSystemFunc_t	systemFunc;
	tmUnitSelect_t 		    eTunerUnit;
	tmbslTuConfig_t		    tunerFunc;
} tmbslDsParam_t, *ptmbslDsParam_t;

/*
 * a structure of this type is used to describe the capabilities of the 
 * Demod
 */
typedef struct _tmbslDsConfig_t
{	
	// initialisation
    tmErrorCode_t (*initFunc) (         tmUnitSelect_t demodUnit,
                                        tmbslDsParam_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); 
    tmErrorCode_t (*getRfFunc) (    tmUnitSelect_t demodUnit,
                                    UInt32* puRF);
    tmErrorCode_t (*setSrFunc) (    tmUnitSelect_t demodUnit,
                                    UInt32 uSR);
    tmErrorCode_t (*getSrFunc) (    tmUnitSelect_t demodUnit,
                                    UInt32* puSR);
    tmErrorCode_t (*setSiFunc) (    tmUnitSelect_t demodUnit,
                                    tmhalFESpectrum_t eSI); 
    tmErrorCode_t (*getSiFunc) (    tmUnitSelect_t demodUnit,
                                    tmhalFESpectrum_t* peSI);
    tmErrorCode_t (*setVrFunc) (    tmUnitSelect_t demodUnit,
                                    tmhalFEDepuncRate_t eVR );
    tmErrorCode_t (*getVrFunc) (    tmUnitSelect_t demodUnit,
                                    tmhalFEDepuncRate_t* peVR);
    tmErrorCode_t (*setTcFunc) (    tmUnitSelect_t demodUnit,
                                    tmhalFETurboCode_t eTC); 
    tmErrorCode_t (*getTcFunc) (    tmUnitSelect_t demodUnit,
                                    tmhalFETurboCode_t* peTC);
    tmErrorCode_t (*setModFunc)(    tmUnitSelect_t demodUnit,
                                    tmhalFEModulation_t eMOD);
    tmErrorCode_t (*getModFunc) (   tmUnitSelect_t demodUnit,
                                    tmhalFEModulation_t* peMOD);

    // LNB programming
    tmErrorCode_t (*setLnbFunc)(    tmUnitSelect_t demodUnit,
                                    UInt8 bVoltage,
                                    UInt16 wFrequency);
    tmErrorCode_t (*getLnbFunc) (   tmUnitSelect_t demodUnit,
                                    UInt8* pbVoltage,
                                    UInt16* pwFrequency);
    tmErrorCode_t (*setDiseqcFunc) (tmUnitSelect_t demodUnit,
                                    tmhalFEToneBurst_t eToneBurst,
                                    UInt8 bNbByte,
                                    UInt8* pbFrame);
    tmErrorCode_t (*getDiseqcFunc) (tmUnitSelect_t demodUnit,
                                    tmhalFEToneBurst_t* peToneBurst,
                                    UInt8* pbNbByte,
                                    UInt8* pbFrame);

    // 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,    //  I: End of the RF freqency band (Hz)
				    tmhalFEAutoScanMode_t 	eAutoScanMode // I: ScanMode (Fast or Fine)
				);
    tmErrorCode_t (*stopScanFunc) (	tmUnitSelect_t demodUnit);	
    tmErrorCode_t (*managerFunc) (  tmUnitSelect_t demodUnit,
                                    tmhalFEManagerStatus_t* peStatusManager);
} tmbslDsConfig_t, *ptmbslDsConfig_t;


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

#endif /* _TMBSLDS_H_ */

⌨️ 快捷键说明

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