⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 drv2005.h

📁 mstar 776 开发的车载dvd
💻 H
📖 第 1 页 / 共 4 页
字号:
/* RDC symbol rates */
typedef enum {
	NXT_RDC_SYMBOL_RATE_128 =  128,
	NXT_RDC_SYMBOL_RATE_160 =  160,
	NXT_RDC_SYMBOL_RATE_320 =  320,
	NXT_RDC_SYMBOL_RATE_640	=  640,
	NXT_RDC_SYMBOL_RATE_772 =  772,
	NXT_RDC_SYMBOL_RATE_1280= 1280,
	NXT_RDC_SYMBOL_RATE_1544= 1544,
	NXT_RDC_SYMBOL_RATE_2560= 2560
} NxtRdcSymbolRate_t;

/* FDC step size */
typedef enum {
	NXT_FDC_IF_STEP_196,	/* R=64 */
	NXT_FDC_IF_STEP_393,	/* R=32 */
	NXT_FDC_IF_STEP_786,	/* R=16 */
	NXT_FDC_IF_STEP_1571	/* R=8  */
} NxtFdcStepSize_t;

/* ADC gain control types */
typedef enum {
	NXT_FAT_ADC_GAIN_1V,
	NXT_FAT_ADC_GAIN_2V,
	NXT_FDC_ADC_GAIN_1V,
	NXT_FDC_ADC_GAIN_2V
} NxtAdcGainControl_t;

/* Internal BERT input types */
typedef enum {
	NXT_BERT_INPUT_FAT		= 0x00,
	NXT_BERT_INPUT_DI		= 0x08,
	NXT_BERT_INPUT_FDC		= 0x10,
	NXT_BERT_INPUT_TRELLIS	= 0x18
} NxtBertSource_t;

/* Internal BERT PN sequence algorithms */
typedef enum {
	NXT_BERT_PN_15 = 0x02,
	NXT_BERT_PN_23 = 0x00
} NxtBertPnSequence_t;

/* Internal BERT header remove byte count */
typedef enum {
	NXT_BERT_RM_0 = 0x00,	/* remove no bytes */
	NXT_BERT_RM_1 = 0x20,	/* remove 1 byte */
	NXT_BERT_RM_3 = 0x40,	/* remove 3 bytes */
	NXT_BERT_RM_4 = 0x60	/* remove 4 bytes */
} NxtBertHeaderRemove_t;

/* Control mode enable/disable/tristate */
typedef enum {
	NXT_DISABLE = 0,
	NXT_ENABLE	= 1,
	NXT_TRISTATE= 0
} NxtControl_t;

/* RDC transmission status */
typedef enum {
	NXT_IDLE,
	NXT_BUSY,
	NXT_WAITING,
} NxtXmitStatus_t;

typedef enum {
	NXT_AUTO,
	NXT_MANUAL
} NxtControlMode_t;

typedef enum {
	NXT_RDC_ALPHA_25,
	NXT_RDC_ALPHA_30,
	NXT_RDC_ALPHA_50
} NxtRdcAlpha_t;

/*
******************************************************************************
Public Functions
******************************************************************************
*/

/**********************************************************************/
/*                          Initialization APIs                       */
/**********************************************************************/

/**********************************************************************
 *
 * NxtInit200XDriver
 *
 * Initializes NXT200X driver and ASIC.
 *
 * Inputs:
 *	void *pContext	- NULL, or user-defined ID for multiple NXT200Xs
 *
 * Returns:
 *	Data16
 *
 * Notes:
 *
 *	FAT and FDC acquisitions are stopped following this call.
 *
 **********************************************************************/
DRV2_API Data16 NxtInit200XDriver(void *pContext, NxtAsicType_t asicType);


/**********************************************************************
 *
 * NxtInit200XASIC
 *
 * Initializes NXT200X ASIC and reloads current firmware
 *
 * Inputs:
 *	void *pContext	- NULL, or user-defined ID for multiple NXT200Xs
 *
 * Returns:
 *	Data16
 *
 * Notes: 
 *	This should be used after a hardware reset is performed.
 *	FAT and FDC acquisitions are stopped following this call.
 *
 **********************************************************************/
DRV2_API Data16 NxtInit200XASIC(void *pContext, NxtAsicType_t asicType);

/**********************************************************************
 *
 * NxtInit2005Driver
 *
 * Initializes NXT2005 driver and ASIC.
 *
 * Inputs:
 *	void *pContext	- NULL, or user-defined ID for multiple NXT2005s
 *
 * Returns:
 *	Data16
 *
 * Notes:
 *
 *	FAT and FDC acquisitions are stopped following this call.
 *
 **********************************************************************/
DRV2_API Data16 NxtInit2005Driver(void *pContext);


/**********************************************************************
 *
 * NxtInit2005ASIC
 *
 * Initializes NXT2005 ASIC and reloads current firmware
 *
 * Inputs:
 *	void *pContext	- NULL, or user-defined ID for multiple NXT2005s
 *
 * Returns:
 *	Data16
 *
 * Notes: 
 *	This should be used after a hardware reset is performed.
 *	FAT and FDC acquisitions are stopped following this call.
 *
 **********************************************************************/
DRV2_API Data16 NxtInit2005ASIC(void *pContext);

/**********************************************************************
 *
 * NxtInit2004Driver
 *
 * Initializes NXT2004 driver and ASIC.
 *
 * Inputs:
 *	void *pContext	- NULL, or user-defined ID for multiple NXT2004s
 *
 * Returns:
 *	Data16
 *
 * Notes:
 *
 *	FAT and FDC acquisitions are stopped following this call.
 *
 **********************************************************************/
DRV2_API Data16 NxtInit2004Driver(void *pContext);


/**********************************************************************
 *
 * NxtInit2004ASIC
 *
 * Initializes NXT2004 ASIC and reloads current firmware
 *
 * Inputs:
 *	void *pContext	- NULL, or user-defined ID for multiple NXT2004s
 *
 * Returns:
 *	Data16
 *
 * Notes: 
 *	This should be used after a hardware reset is performed.
 *	FAT and FDC acquisitions are stopped following this call.
 *
 **********************************************************************/
DRV2_API Data16 NxtInit2004ASIC(void *pContext);

/**********************************************************************
 *
 * NxtInit2003Driver
 *
 * Initializes NXT2003 driver and ASIC.
 *
 * Inputs:
 *	void *pContext	- NULL, or user-defined ID for multiple NXT2003s
 *
 * Returns:
 *	Data16
 *
 * Notes:
 *
 *	FAT and FDC acquisitions are stopped following this call.
 *
 **********************************************************************/
DRV2_API Data16 NxtInit2003Driver(void *pContext);


/**********************************************************************
 *
 * NxtInit2003ASIC
 *
 * Initializes NXT2003 ASIC and reloads current firmware
 *
 * Inputs:
 *	void *pContext	- NULL, or user-defined ID for multiple NXT2003s
 *
 * Returns:
 *	Data16
 *
 * Notes: 
 *	This should be used after a hardware reset is performed.
 *	FAT and FDC acquisitions are stopped following this call.
 *
 **********************************************************************/
DRV2_API Data16 NxtInit2003ASIC(void *pContext);

/**********************************************************************
 *
 * NxtExitDriver
 *
 * Stops the NXT200X, background tasks, and returns system resources.
 *
 * Inputs:
 *	void *pContext - NULL, or user-defined ID for multiple NXT200Xs
 *
 * Returns:
 *	Data16
 *
 **********************************************************************/
DRV2_API Data16 NxtExitDriver(void *pContext);


/**********************************************************************/
/*                          Acquisition APIs                          */
/**********************************************************************/


/**********************************************************************
 *
 * NxtStart
 *
 * Initiates acquisition or tracking
 *
 * Inputs:
 *	void *pContext - NULL, or user-defined ID for multiple NXT200Xs
 *	NxtAcqOptions_t startOptions - Acquisition modes and co-channel 
 *						disable, adj enable options
 *
 * Outputs:
 *	Data16 *pResult - Indicates success modes and options
 *				copy of startOptions if all modes and options
 *				selected were successful
 *
 * Returns:
 *	Data16
 *
 * Notes:
 *	Notification functions will be called to report lock status.
 *	NXT_ACTIVE_TRACKING_ mode should be called from a background task!
 *
 *	A NXT_ERR_MODE error is returned if the NXT200X is in low-power
 *	mode; no start function should be executed.
 *
 **********************************************************************/
DRV2_API Data16 NxtStart(void *pContext,
					 NxtAcqOptions_t startOptions,
					 Data16 *pResult);

/**********************************************************************
 *
 * NxtStop
 *
 * Stops acquisition and tracking.
 *
 * Inputs:
 *	void *pContext - NULL, or user-defined ID for multiple NXT200Xs
 *	NxtAcqOptions_t  stopOptions - 	Channel to be stopped,
 *							if function should return asynchronously
 *
 * Returns:
 *	Data16
 *
 * Notes:
 *	If calling within a notification function, use ASYNC option
 *  If ASYNC option is selected, it returns before background tasks
 *	have ended.
 *	
 **********************************************************************/
DRV2_API Data16 NxtStop(void *pContext, 
					NxtAcqOptions_t stopOptions);


/**********************************************************************/
/*                              Query APIs                            */
/**********************************************************************/

/**********************************************************************
 *
 * NxtGetFatLockStatus
 *
 * Obtains the current frame/mpeg lock status in FAT channel.
 *
 * Inputs:
 *	void *pContext - NULL, or user-defined ID for multiple NXT200Xs
 *
 * Outputs:
 *	Bool *pbFatLocked - TRUE if frame/mpeg lock achieved
 *
 * Returns:
 *	Data16
 *
 *
 **********************************************************************/
DRV2_API Data16 NxtGetFatLockStatus(void *pContext,
					Bool *pbFatLocked );

/**********************************************************************
 *
 * NxtGetRSErrCount
 *
 * Obtains the number of uncorrectable Reed-Solomon errors in FAT 
 * channel accumulated since the last read.
 *
 * Inputs:
 *	void *pContext - NULL, or user-defined ID for multiple NXT200Xs
 *
 * Outputs:
 *	Data8 *pErrCount - number of Reed-Solomon errors since last read
 *
 * Returns:
 *	Data16
 *
 * Notes:
 *	The output value is only valid if the current channel is locked.
 *
 **********************************************************************/
DRV2_API Data16 NxtGetRSErrCount(void *pContext,
					Data8 *pErrCount);

/**********************************************************************
 *
 * NxtReadRAM
 *
 * Obtains a copy of data from microcontroller or AGC RAM
 *
 * Inputs:
 *	void *pContext - NULL, or user-defined ID for multiple NXT200Xs
 *	NxtReadType_t ucOrAgc - selects microcontroller or AGC RAM
 *	Data16 startAddress - first address to read
 *	Data16 byteCount - number of bytes to read
 *
 * Outputs:
 *	Data8 *pBuffer - RAM data copied to user-provided buffer
 *
 * Returns:
 *	Data16
 *
 **********************************************************************/
DRV2_API Data16 NxtReadRAM(void *pContext,
					NxtReadType_t ucOrAgc,
					Data16 startAddress,
					Data16 byteCount,
					Data8 *pBuffer );

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

⌨️ 快捷键说明

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