📄 demod.h
字号:
/*****************************************************************************File Name : demod.hDescription : DEMOD device API.Copyright (C) 1999 STMicroelectronicsRevision History :Reference :*****************************************************************************//* Define to prevent recursive inclusion */#ifndef __DEMOD_H#define __DEMOD_H/* Includes --------------------------------------------------------------- */#include "tnr.h"/* Exported Constants ----------------------------------------------------- */#define DEMOD_NO_ERROR ST_NO_ERROR#define DEMOD_ERROR_BAD_PARAMETER ST_ERROR_BAD_PARAMETER#define DEMOD_ERROR_BUS STTUNER_ERROR_BUS#define DEMOD_ERROR_FEATURE_NOT_SUPPORTED ST_ERROR_FEATURE_NOT_SUPPORTED/* FECRates: STAPI --> DEMOD */#define DEMOD_FEC_ALL STTUNER_FEC_ALL#define DEMOD_FEC_1_2 STTUNER_FEC_1_2#define DEMOD_FEC_2_3 STTUNER_FEC_2_3#define DEMOD_FEC_3_4 STTUNER_FEC_3_4#define DEMOD_FEC_4_5 STTUNER_FEC_4_5#define DEMOD_FEC_5_6 STTUNER_FEC_5_6#define DEMOD_FEC_6_7 STTUNER_FEC_6_7#define DEMOD_FEC_7_8 STTUNER_FEC_7_8#define DEMOD_FEC_8_9 STTUNER_FEC_8_9/* Modulation: STAPI --> DEMOD */#define DEMOD_MOD_ALL STTUNER_MOD_ALL#define DEMOD_MOD_BPSK STTUNER_MOD_BPSK#define DEMOD_MOD_QPSK STTUNER_MOD_QPSK#define DEMOD_MOD_8PSK STTUNER_MOD_8PSK#define DEMOD_MOD_QAM STTUNER_MOD_QAM#define DEMOD_MOD_16QAM STTUNER_MOD_16QAM#define DEMOD_MOD_32QAM STTUNER_MOD_32QAM#define DEMOD_MOD_64QAM STTUNER_MOD_64QAM#define DEMOD_MOD_128QAM STTUNER_MOD_128QAM#define DEMOD_MOD_256QAM STTUNER_MOD_256QAM/* TS Mode */#define DEMOD_TS_DEFAULT STTUNER_TS_MODE_DEFAULT#define DEMOD_TS_SERIAL STTUNER_TS_MODE_SERIAL#define DEMOD_TS_PARALLEL STTUNER_TS_MODE_PARALLEL/* SCLK source */#define DEMOD_SCLK_DEFAULT STTUNER_SCLK_DEFAULT#define DEMOD_SCLK_MASTER STTUNER_SCLK_MASTER#define DEMOD_SCLK_VCODIV6 STTUNER_SCLK_VCODIV6/* SDAT mode */#define DEMOD_SDAT_DEFAULT STTUNER_SDAT_DEFAULT#define DEMOD_SDAT_VALID_RISING STTUNER_SDAT_VALID_RISING#define DEMOD_SDAT_PARITY_ENABLE STTUNER_SDAT_PARITY_ENABLE/* FEC mode */#define DEMOD_FEC_MODE_DEFAULT STTUNER_FEC_MODE_DEFAULT#define DEMOD_FEC_MODE_DVB STTUNER_FEC_MODE_DVB#define DEMOD_FEC_MODE_DIRECTV STTUNER_FEC_MODE_DIRECTV#define DEMOD_MAX_LNB_OFFSET 5000000 /* In Hz. Usually 5MHz */#define DEMOD_DEROTATOR_STEP 6 /* 6 recommended */#ifndef DEMOD_PROTOTYPE#define DEMOD_PROTOTYPE#endif/* Exported Variables ----------------------------------------------------- *//* Exported Types --------------------------------------------------------- *//* DEMOD error code */typedef ST_ErrorCode_t DEMOD_ErrorCode_t;/* Map STTUNER API types on to DEMOD types -- enforces STAPI compliance */typedef STTUNER_FECRate_t DEMOD_FECRate_t;typedef STTUNER_Modulation_t DEMOD_Modulation_t;typedef STTUNER_TSOutputMode_t DEMOD_TSOutputMode_t;typedef STTUNER_SerialClockSource_t DEMOD_SerialClockSource_t;typedef STTUNER_SerialDataMode_t DEMOD_SerialDataMode_t;typedef STTUNER_FECMode_t DEMOD_FECMode_t;/* DEMOD device types supported */typedef enum{ DEMOD_DEVICE_STV0199, DEMOD_DEVICE_STV0299, DEMOD_DEVICE_UNKNOWN} DEMOD_DemodType_t;/* DEMOD TS Output Mode *//* DEMOD capability */typedef struct{ DEMOD_FECRate_t FECAvail; DEMOD_Modulation_t ModulationAvail; BOOL AGCControl; U32 SymbolMin; U32 SymbolMax;} DEMOD_Capability_t;/* DEMOD initialization paramaters */typedef struct{ DEMOD_DemodType_t DemodType; /* DEMOD device type */ ST_Partition_t *MemoryPartition; U32 ExternalClock; /* External VCO */ DEMOD_TSOutputMode_t TSOutputMode; DEMOD_SerialDataMode_t SerialDataMode; DEMOD_SerialClockSource_t SerialClockSource; DEMOD_FECMode_t FECMode; TNR_Handle_t TunerHandle; /* For accessing TNR device */ void *DeviceAccess_p; /* Communications handle */} DEMOD_InitParams_t;/* DEMOD Handle -- used for all API communications */typedef void *DEMOD_Handle_t;/* DEMOD map table */typedef struct{ DEMOD_ErrorCode_t (*DEMOD_Init)(DEMOD_InitParams_t *InitParams_p, DEMOD_Handle_t *Handle_p, DEMOD_Capability_t *Capability_p); DEMOD_ErrorCode_t (*DEMOD_Term)(DEMOD_Handle_t Handle); DEMOD_ErrorCode_t (*DEMOD_IsAnalogCarrier)(DEMOD_Handle_t Handle, BOOL *IsAnalog_p); DEMOD_ErrorCode_t (*DEMOD_GetSignalQuality)(DEMOD_Handle_t Handle, U32 *SignalQuality_p, U32 *Ber_p); DEMOD_ErrorCode_t (*DEMOD_GetModulation)(DEMOD_Handle_t Handle, DEMOD_Modulation_t *Modulation_p); DEMOD_ErrorCode_t (*DEMOD_GetAGC)(DEMOD_Handle_t Handle, U32 *Agc_p); DEMOD_ErrorCode_t (*DEMOD_GetFECRate)(DEMOD_Handle_t Handle, DEMOD_FECRate_t *FECRate_p); DEMOD_ErrorCode_t (*DEMOD_IsLocked)(DEMOD_Handle_t Handle, BOOL *IsLocked_p); DEMOD_ErrorCode_t (*DEMOD_SetFECRates)(DEMOD_Handle_t Handle, DEMOD_FECRate_t FECRates); DEMOD_ErrorCode_t (*DEMOD_Tracking)(DEMOD_Handle_t Handle, BOOL ForceTracking, U32 *NewFrequency_p, BOOL *SignalFound_p); DEMOD_ErrorCode_t (*DEMOD_ScanFrequency)(DEMOD_Handle_t Handle, U32 InitialFrequency, U32 SymbolRate, U32 MaxLNBOffset, U32 TunerStep, U8 DerotatorStep, BOOL *ScanSuccess_p, U32 *NewFrequency_p);} DEMOD_MapTable_t;/* Exported Macros -------------------------------------------------------- *//* Exported Functions ----------------------------------------------------- */DEMOD_PROTOTYPE DEMOD_ErrorCode_t DEMOD_Init(DEMOD_InitParams_t *InitParams_p, DEMOD_Handle_t *Handle_p, DEMOD_Capability_t *Capability_p);DEMOD_PROTOTYPE DEMOD_ErrorCode_t DEMOD_Term(DEMOD_Handle_t Handle);DEMOD_PROTOTYPE DEMOD_ErrorCode_t DEMOD_IsAnalogCarrier(DEMOD_Handle_t Handle, BOOL *IsAnalog_p);DEMOD_PROTOTYPE DEMOD_ErrorCode_t DEMOD_GetSignalQuality(DEMOD_Handle_t Handle, U32 *SignalQuality_p, U32 *Ber_p);DEMOD_PROTOTYPE DEMOD_ErrorCode_t DEMOD_GetModulation(DEMOD_Handle_t Handle, DEMOD_Modulation_t *Modulation_p);DEMOD_PROTOTYPE DEMOD_ErrorCode_t DEMOD_GetAGC(DEMOD_Handle_t Handle, U32 *Agc_p);DEMOD_PROTOTYPE DEMOD_ErrorCode_t DEMOD_GetFECRate(DEMOD_Handle_t Handle, DEMOD_FECRate_t *FECRate_p);DEMOD_PROTOTYPE DEMOD_ErrorCode_t DEMOD_IsLocked(DEMOD_Handle_t Handle, BOOL *IsLocked_p);DEMOD_PROTOTYPE DEMOD_ErrorCode_t DEMOD_SetFECRates(DEMOD_Handle_t Handle, DEMOD_FECRate_t FECRates);DEMOD_PROTOTYPE DEMOD_ErrorCode_t DEMOD_Tracking(DEMOD_Handle_t Handle, BOOL ForceTracking, U32 *NewFrequency_p, BOOL *SignalFound_p);DEMOD_PROTOTYPE DEMOD_ErrorCode_t DEMOD_ScanFrequency(DEMOD_Handle_t Handle, U32 InitialFrequency, U32 SymbolRate, U32 MaxLNBOffset, U32 TunerStep, U8 DerotatorStep, BOOL *ScanSuccess_p, U32 *NewFrequency_p);DEMOD_ErrorCode_t DEMOD_InitTunerHandle(DEMOD_Handle_t Handle, TNR_Handle_t TunerHandle);#endif /* __DEMOD_H *//* End of demod.h */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -