?? driv0299.h
字號:
/* **************************************************************************************
* Copyright (c) 2004 ZORAN Corporation, All Rights Reserved
* THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF ZORAN CORPORATION
*
* File: $Workfile: .c $
*
* Description:
* ============
* DECLARATIONS FOR THE STV0299 DRIVER
*
* Log:
* ====
* $Revision: $
* Last Modified by $Author: $ at $Modtime: $
**************************************************************************************** */
#include "Config.h" // Global Configuration - do not remove!
/*************************************************************
* STV 0299 evaluation software //
* Version 1.0 dated September 1999 //
* Author : Jean-Yves COUET //
* Mariano BONA //
* Stephane ARDISSON //
* SGS-THOMSON Video application Lab. //
*************************************************************/
#ifndef H_DRIV0299
#define H_DRIV0299
/////////////////////////////////////////////////////////////////////////////////////////////////
// Include files
#include "Config.h"
#include "Include\Sysdefs.h"
#include "Devices\Demodulator\demod_def.h"
/////////////////////////////////////////////////////////////////////////////////////////////////
// Constants
/* One point of the lookup table */
#define MAXLOOKUPSIZE 50
#define MAX_NUMBER_OF_SYMBOL_RATES 10
/////////////////////////////////////////////////////////////////////////////////////////////////
// Enumerations & Structures
typedef struct
{
INT32 realval; /* real value (10000 x C/N or power ) */
INT32 regval; /* register value (C/N estimator value or AGC1 integrator value) */
} LOOKPOINT;
/* Lookup table definition */
typedef struct
{
INT32 size; /* Size of the lookup table */
LOOKPOINT table[MAXLOOKUPSIZE]; /* Lookup table */
} LOOKUP;
/* Signal type enum */
typedef enum
{
NOAGC1=0,
AGC1SATURATION,
AGC1OK,
NOTIMING,
ANALOGCARRIER,
TIMINGOK,
NOAGC2,
AGC2OK,
NOCARRIER,
CARRIEROK,
NODATA,
FALSELOCK,
DATAOK,
OUTOFRANGE,
RANGEOK
} SIGNALTYPE;
/* Puncture Rate enum */
typedef enum
{
PR2_3=0,
PR3_4,
PR5_6,
PR7_8,
PR1_2,
PRUNKNOWN
} PUNCTURERATE;
/* Polarization enum */
typedef enum
{
NOPOLARIZATION=0,
HORIZONTAL,
VERTICAL,
H_V,
V_H
} POLARIZATION;
/* Search result structure */
typedef struct
{
SIGNALTYPE SignalType;
POLARIZATION Polarization;
PUNCTURERATE PunctureRate;
long Frequency;
long SymbolRate;
} SEARCHRESULT;
/* Scan direction enum */
typedef enum
{
SCANUP=1,
SCANDOWN=-1
} SCANDIR;
/* Scan mode enum */
typedef enum
{
DRV_SCAN = 0,
DRV_SEARCH
} SCANMODE;
/* AGC2 gain and frequency structure */
typedef struct
{
INT32 NbPoints;
INT32 Gain[3];
long Frequency[3];
} AGC2TIMINGOK;
/* Search parameters structure */
typedef struct
{
SIGNALTYPE State;
INT32 ScanMode;
long Frequency,
BaseFreq,
SymbolRate,
MasterClock,
Mclk,
SearchRange,
SubRange,
TunerStep,
TunerOffset,
TunerBW,
TunerIF,
TunerIQ,
RollOff;
long DerotFreq,
DerotPercent,
DerotStep,
Direction,
Tagc1,
Tagc2,
Ttiming,
Tderot,
Tdata,
SubDir;
// params of ContinueFrequencyScan():
long SymbolRates[MAX_NUMBER_OF_SYMBOL_RATES+1];
int DerotStepSize;
long WidthArray[MAX_NUMBER_OF_SYMBOL_RATES];
long CurrentLnb; /* Current lnb used */
long MinWidth; /* Width of the used low pass filter */
long lnb[3];
SCANDIR ScanDirection;
INT8 direction;
UINT32 ulLnbSwitchFreq;
} SEARCHPARAMS;
/////////////////////////////////////////////////////////////////////////////////////////////////
// Public Services
void SetLnb(DEMOD_HANDLE handle, INT32 Lnb);
void SetPolarization(DEMOD_HANDLE handle, POLARIZATION Polarization);
POLARIZATION GetPolarization(DEMOD_HANDLE handle);
void InitParams(DEMOD_HANDLE handle);
void InitSearch(DEMOD_HANDLE handle, INT32 Frequency, long SymbolRate, long SearchRange, INT32 DerotStep,SCANMODE Mode);
SIGNALTYPE SimpleSearch(DEMOD_HANDLE handle);
SIGNALTYPE AutoSearchAlgo(DEMOD_HANDLE handle );
void GetSearchResult(DEMOD_HANDLE handle, SEARCHRESULT *pResult);
void StartAutoFrequencyScan(DEMOD_HANDLE handle, int DerotStep);
void ContinueAutoFrequencyScan(DEMOD_HANDLE handle);
//int CarrierGetQuality(DEMOD_HANDLE handle, LOOKUP *lookup); Never used in DTV or DVD-P
//int SignalGetPower(DEMOD_HANDLE handle, LOOKUP *lookup); Never used in DTV or DVD-P
INT32 CarrierGetError(DEMOD_HANDLE handle);
void DiseqcSend(DEMOD_HANDLE handle, unsigned char *Data,INT32 NbData);
/////////////////////////////////////////////////////////////////////////////////////////////////
// Private Services
void DeleteWidthArray(unsigned long *pWidth);
unsigned long *FillWidthArray(long *pSymbolRate, long RollOff,long *MinWidth);
#endif // H_DRIV0299
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -