📄 tmdlmbs.h
字号:
//
// RETURN: tmErrorCode_t = resulting error condition or TM_OK
//
// NOTES: None
//-----------------------------------------------------------------------------
//
tmErrorCode_t
tmdlMbsGetCapabilities (
ptmdlMbsCapabilities_t *ppCap // O: pointer to buffer pointer
);
//-----------------------------------------------------------------------------
// FUNCTION: tmdlMbsGetCapabilitiesM:
//
// DESCRIPTION: This function returns a pointer to the capabilities of the
// specified MBS unit.
//
// RETURN: tmErrorCode_t = resulting error condition or TM_OK
//
// NOTES: None
//-----------------------------------------------------------------------------
//
tmErrorCode_t
tmdlMbsGetCapabilitiesM (
ptmdlMbsCapabilities_t *ppCap, // O: pointer to buffer pointer
tmUnitSelect_t unitSelect // I: selected hardware unit
);
//-----------------------------------------------------------------------------
// FUNCTION: tmdlMbsOpen:
//
// DESCRIPTION: This function opens MBS Unit 0 for access. To open other
// MBS units in the system (if any), use tmdlMbsOpenM. If the
// function returns successfully, an MBS instance is returned.
// The MBS instance is passed in as a parameter in subsequent
// device library function calls. Use the tmdlMbsClose function
// to close the MBS instance and free system resources after all
// MBS instance accesses have been completed.
//
// RETURN: tmErrorCode_t = resulting error condition or TM_OK
//
// NOTES: None
//-----------------------------------------------------------------------------
//
tmErrorCode_t
tmdlMbsOpen (
tmInstance_t *pInstance // O: instance pointer
);
//-----------------------------------------------------------------------------
// FUNCTION: tmdlMbsOpenM:
//
// DESCRIPTION: This function opens the specified MBS Unit for access. If the
// function returns successfully, an MBS instance is returned.
// The MBS instance is passed in as a parameter in subsequent
// device library function calls. Use the tmdlMbsClose function
// to close the MBS instance and free system resources after all
// MBS instance accesses are completed.
//
// RETURN: tmErrorCode_t = resulting error condition or TM_OK
//
// NOTES: None
//-----------------------------------------------------------------------------
//
tmErrorCode_t
tmdlMbsOpenM (
tmInstance_t *pInstance, // O: instance pointer
tmUnitSelect_t unitSelect // I: selected hardware unit
);
//-----------------------------------------------------------------------------
// FUNCTION: tmdlMbsClose:
//
// DESCRIPTION: This function closes the specified MBS instance. After the
// MBS instance is closed, the instance is no longer valid and
// cannot be used for device library function calls. All tasks
// will be destroyed.
//
// RETURN: tmErrorCode_t = resulting error condition or TM_OK
//
// NOTES: None
//-----------------------------------------------------------------------------
//
tmErrorCode_t
tmdlMbsClose (
tmInstance_t instance // I: instance to give up
);
//-----------------------------------------------------------------------------
// FUNCTION: tmdlMbsGetClockFreq:
//
// DESCRIPTION: Returns the clock frequency currently set for the MBS unit.//
// RETURN: Resulting error condition
//
// NOTES: None
//-----------------------------------------------------------------------------
//
tmErrorCode_t
tmdlMbsGetClockFreq (
tmInstance_t instance, // I: instance
ptmdlMbs2_clockFreq_t pClockFreq // O: buffer receiving frequency
);
//-----------------------------------------------------------------------------
// FUNCTION: tmdlMbsGetDefaultClockFreq://// DESCRIPTION: Returns the default clock frequency of the MBS//// RETURN: Resulting error condition//// NOTES: None//-----------------------------------------------------------------------------//tmErrorCode_ttmdlMbsUnitGetDefaultClockFreq ( tmUnitSelect_t unit, // I: mbs unit ptmdlMbs2_clockFreq_t pClockFreq // O: buffer receiving frequency );//-----------------------------------------------------------------------------// FUNCTION: tmdlMbsSetClockFreq:
//
// DESCRIPTION: Sets the clock frequency of the MBS.
//
// RETURN: Resulting error condition
//
// NOTES: None
//-----------------------------------------------------------------------------
//
tmErrorCode_t
tmdlMbsSetClockFreq (
tmInstance_t instance, // I: instance
tmdlMbs2_clockFreq_t clockFreq // O: new clock frequency
);
//-----------------------------------------------------------------------------
// FUNCTION: tmdlMbsEnableStreamMode:
//
// DESCRIPTION: This function enables the streaming mode for the specified
// instance. The intent of this mode is for use in Viper2 where
// video data will be streamed directly between the hardware
// modules without going to memory.
//
// RETURN: TM_OK streaming mode enabled
// TMDL_ERR_MBS_INIT_FAILED another instance already has this
// unit opened in normal (interrupt) mode, OR
// tmdlMbsInstanceSetup has already been called.
//
// NOTES: Only one instance per unit is allowed in streaming mode.
//
// This function must be called after tmdlMbsOpen(M) AND before
// tmdlMbsInstanceSetup.
//
// The instance runs with interrupts disabled; therfore, the
// following functions are not supported in streaming mode:
//
// tmdlMbsRegisterCallback
// tmdlMbsSetEventMask
// tmdlMbsTaskGetStatus
// tmdlMbsTaskAbort
//
// With task status not supported, the instance owner is
// responsible for making sure the task's task list is not
// updated (overwritten), or the task is destroyed
// (tmdlQvcpTaskDestroy) before the hardware has executed the
// task. The following functions update the task list when
// called:
//
// tmdlMbsTaskUpdateMsa3Control
// tmdlMbsTaskUpdateSrcPosition
// tmdlMbsTaskUpdateDei
// tmdlMbsTaskUpdateEddi
// tmdlMbsTaskUpdateEddiLevel
// tmdlMbsTaskUpdateHorzCoeffs
// tmdlMbsTaskUpdateVertCoeffs
//
// The following functions set update flags and update the task
// list when tmdlMbsTaskUpdate or tmdlMbsTaskDispatch is called:
//
// tmdlMbsTaskUpdateRects
// tmdlMbsTaskUpdateFilterSetup
// tmdlMbsTaskUpdateDynZoom
// tmdlMbsTaskUpdateHorzOutputShift
// tmdlMbsTaskUpdateVertOutputShift
// tmdlMbsTaskUpdateDeiBufferFlag//
// No task queuing is supported. tmdlMbsTaskDispatch places the
// task directly into the hardware FIFO. The instance owner is
// responsible for preventing FIFO overflow.
//
// Video Measurement is not supported in streaming mode; therefore
// the following functions are not supported in streaming mode:
//
// tmdlMbsTaskUpdateMeas
// tmdlMbsTaskUpdateMeasBuffer
//-----------------------------------------------------------------------------
//
tmErrorCode_t
tmdlMbsEnableStreamMode (
tmInstance_t instance // I: instance
);
//-----------------------------------------------------------------------------
// FUNCTION: tmdlMbsGetInstanceSetup:
//
// DESCRIPTION: Get current MBS setup, or default setup if not setup yet.
//
// RETURN: tmErrorCode_t = resulting error condition or TM_OK
//
// NOTES: None
//-----------------------------------------------------------------------------
//
tmErrorCode_t
tmdlMbsGetInstanceSetup (
tmInstance_t instance, // I: instance
ptmdlMbsInstanceSetup_t pSetup // O: buffer receiving pars
);
//-----------------------------------------------------------------------------
// FUNCTION: tmdlMbsInstanceSetup:
//
// DESCRIPTION: Setup default settings for this MBS instance.
//
// RETURN: tmErrorCode_t = resulting error condition or TM_OK
// TMDL_ERR_MBS_INIT_FAILED - Setup called more than once
//
// NOTES: The MBS is ready to accept tasks after successful completion
// of tmdlMbsInstanceSetup.
//
// tmdlMbsInstanceSetup CAN ONLY BE CALLED ONCE PER INSTANCE
//-----------------------------------------------------------------------------
//
tmErrorCode_t
tmdlMbsInstanceSetup (
tmInstance_t instance, // I: instance
ptmdlMbsInstanceSetup_t pSetup // I: ptr to new setup structure
);
//-----------------------------------------------------------------------------
// FUNCTION: tmdlMbsRegisterCallback:
//
// DESCRIPTION: Allows device library users to install a callback function
// which will be called when specified events occur.
//
// RETURN: tmErrorCode_t = resulting error condition or TM_OK
//
// NOTES: The event mask for the callback is initialized to none.
//
// The userData parameter is returned as an input parameter to the
// callback function when it is called.
//-----------------------------------------------------------------------------
//
tmErrorCode_t
tmdlMbsRegisterCallback (
tmInstance_t instance, // I: instance
tmCallback_t pCallBack, // I: pointer to callback function
UInt32 userData // I: user data (context)
);
//-----------------------------------------------------------------------------
// FUNCTION: tmdlMbsSetEventMask:
//
// DESCRIPTION: Allows the device library user to indicate which events generate
// a call to the callback function.
//
// RETURN: tmErrorCode_t = resulting error condition or TM_OK
//
// NOTES: Must be called after tmdlMbsRegisterCallback.
//-----------------------------------------------------------------------------
//
tmErrorCode_t
tmdlMbsSetEventMask (
tmInstance_t instance, // I: instance
UInt32 eventMask // I: bitwise OR of tmdlMbsEvent_t events
);
//-----------------------------------------------------------------------------
// FUNCTION: tmdlMbsInstanceConfig:
//
// DESCRIPTION: The MBS DevLib is task based, and therefore provides no per
// instance configuration that can be changed. This function
// will always return an error.
//
// RETURN: TMDL_ERR_MBS_NOT_SUPPORTED
//
// NOTES: None
//-----------------------------------------------------------------------------
//
tmErrorCode_t
tmdlMbsInstanceConfig (
tmInstance_t instance, // I: instance
UInt32 commandID, // I: command ID
pVoid parameter // IO: ptr to parameter
);
//-----------------------------------------------------------------------------
// FUNCTION: tmdlMbsGetPowerState:
//
// DESCRIPTION: get power state (on, standby, suspend, or off)
//
// RETURN: tmErrorCode_t = resulting error condition or TM_OK
//
// NOTES: None
//-----------------------------------------------------------------------------
//
tmErrorCode_t
tmdlMbsGetPowerState (
tmInstance_t instance, // I: instance
ptmPowerState_t pPowerState // O: buffer receiving power state
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -