📄 drv2005.h
字号:
/* 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 + -