📄 tmhpidemod_hpi.h
字号:
//-----------------------------------------------------------------------------
// $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 + -