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

📄 tmhpidemod_hpi.h

📁 卫星接收机器卫星 自动搜索, 包括优化处理
💻 H
📖 第 1 页 / 共 2 页
字号:
//-----------------------------------------------------------------------------
// $Header: S:/SYSOL/SOURCE/SDE_RWE/comps/tmhpi/comps/tmhpiDemod/inc/RCS/tmhpiDemod_Hpi.h,v 1.6 2003/07/23 07:13:43 frq03592 Exp $
// (C) Copyright 2000 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:    tmhpiDemod_Hpi.h
//
// DESCRIPTION:  Header file to define external type and function to use
//               HPI Demod library
//               TYPE :
//
// DOCUMENT REF: DVP Software Coding Guidelines Specification
//               SRS HPI Demod
//               SDD HPI Demod
//
// NOTES:
//
// HISTORY :
// (copy the lines below, before filling them)
// Author       : 
// Date         : 
// Description  : 
//
//***********************
// Author       : Xavier RAZAVET
// Date         : 31.03.03
// Description  : first implementation
//
//-----------------------------------------------------------------------------
//
#ifndef TMHPIDEMOD_HPI_H //-----------------
#define TMHPIDEMOD_HPI_H


#ifdef __cplusplus
extern "C"
{
#endif

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


/*************************************************************************/
/**************************** Satellite types ****************************/
/*************************************************************************/
typedef enum _HPIv2_eDemodSatViterbiRate
{
    HPIv2_eDemodSatRate12,
    HPIv2_eDemodSatRate23,
    HPIv2_eDemodSatRate34,
    HPIv2_eDemodSatRate56,
    HPIv2_eDemodSatRate67,
    HPIv2_eDemodSatRate78,
    HPIv2_eDemodSatRateAutoDetect,
    HPIv2_eDemodSatRateMax
} HPIv2_eDemodSatViterbiRate;


typedef enum _HPIv2_eDemodSatPolar
{
    HPIv2_eDemodSatVertical,			/* 14V for the vertical polarisation usually	*/
    HPIv2_eDemodSatHorizontal			/* 18V for the horizontal polarisation usually	*/
}HPIv2_eDemodSatPolar;


typedef enum _HPIv2_eDemodSatTone
{
    HPIv2_eDemodToneOff,			    /* without 22KHz usually	*/
    HPIv2_eDemodToneOn			        /* with 22KHz usually	*/
}HPIv2_eDemodSatTone;


typedef enum _HPIv2_eDemodAutoScanMode_t
{
    HPIv2_eDemodAutoScanAverage,			   
    HPIv2_eDemodAutoScanFine			       
}HPIv2_eDemodAutoScanMode;


typedef struct _HPIv2_tDemodSatSignalSpecification
{
    HPIv2_eDemodSatViterbiRate	    ViterbiRate;
    HPIv2_eDemodSatPolar 	        Polar;
    HPIv2_eDemodSatTone	            Tone;       // not used with the upper layer.
    HPIv2_eDemodAutoScanMode	    AutoScanMode;
} HPIv2_tDemodSatSignalSpecification;


typedef HPIv2_tDemodSatSignalSpecification   HPIv2_tDemodSatTuningConfig;
typedef HPIv2_tDemodSatSignalSpecification   HPIv2_tDemodSatSearchConfig;
typedef HPIv2_tDemodSatSignalSpecification   HPIv2_tDemodSatStatus;


typedef enum _HPIv2_eDemodSatLnbPower
{
    HPIv2_eDemodSatInternalSupply,
    HPIv2_eDemodSatExternalSupply,
    HPIv2_eDemodSatPowerMax
} HPIv2_eDemodSatLnbPower;


typedef enum _HPIv2_eDemodSatLnbType
{
	HPIv2_eDemodSatBandC,
	HPIv2_eDemodSatMonoBandKU,
	HPIv2_eDemodSatDualBandKU
} HPIv2_eDemodSatBandType;


typedef enum _HPIv2_eDemodSatPolarVoltage
{
    HPIv2_eDemodSat0V, 		
    HPIv2_eDemodSat14V, 			/* 14V for the vertical polarisation usually	*/
    HPIv2_eDemodSat18V 			    /* 18V for the horizontal polarisation usually	*/
} HPIv2_eDemodSatPolarVoltage;


typedef struct _HPIv2_tDemodSatLnbDefinition
{
    HPIv2_eDemodSatLnbPower  		Power;
    HPIv2_INT32  				    SwitchFrequency;			/* 22KHz usually */
    HPIv2_eDemodSatPolarVoltage	    vertical;
    HPIv2_eDemodSatPolarVoltage	    horizontal;
} HPIv2_tDemodSatLnbDefinition;


#define DEMOD_SAT_NBLO_MAX	2

typedef struct _HPIv2_tDemodSatOlBand
{
    HPIv2_eDemodSatBandType  		BandType;
    HPIv2_INT32  				    Lo [DEMOD_SAT_NBLO_MAX];
} HPIv2_tDemodSatOlBand;


typedef enum _HPIv2_eDemodSatToneBurst
{
    HPIv2_eDemodSatToneBurstNotUsed,
    HPIv2_eDemodSatToneBurstA,
    HPIv2_eDemodSatToneBurstB
} HPIv2_eDemodSatToneBurst;


typedef struct _HPIv2_eDemodSatDiSEqCSwitchCommitted
{
    HPIv2_UCHAR   Satellite;
    HPIv2_UCHAR   Option;
} HPIv2_eDemodSatDiSEqCSwitchCommitted;


typedef     enum  _HPIv2_eDemodSatDiSEqCSwitchCmd
{
    HPIv2_eDemodSatSwitchSetLo,		    /* select the Low Local Oscillator frequency	*/
    HPIv2_eDemodSatSwitchSetVR,		    /* select Vertical Polarization			        */
    HPIv2_eDemodSatSwitchSetPosA,		/* select Satellite position A			        */
    HPIv2_eDemodSatSwitchSetSoA,		/* select Switch Option A			            */
    HPIv2_eDemodSatSwitchSetHi,		    /* select the High Local Oscillator frequency	*/
    HPIv2_eDemodSatSwitchSetHL,		    /* select Horizontal Polarization			    */
    HPIv2_eDemodSatSwitchSetPosB,		/* select Satellite position B			        */
    HPIv2_eDemodSatSwitchSetSoB,		/* select Switch Option B			*/
    HPIv2_eDemodSatSwitchSetS1A,		/* select switch S1 input A			*/
    HPIv2_eDemodSatSwitchSetS2A,		/* select switch S2 input A			*/
    HPIv2_eDemodSatSwitchSetS3A,		/* select switch S3 input A			*/
    HPIv2_eDemodSatSwitchSetS4A,		/* select switch S4 input A			*/
    HPIv2_eDemodSatSwitchSetS1B,		/* select switch S1 input B			*/
    HPIv2_eDemodSatSwitchSetS2B,		/* select switch S2 input B			*/
    HPIv2_eDemodSatSwitchSetS3B,		/* select switch S3 input B			*/
    HPIv2_eDemodSatSwitchSetS4B,		/* select switch S4 input B			*/
    HPIv2_eDemodSatSwitchDiSEqCMax
} HPIv2_eDemodSatDiSEqCSwitchCmd;


typedef enum _HPIv2_eDemodSatSwitchType
{
    HPIv2_eDemodSatSwitchToneBurst,
    HPIv2_eDemodSatSwitchDiSeqCCommitted,
    HPIv2_eDemodSatSwitchDiSEqCCmd,
    HPIv2_eDemodSatSwitchToneState,
    HPIv2_eDemodSatSwitchPower,
    HPIv2_eDemodSatSwitchManual,
    HPIv2_eDemodSatSwitchMax
} HPIv2_eDemodSatSwitchType;


typedef struct _HPIv2_tDemodSatSwitch
{
    HPIv2_eDemodSatSwitchType	SwitchType;
    union
    {
        HPIv2_eDemodSatToneBurst			    ToneBurst;
        HPIv2_eDemodSatDiSEqCSwitchCommitted	Committed;
        HPIv2_eDemodSatDiSEqCSwitchCmd		    Command;
        HPIv2_eDemodSatPolarVoltage             Power;      // analog switch
        HPIv2_eDemodSatTone                     Tone;       // analog switch
    } uSw;
    HPIv2_eDemodSatTone			Manual22KHzValue;
} HPIv2_tDemodSatSwitch;


typedef enum _HPIv2_eDemodSatDiSEqCPos
{
    HPIv2_eDemodSatPosHalt,
    HPIv2_eDemodSatPosLimitsOff,
    HPIv2_eDemodSatPosLimitEast,
    HPIv2_eDemodSatPosLimitWest,
    HPIv2_eDemodSatPosDriveEastX,       		/*  1 byte parameter required 	*/
    HPIv2_eDemodSatPosDriveWestX,        	    /*  1 byte parameter required 	*/
    HPIv2_eDemodSatPosStoreN,             		/*  1 byte parameter required 	*/
    HPIv2_eDemodSatPosGotoN,              		/*  1 byte parameter required 	*/
    HPIv2_eDemodSatPosZero,	            		/*  1 byte parameter required 	*/
    HPIv2_eDemodSatPosGotoAngleXX,         	    /*  2 bytes parameters required */
    HPIv2_eDemodSatPosSetPosition,        	    /*  2 byte parameter required 	*/
    HPIv2_eDemodSatPosDiSEqCMax
} HPIv2_eDemodSatDiSEqCPos;


typedef struct _HPIv2_tDemodSatDiSEqCPositioner
{
    HPIv2_eDemodSatDiSEqCPos	    Cmd;
    HPIv2_UCHAR	   				    N_Angle;
} HPIv2_tDemodSatDiSEqCPositioner;


typedef struct _HPIv2_tDemodSatDiSEqCFrame
{
    HPIv2_UCHAR   Frm;
    HPIv2_UCHAR   Add;
    HPIv2_UCHAR   Cmd;
    HPIv2_UCHAR   Data0;
    HPIv2_UCHAR   Data1;
    HPIv2_UCHAR   Data2;
} HPIv2_tDemodSatDiSEqCFrame;


typedef struct _HPIv2_tDemodSatDiSEqC
{

    UInt8		          NbByte_C;
    HPIv2_tDemodSatDiSEqCFrame    Frame_S;
    
} HPIv2_tDemodSatDiSEqC;




typedef enum _HPIv2_eDemodSatConfigType
{
    HPIv2_eDemodSatCfgHardware,
    HPIv2_eDemodSatCfgLnbDef,
    HPIv2_eDemodSatCfgOlBand,
    HPIv2_eDemodSatCfgSwitch,
    HPIv2_eDemodSatCfgPositioner,
    HPIv2_eDemodSatCfgDiSEqCOther,
    HPIv2_eDemodSatCfgMax
} HPIv2_eDemodSatConfigType;


typedef struct _HPIv2_tDemodSatDriverConfig
{
    HPIv2_tDemodSatLnbDefinition	LnbDefinition;
    HPIv2_tDemodSatOlBand           OlBand;
    HPIv2_tDemodSatSwitch		    Switch;
    HPIv2_tDemodSatDiSEqCPositioner	Positioner;
    HPIv2_tDemodSatDiSEqC        	DiSEqCOther;
} HPIv2_tDemodSatDriverConfig;


typedef enum _HPIv2_eDemodSatOduServiceLevel
{
    HPIv2_eDemodSatOduNone,
    HPIv2_eDemodSatOduNotDiSEqC,
    HPIv2_eDemodSatOduDiSEqCCompatible,			/* Tone Burst */
    HPIv2_eDemodSatOduDiSEqC10NoRepeat,
    HPIv2_eDemodSatOduDiSEqC10OneRepeat,
    HPIv2_eDemodSatOduDiSEqC10TwoRepeat,
    HPIv2_eDemodSatOduDiSEqC11NoRepeat,
    HPIv2_eDemodSatOduDiSEqC11OneRepeat,
    HPIv2_eDemodSatOduDiSEqC11TwoRepeat,
    HPIv2_eDemodSatOduDiSEqC12NoRepeat,
    HPIv2_eDemodSatOduDiSEqC12OneRepeat,
    HPIv2_eDemodSatOduDiSEqC12TwoRepeat,
    HPIv2_eDemodSatOduServiceLevelMax
} HPIv2_eDemodSatOduServiceLevel;


typedef struct _HPIv2_tDemodSatCapability
{
    HPIv2_eDemodSatOduServiceLevel   OduServiceLevel;
} HPIv2_tDemodSatCapability;


typedef HPIv2_INT32     HPIv2_tDemodCblTuningConfig;
typedef HPIv2_INT32     HPIv2_tDemodCblSearchConfig;
typedef HPIv2_INT32     HPIv2_tDemodCblStatus;
typedef HPIv2_INT32     HPIv2_tDemodCblDriverConfig;
typedef HPIv2_INT32     HPIv2_tDemodCblCapability;


/*************************************************************************/
/**************************** Terrestrial types **************************/
/*************************************************************************/
typedef enum _HPIv2_eDemodTerStandard
{
    HPIv2_eDemodTerDVB, 			/* DVB-T,  COFDM */
    HPIv2_eDemodTerATSC, 		    /* ATSC,   VSB */
    HPIv2_eDemodTerStandardMax
} HPIv2_eDemodTerStandard;


typedef     enum  _HPIv2_eDemodTerViterbiRate
{
    HPIv2_eDemodTerRate12, 		    /* DVB 			        */
    HPIv2_eDemodTerRate23, 		    /* DVB  /  ATSC		    */
    HPIv2_eDemodTerRate34, 		    /* DVB	 		        */
    HPIv2_eDemodTerRate56, 		    /* DVB 			        */
    HPIv2_eDemodTerRate78, 		    /* DVB 			        */
    HPIv2_eDemodTerRateAutoDetect,	/* automatic choice 	*/
    HPIv2_eDemodTerRateMax
} HPIv2_eDemodTerViterbiRate;


typedef enum _HPIv2_eDemodTerTransmissionMode
{
    HPIv2_eDemodTerTransmissionMode2K, 		    /* DVB 2K mode */
    HPIv2_eDemodTerTransmissionMode8K, 		    /* DVB 8K mode */
    HPIv2_eDemodTerTransmissionModeAutoDetect, 	/* DVB automatic choice*/
    HPIv2_eDemodTerTransmissionModeMax
} HPIv2_eDemodTerTransmissionMode;


typedef enum _HPIv2_eDemodTerGuardInterval
{
    HPIv2_eDemodTerGuardInterval32, 		    /* DVB guard interval 1/32 	*/
    HPIv2_eDemodTerGuardInterval16, 		    /* DVB guard interval 1/16 	*/
    HPIv2_eDemodTerGuardInterval8, 		        /* DVB guard interval 1/8 	*/
    HPIv2_eDemodTerGuardInterval4, 		        /* DVB guard interval 1/4 	*/
    HPIv2_eDemodTerGuardIntervalAutoDetect,	    /* automatic choice	 	    */
    HPIv2_eDemodTerGuardIntervalMax
} HPIv2_eDemodTerGuardInterval;


typedef enum _HPIv2_eDemodTerHierarchy
{
    HPIv2_eDemodTerHierarchyNonHierarchy, 	/* DVB non hierarchical */
    HPIv2_eDemodTerHierarchyAlpha1, 		/* DVB alpha = 1 	    */
    HPIv2_eDemodTerHierarchyAlpha2, 		/* DVB alpha = 2 	    */
    HPIv2_eDemodTerHierarchyAlpha4, 		/* DVB alpha = 4 	    */
    HPIv2_eDemodTerHierarchyAutoDetect, 	/* automatic choice	    */
    HPIv2_eDemodTerHierarchyMax
} HPIv2_eDemodTerHierarchy;


typedef enum _HPIv2_eDemodTerPriority
{
    HPIv2_eDemodTerPriorityHigh, 	/* DVB Output high priority stream */
    HPIv2_eDemodTerPriorityLow,		/* DVB Output low priority stream */
    HPIv2_eDemodTerPriorityMax 		/* DVB Nb of priority */
} HPIv2_eDemodTerPriority;


typedef enum _HPIv2_uiDemodTerOffset 
{
    HPIv2_eDemodTerOffsetAuto = 0,
    HPIv2_eDemodTerOffsetNull,
    HPIv2_eDemodTerOffsetPlus125,
    HPIv2_eDemodTerOffsetMinus125,
    HPIv2_eDemodTerOffsetPlus166,
    HPIv2_eDemodTerOffsetMinus166,
    HPIv2_eDemodTerOffsetPlus333,
    HPIv2_eDemodTerOffsetMinus333,
    HPIv2_eDemodTerOffsetPlus500,
    HPIv2_eDemodTerOffsetMinus500,
    HPIv2_eDemodTerOffsetMax
} HPIv2_uiDemodTerOffset;


typedef struct  _HPIv2_tDemodTerDvbT
{
    HPIv2_eDemodTerTransmissionMode	TransmissionMode;
    HPIv2_eDemodTerGuardInterval	GuardInterval;
    HPIv2_eDemodTerHierarchy		Hierarchy;
    HPIv2_eDemodTerPriority		    Priority;
    HPIv2_eDemodTerViterbiRate		ViterbiRateHP;
    HPIv2_eDemodTerViterbiRate		ViterbiRateLP;
    HPIv2_uiDemodTerOffset		    Offset;
    UInt16					        Cellid;
    Int32					        Reserved;
} HPIv2_tDemodTerDvbT;


/**************************** VSB types ****************************/
typedef struct _HPIv2_tDemodTerVsb
{
    HPIv2_eDemodTerViterbiRate	ViterbiRate;
} HPIv2_tDemodTerVsb;


typedef struct _HPIv2_tDemodTerSignalSpecification
{
    HPIv2_eDemodTerStandard	Standard;
    union
    {
    	HPIv2_tDemodTerDvbT	    DvbT;
        HPIv2_tDemodTerVsb 		Vsb;
    }  uStd;
} HPIv2_tDemodTerSignalSpecification;


typedef HPIv2_tDemodTerSignalSpecification   HPIv2_tDemodTerTuningConfig;
typedef HPIv2_tDemodTerSignalSpecification   HPIv2_tDemodTerSearchConfig;
typedef HPIv2_tDemodTerSignalSpecification   HPIv2_tDemodTerStatus;


typedef struct _HPIv2_tDemodTerDriverConfig
{
    HPIv2_eDemodTerStandard 	Standard;

⌨️ 快捷键说明

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