phantom_api.h

来自「QPSK Tuner details, for conexant chipset」· C头文件 代码 · 共 156 行

H
156
字号
#ifndef PHANTOM_API_H_DEFINED
#define PHANTOM_API_H_DEFINED

/* phantom_api.h */
/*+++ *******************************************************************\
*
*  Abstract:
*
*       Contains prototypes for the Phantom API functions.
*
*  Created: 3/30/2004
*
*  Author: Amarnath Puttur
*
*  Copyright and Disclaimer: 
*  
*     --------------------------------------------------------------- 
*     This software is provided "AS IS" without warranty of any kind, 
*     either expressed or implied, including but not limited to the 
*     implied warranties of noninfringement, merchantability and/or 
*     fitness for a particular purpose.
*     --------------------------------------------------------------- 
*   
*     Copyright (c) 2004 Conexant Systems, Inc. 
*     All rights reserved. 
*
\******************************************************************* ---*/

#include "phantom_cmd.h"                 /* Phantom command interface */

#ifdef __cplusplus
extern "C" {
#endif  /* __cplusplus */ 

/*******************************************************************************************************/
/* API prototypes */
/*******************************************************************************************************/
/* High-level APIs */
BOOL  PHANTOM_InitEnvironment(PHANTOM_NIM*            p_nim,            
                              unsigned long           demod_handle,     
                              PHANTOM_MULTI_WRITE_SB  SBMultiWrite,     
                              PHANTOM_WRITE_SB        SBwrite,          
                              PHANTOM_READ_SB         SBread,           
                              unsigned long           crystal_frequency,
                              PHANTOM_TUNER_REF_CLOCKOUT_DIV tuner_ref_clkout_div,
                              unsigned char           pll_multiplier,
                              PHANTOM_MPEG_OUT*       p_mpeg);

BOOL  PHANTOM_ChangeChannel(PHANTOM_NIM *p_nim,PHANTOM_CHANOBJ *p_channel_object);
BOOL  PHANTOM_Monitor(PHANTOM_NIM *p_nim,PHANTOM_ACQ_STATE *acq_state,PHANTOM_LOCKIND *lock_ind);
BOOL  PHANTOM_ReleaseEnvironment(PHANTOM_NIM *p_nim);

BOOL  PHANTOM_GetBinCyclesCounter(PHANTOM_NIM* p_nim, unsigned char* p_bin_cycles);
BOOL PHANTOM_VCOHelper(PHANTOM_NIM *p_nim, unsigned long programmed_freq, unsigned long desired_freq, unsigned long *p_suggested_freq);

/* Low-level APIs */
BOOL  PHANTOM_GetChipInfo(PHANTOM_NIM*            p_nim,              
                      char**          p_demod_string,     
                      unsigned long*  p_chip_version,     
                      unsigned long*  p_chip_id,
                      unsigned long*  p_board_version,
                      char**          p_firmware_version);

BOOL  PHANTOM_GetDriverVersion(PHANTOM_NIM *p_nim, PHANTOM_DRIVER_VERSION *p_driver_version);

BOOL  PHANTOM_SetOutputOptions(PHANTOM_NIM *p_nim,PHANTOM_MPEG_OUT *p_mpeg_out);

BOOL  PHANTOM_GetSampleFrequency(PHANTOM_NIM *p_nim,unsigned long *p_sample_rate);

BOOL  PHANTOM_GetSpectralInversion(PHANTOM_NIM *p_nim,PHANTOM_SPEC_INV *p_spec_inv);
BOOL  PHANTOM_GetLockState(PHANTOM_NIM *p_nim,PHANTOM_ACQ_STATE *p_acq_state);

BOOL  PHANTOM_SetInterruptOptions(PHANTOM_NIM *p_nim,   PHANTOM_INTR_OPTIONS interopts);
BOOL  PHANTOM_GetPendingInterrupts(PHANTOM_NIM *p_nim,  PHANTOM_INTR_OPTIONS *p_interopts);
BOOL  PHANTOM_ClearPendingInterrupts(PHANTOM_NIM *p_nim,PHANTOM_INTR_OPTIONS interopts);
BOOL  PHANTOM_GetLockIndicators(PHANTOM_NIM *p_nim,PHANTOM_LOCKIND *p_lockind);

#if PHANTOM_INCLUDE_DISEQC2
BOOL  PHANTOM_DiseqcInitialize(PHANTOM_NIM              *p_nim, 
                               PHANTOM_LNB_RX_EXP_WINDOW reply_expiration_window,
					           unsigned char         lnb_tone_amplitude,
                               unsigned char         lnb_tone_frequency,
					           unsigned char         lnb_tone_detection_thresh,
							   PHANTOM_LNB_TONEBURST_EN_SET	 lnb_tone_burst_enable,
                               PHANTOM_LNBMODE_SET   lnb_mode);

BOOL  PHANTOM_DiseqcReceiveMessage(PHANTOM_NIM           *p_nim,     
                               unsigned char *p_buffer,  
                               unsigned char  buffer_len,
                               unsigned char *p_received_len,
                               unsigned char *p_parity_errors, 
		                       unsigned char *p_reply_errors);

BOOL  PHANTOM_DiseqcSendMessage(PHANTOM_NIM   *p_nim,                  
                                unsigned char *p_message,            
                                unsigned char  message_length,        
                                BOOL           last_message,  
					            PHANTOM_RXMODE    reply_mode,
                                PHANTOM_LNB_BURST burst_tone);

BOOL PHANTOM_DiseqcSendToneBurst(PHANTOM_NIM *p_nim, PHANTOM_LNB_BURST burst_mode);

#endif /* PHANTOM_INCLUDE_DISEQC2 */

BOOL  PHANTOM_GetChannelEsNo(PHANTOM_NIM *p_nim, unsigned short *p_esno);
BOOL  PHANTOM_GetCTL(PHANTOM_NIM *p_nim,long *p_ctl);
BOOL  PHANTOM_GetAGCAcc(PHANTOM_NIM *p_nim,PHANTOM_AGCACC *p_agc_acc, signed char *p_estimated_power, unsigned char *p_saturated);
BOOL  PHANTOM_GetBTL(PHANTOM_NIM *p_nim,long *p_btl);
BOOL  PHANTOM_GetLNBOffset(PHANTOM_NIM *p_nim,long *p_lnb_offset);
BOOL  PHANTOM_GetFrequencyOffset(PHANTOM_NIM *p_nim, signed long *p_frequency_offset);
BOOL  PHANTOM_GetGPIOIn (PHANTOM_NIM   *p_nim, unsigned char *p_GPI, unsigned char GPI_mask);
BOOL  PHANTOM_SetGPIOMode (PHANTOM_NIM *p_nim, unsigned char mode_sel);
BOOL  PHANTOM_GetViterbiRate (PHANTOM_NIM *p_nim, PHANTOM_CODERATE *p_code_rate); 
BOOL  PHANTOM_GetEffectiveFrequency (PHANTOM_NIM *p_nim, unsigned long *p_effect_frequency);
BOOL  PHANTOM_GetTunerPLLFrequency (PHANTOM_NIM *p_nim, unsigned long *pll_frequency);

BOOL  PHANTOM_SetLNBDC(PHANTOM_NIM *p_nim,PHANTOM_LNBDC_LEVEL lnb_dc_level);
BOOL  PHANTOM_SetLNBTone(PHANTOM_NIM *p_nim,PHANTOM_LNBTONE lnbtone);

BOOL  PHANTOM_DownloadFirmware(PHANTOM_NIM* p_nim, PHANTOM_SW_DOWNLOAD *p_download);


#if PHANTOM_INCLUDE_BER
BOOL 
PHANTOM_BERControl (PHANTOM_NIM*  p_nim, PHANTOM_BER_WINDOW_SEL  window_size1, PHANTOM_BER_WINDOW_SEL  window_size2);

BOOL 
PHANTOM_GetBER (PHANTOM_NIM*     p_nim,
                unsigned long*   p_corr_bit_err_rate,      
                unsigned short*  p_uncorr_frame_err_rate,  
                unsigned short*  p_ber_window_adjustment,
                PHANTOM_MSTATUS* p_mstatus);

BOOL
PHANTOM_GetCRCPER (PHANTOM_NIM*     p_nim,
                   unsigned short*  p_crc_frame_err_rate,
                   unsigned short*  p_crc_window_adjustment,
                   PHANTOM_MSTATUS* p_mstatus);
#endif /* PHANTOM_INCLUDE_BER */

BOOL PHANTOM_GetStatus (PHANTOM_NIM* p_nim, PHANTOM_STATUSPARAM* p_status);
BOOL PHANTOM_AGCControl(PHANTOM_NIM* p_nim, PHANTOM_AGC_CONTROL  mode, unsigned short agc_value);

BOOL PHANTOM_EnableCorrection(PHANTOM_NIM *p_nim, BOOL b_enable_rs_or_bch_corr);

BOOL PHANTOM_SetTunerGainThreshold(PHANTOM_NIM* p_nim, signed char threshold_dBm);
BOOL PHANTOM_GetTunerGainThreshold(PHANTOM_NIM* p_nim, signed char* p_threshold_dBm);

#ifdef __cplusplus
}
#endif

/*******************************************************************************************************/

#endif  /* #ifndef PHANTOM_API_H_DEFINED */ 

⌨️ 快捷键说明

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