📄 hamaro_proto.h
字号:
/* cobra_proto.h */
/*+++ *******************************************************************\
*
* Copyright and Disclaimer:
*
* ---------------------------------------------------------------
* ALL SOFTWARE, APPLICATIONS, DOCUMENTATION, OR MATERIALS
* FURNISHED HEREIN IS PROVIDED *AS IS*. CONEXANT DOES NOT MAKE
* ANY WARRANTIES, EITHER EXPRESS OR IMPLIED, AND HEREBY EXPRESSLY
* DISCLAIMS ANY AND ALL SUCH WARRANTIES TO THE EXTENT PERMITTED
* BY LAW, INCLUDING, SPECIFICALLY, ANY IMPLIED WARRANTY ARISING
* BY STATUTE OR OTHERWISE IN LAW OR FROM A COURSE OF DEALING OR
* USAGE OF TRADE. CONEXANT DOES NOT MAKE ANY WARRANTIES, EITHER
* EXPRESS OR IMPLIED, AND HEREBY EXPRESSLY DISCLAIMS ANY AND ALL
* SUCH WARRANTIES WITH RESPECT TO ALL SOFTWARE, APPLICATIONS,
* DOCUMENTATION, AND MATERIALS INCLUDING ALL IMPLIED WARRANTIES
* OF MERCHANTABILITY, OR OF MERCHANTABLE QUALITY, OR OF FITNESS
* FOR ANY PURPOSE, PARTICULAR, SPECIFIC OR OTHERWISE, OR OF
* NONINFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS OF OTHERS,
* RELATING TO THE SOFTWARE, APPLICATIONS, OPERATION,
* DOCUMENTATION, DATA OR RESULTS GENERATED BY THE OPERATION OR
* USE THEREOF, AND MATERIALS PROVIDED HEREIN. THE ENTIRE RISK AS
* TO THE SUBSTANCE, QUALITY AND PERFORMANCE OF SOFTWARE,
* APPLICATIONS, AND DOCUMENTATION DESCRIBING SUCH SOFTWARE
* REMAINS WITH THE BUYER.
*
* REGARDLESS OF WHETHER ANY REMEDY SET FORTH HEREIN FAILS OF ITS
* ESSENTIAL PURPOSE OR OTHERWISE, CONEXANT SHALL NOT BE LIABLE
* FOR ANY EXEMPLARY, SPECIAL, PUNITIVE, SPECULATIVE, INDIRECT,
* CONSEQUENTIAL OR INCIDENTAL DAMAGES OF ANY KIND (INCLUDING
* WITHOUT LIMITATION LOST PROFITS, LOSS OF INCOME, LOSS OF
* GOODWILL, OR OTHER TANGIBLE OR INTANGIBLE BUSINESS LOSS)
* ARISING OUT OF OR IN CONNECTION WITH, DIRECTLY OR INDIRECTLY,
* SOFTWARE, APPLICATIONS, DOCUMENTATION, OR ANY SERVICES OR
* MATERIALS PROVIDED HEREUNDER, OR USE OR INABILITY TO USE THE
* SOFTWARE, EVEN IF CONEXANT HAS BEEN ADVISED OF THE POSSIBILITY
* OF SUCH DAMAGES.
*
* Copyright (c) 2001 Conexant Systems, Inc.
* All Rights Reserved.
* ---------------------------------------------------------------
*
* Module Revision Id:
*
* $Header: hamaro_proto.h, 8, 2006-10-20 2:13:16, Xiao Dong Zhang$
*
* Abstract:
*
* Contains non-API prototypes.
*
\******************************************************************* ---*/
#ifndef HAMARO_PROTO_H_DEFINED
#define HAMARO_PROTO_H_DEFINED
/*******************************************************************************************************/
/* Include Hamaro internal */
/*******************************************************************************************************/
#include "hamaro_regs.h" /* Hamaro register header file */
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
/*******************************************************************************************************/
/* DRIVER prototypes */
/*******************************************************************************************************/
#if HAMARO_INCLUDE_DEBUG
void HAMARO_DRIVER_SetError(HAMARO_NIM *nim,HAMAROERRNO err,char *filename,int lineno);
char *HAMARO_DRIVER_GetError(HAMAROERRNO err);
#endif /* HAMARO_INCLUDE_DEBUG */
void HAMARO_DRIVER_preinit(void);
BOOL HAMARO_DRIVER_ValidateNim(HAMARO_NIM *nim);
BOOL HAMARO_DRIVER_ValidateNimIq(HAMARO_NIM *nim);
BOOL HAMARO_DRIVER_ValidNim(HAMARO_NIM *nim);
BOOL _HAMARO_DRIVER_wait(HAMARO_NIM *nim,int mscount);
unsigned long HAMARO_OS_Time(void);
BOOL HAMARO_OS_Wait(HAMARO_NIM *nim,int waitms);
long HAMARO_DRIVER_symbolrate_in(unsigned long symbolrate,unsigned long sampleratehz);
long HAMARO_DRIVER_symbolrate_out(unsigned long symbolrate, unsigned long sampleratehz);
unsigned long HAMARO_DRIVER_compute_demod_pll_mult(HAMARO_NIM *nim,unsigned long Fs, unsigned long Fc);
unsigned long HAMARO_DRIVER_compute_fs(unsigned long pllmult,unsigned long Fc);
BOOL HAMARO_DRIVER_SetPNSequence(HAMARO_NIM *nim,BOOL pnflag);
BOOL HAMARO_DRIVER_GetPNSequence(HAMARO_NIM *nim,BOOL *pnflag);
BOOL HAMARO_DRIVER_error_measurements_off(HAMARO_NIM *nim);
void HAMARO_DRIVER_BBB_errinfo(HAMARO_NIM *nim,long *last_count,HAMARO_CMPLXNO *cpx,unsigned long errwindow,unsigned long errmult,HAMARO_MSTATUS *mstat);
BOOL HAMARO_DRIVER_BBB_error_off(HAMARO_NIM *nim);
BOOL HAMARO_DRIVER_PNBER_error_off(HAMARO_NIM *nim);
BOOL HAMARO_DRIVER_errcount_disable(HAMARO_NIM *nim);
BOOL HAMARO_DRIVER_Reset(HAMARO_NIM *nim);
BOOL HAMARO_DRIVER_HardReset(HAMARO_NIM *nim);
BOOL HAMARO_DRIVER_Preset(HAMARO_NIM *nim);
BOOL HAMARO_DRIVER_CxType(HAMARO_NIM *nim,HAMARO_DEMOD *demod,char **demod_str);
BOOL HAMARO_DRIVER_AcqSetViterbiSearchList(HAMARO_NIM *nim,HAMARO_VITLIST*);
BOOL HAMARO_DRIVER_AcqGetViterbiSearchList(HAMARO_NIM *nim,HAMARO_VITLIST*);
BOOL HAMARO_DRIVER_SetViterbiRate(HAMARO_NIM *nim,HAMARO_CODERATE coderate);
BOOL HAMARO_DRIVER_GetViterbiRate(HAMARO_NIM *nim,HAMARO_CODERATE *coderate);
BOOL HAMARO_DRIVER_Default(HAMARO_NIM *nim);
long HAMARO_DRIVER_convert_twos(unsigned long numeric,int bitslen);
unsigned long HAMARO_DRIVER_convert_twos_saturate(long,int);
BOOL HAMARO_DRIVER_SetSmoothClock(HAMARO_NIM *nim,HAMARO_CLOCKSMOOTHSEL cs,BOOL fromCC);
BOOL HAMARO_DRIVER_SetSmoothClockEn(HAMARO_NIM *nim,HAMARO_CLOCKSMOOTHSEL cs);
BOOL HAMARO_DRIVER_SetLNBMode(HAMARO_NIM *nim,HAMARO_LNBMODE *lnbmode);
BOOL HAMARO_DRIVER_SendDiseqc(HAMARO_NIM *nim,unsigned char *msg,unsigned char msg_len,BOOL msg_long, BOOL last_msg);
BOOL HAMARO_DRIVER_SetTunerFrequency(HAMARO_NIM *nim,unsigned long freq);
BOOL HAMARO_DRIVER_ValidTunerFreqRange(HAMARO_NIM *nim,unsigned long freq);
BOOL HAMARO_DRIVER_SetSoftDecisionThreshold(HAMARO_NIM *nim);
BOOL HAMARO_DRIVER_SetTunerFilterBWVoltage(HAMARO_NIM *nim,unsigned long mV);
BOOL HAMARO_DRIVER_SetRSCntlPin(HAMARO_NIM *nim,HAMARO_REGIDX regIdx,HAMARO_RS_CNTLPIN_SEL RSCntlPinSel);
BOOL HAMARO_DRIVER_SetViterbiLockThresh(HAMARO_NIM *nim,HAMARO_CODERATE coderate);
/*******************************************************************************************************/
/*******************************************************************************************************/
BOOL HAMARO_DRIVER_Check(HAMARO_NIM *nim);
BOOL HAMARO_DRIVER_Default_Hamaro(HAMARO_NIM *nim);
unsigned long HAMARO_DRIVER_Set_Pdmfout(HAMARO_NIM *nim,unsigned long symbolrate, unsigned long samplerate);
long HAMARO_DRIVER_calc_pdmf_closer(long Fsym1,long fsym2,unsigned long samplerate,long pdin);
long HAMARO_DRIVER_calc_closest_pdmfout(unsigned long symbolrate, unsigned long samplerate, unsigned long bondary);
unsigned long HAMARO_DRIVER_log2(unsigned long x);
BOOL HAMARO_DRIVER_SetCTLTrackBW(HAMARO_NIM *nim,unsigned long symbolrateksps);
/*******************************************************************************************************/
/* [Hamaro_iq.c] IQ constellation prototypes */
/*******************************************************************************************************/
#ifdef HAMARO_INCLUDE_CONSTELLATION
BOOL HAMARO_IQ_Sample(HAMARO_NIM *nim);
BOOL HAMARO_IQ_SampleGetIq(HAMARO_NIM *nim,unsigned char*,unsigned char*);
int HAMARO_IQ_ConstCount(HAMARO_NIM *nim);
#endif /* #ifdef HAMARO_INCLUDE_CONSTELLATION */
/*******************************************************************************************************/
/* [Hamaro_Regs.c] low-level register i/o functions */
/*******************************************************************************************************/
BOOL HAMARO_RegisterWrite(HAMARO_NIM* p_nim, unsigned short reg_field_index, unsigned long value, HAMARO_IO_METHOD io_method);
BOOL HAMARO_RegisterRead(HAMARO_NIM* p_nim, unsigned short reg_field_index, unsigned long* p_value, HAMARO_IO_METHOD io_method);
unsigned long HAMARO_RegisterHDWRMask(HAMARO_REGIDX);
int HAMARO_Register_bitlength(HAMARO_REGIDX regidx);
BOOL HAMARO_RegisterWritePLLMult(HAMARO_NIM *nim, unsigned long ulRegVal);
BOOL HAMARO_RegisterReadCentralFreq(HAMARO_NIM *nim, unsigned long *pFreq);
BOOL HAMARO_RegisterWriteCentralFreq(HAMARO_NIM *nim, unsigned long ulFreq);
BOOL HAMARO_RegisterWriteClkSmoothDiv(HAMARO_NIM *nim, unsigned long ulClkSmoothDiv);
/*******************************************************************************************************/
/* [Hamaro_Regs.c] Register map verify functions. exec'd with InitEnv() to verify backbone of system */
/*******************************************************************************************************/
#if HAMARO_INCLUDE_DEBUG
BOOL RegMapTest (HAMARO_NIM *nim);
#endif /* HAMARO_INCLUDE_DEBUG */
/*******************************************************************************************************/
/*******************************************************************************************************/
/*******************************************************************************************************/
#ifdef __cplusplus
}
#endif
#endif /* #ifndef HAMARO_PROTO_H_DEFINED */
/* CR 9509 : Add an extra newline */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -