daar.h
来自「相机传输图像程序源代码 拜耳模式(RAW格式文件)与RGB图像数据互相转换函数」· C头文件 代码 · 共 333 行 · 第 1/2 页
H
333 行
/** Returns the minimum, maximum and default values for shutter in the current asynchronous reset mode.
* Can be called at any time after dral creation and does not affect other dral settings.
* @param ShutterMinUsec Minimum shutter time in microseconds
* @param ShutterMaxUsec Maximum shutter time in microseconds
* @param ShutterDefaultUsec Default shutter time in microseconds
* @return \b DSY_I_NoError on success.
*/
virtual LVSTATUS GetShutterLimits(U32BIT *ShutterMinUsec, U32BIT *ShutterMaxUsec, U32BIT *ShutterDefaultUsec) { return DSY_E_NotSupported; }
/** Returns \b TRUE if the shutter time is controllable by grabber and can be reprogrammed during the acquisition.
* @return \b TRUE if the camera provides a programmable shutter time.
*/
virtual BOOL IsShutterProgrammable(void) { return ShutterMode==ShtMode_SwDefined; }
/** Returns the shutter type provided by the camera.
* Some cameras provide the possibility to control the shutter time with
* signals from grabber, others require the user to set a specific pattern on a
* set of switches.\n
* This function returns the way the shutter time is controlled on the actual
* camera.
* @return One of the @ref DaSeq32_AR_ShutterMode values.
*/
virtual U32BIT GetShutterType(void) { return ShutterMode; }
/** Sets the flash mode to use.
* This function defines the mode to control a flash light eventually connected
* to the optocoupler output. The function does not enables the flash, the
* application should still use the EnableFlash() and DisableFlash() to
* control the optocoupler output.
* @param Mode One of the @ref DaSeq32_AR_FlashMode definitions.
* @return The flash mode actually set.
*/
virtual U32BIT SetFlashMode(U32BIT Mode);
/** Gets the flash mode currently set.
* This function returns the flash mode currently set to control a flash light
* eventually connected to the optocoupler output.\n
* One of the DaSeq32_AR_FlashMode definitions.
* @return The flash mode actually set.
*/
virtual U32BIT GetFlashMode(void);
/** Enables the control of the flash light.
* This function instructs the Sequencer Dral to drive a flash light connected
* to the grabber optocoupler.\n
* The duration of the impulse on the optocoupler is normally the same as
* the shutter time.
* @return The Flash control state (TRUE if successful)
* @sa DisableFlash(), IsFlashEnabled()
*/
virtual BOOL EnableFlash(void);
/** Disables the control of the flash light.
* This function instructs the Sequencer Dral to not drive a flash light
* eventually connected to the grabber optocoupler.
* @return The Flash control state (FALSE if successful)
* @sa EnableFlash(), IsFlashEnabled()
*/
virtual BOOL DisableFlash(void);
/** Returns the Flash controlling state.
* This function returns whether Sequencer Dral is controlling a flash light
* eventually connected to the grabber optocoupler.
* @return \b TRUE if grabber actively controls the flash otherwise \b FALSE
* @sa EnableFlash(), DisableFlash()
*/
virtual BOOL IsFlashEnabled(void);
/** Sets delay and duration of flash light.
* When FshMode_UserDefined mode is activated (using SetFlashMode() function) there is a possibility
* to allow explicitly set the desired start and duration of the strobe pulse. Both of these values
* could be set using this function.
* @param Startusec Sets the delay between start of the acquisition (from receiving the software or
* external hardware trigger) and start of the strobe pulse. This value is in microseconds.
* @param Durationusec Sets the desired strobe duration. This value is in microseconds
* @return @ref ErrorDefinitions
*/
virtual LVSTATUS SetFlashLimit(U32BIT Startusec, U32BIT Durationusec);
/** Gets current value of delay and duration of flash light.
* When FshMode_UserDefined mode is activated (using SetFlashMode() function) the flash limit
* could be set - and for back control - it could be got too. To get actual value of the
* flash limit the programmer could use this function
* @param Startusec pointer to U32BIT value representing delay between the start of the acquisition
* and start of the strobe pulse
* @param Durationusec pointer to U32BIT value representing duration of flash light
* @return @ref ErrorDefinitions
*/
virtual LVSTATUS GetFlashLimit(U32BIT *Startusec, U32BIT *Durationusec);
/** Sets the restart delay.
* This function allows to set a delay between the flash activation and the
* start of the shutter time for acquisition. By setting this value, it is possible
* to give time to an eventually connected flashlight for its activation. The
* value is in lines.
* @param Val Number of lines to wait before triggering the camera.
* @return The value actually set
* @sa GetCameraRestartDelay()
*/
virtual U32BIT SetCameraRestartDelay(U32BIT Val);
/** Gets the restart delay.
* Returns the delay between the flash activation and the start of the shutter
* time for acquisition. The value is in lines.
* @return The value in lines actually set.
* @sa SetCameraRestartDelay()
*/
virtual U32BIT GetCameraRestartDelay(void);
virtual LVSTATUS CameraSetExposure(U32BIT uSec, U32BIT Reserved=0) { return DSY_E_NotSupported; }
virtual LVSTATUS CameraGetExposure(U32BIT *Current, U32BIT *Min, U32BIT *Max, U32BIT Reserved=0) { return DSY_E_NotSupported; }
};
/** Creates a Sequencer Dral in asynchronous reset mode object.
* These are support functions, which provide easier handling of the proper
* asynchronous reset Sequencer Dral object. The user application can
* specify either the camera identifier or the camera name as specified in the
* Camera Editor.\n
* Function wraps to the DsyCreateSeqAR() function.
* @param CameraId Identifier of the camera that will be used in
* the Sequencer Dral configuration. This
* function takes care of creating an object
* based on the DsyApp_Seq_AsyncReset
* class, which best supports the camera type.
* @param DaisyCameraId Identifier of a predefined Daisy camera that is
* assumed to be equivalent to the one that will
* be used in the Sequencer Dral configuration.
* When specified, the CamId parameter is
* ignored and the Sequencer Dral object is
* created in a way that best supports the
* camera specified in this parameter.
* @param Param Type of asynchronous reset setting to be
* used with the specified camera, as defined in
* the Camera Editor. The value set in this
* parameter is one of the
* DaSeq32_AR_ShutterType definitions.
*/
inline
DsyApp_Seq32 *Seq32_AR_CreateObject(U16BIT CameraId, U16BIT DaisyCameraId=0, U32BIT Param=0)
{
return (DsyApp_Seq32 *)DsyCreateSeqAR(CameraId, DaisyCameraId, Param);
}
/** Creates a Sequencer Dral in asynchronous reset mode object.
* These are support functions, which provide easier handling of the proper
* asynchronous reset Sequencer Dral object. The user application can
* specify either the camera identifier or the camera name as specified in the
* Camera Editor.\n
* Function wraps to the DsyCreateSeqAR() function.
* @param CameraName Name of the camera that will be used in
* the Sequencer Dral configuration. This
* function takes care of creating an object
* based on the DsyApp_Seq_AsyncReset
* class, which best supports the camera type.
* @param DaisyCameraName Name of a predefined Daisy camera that is
* assumed to be equivalent to the one that will
* be used in the Sequencer Dral configuration.
* When specified, the CamId parameter is
* ignored and the Sequencer Dral object is
* created in a way that best supports the
* camera specified in this parameter.
* @param Param Type of asynchronous reset setting to be
* used with the specified camera, as defined in
* the Camera Editor. The value set in this
* parameter is one of the
* DaSeq32_AR_ShutterType definitions.
*/
inline
DsyApp_Seq32 *Seq32_AR_CreateObject(char *CameraName, char *DaisyCameraName=NULL, U32BIT Param=0)
{
return (DsyApp_Seq32 *)DsyCreateSeqAR(DsyGetCameraId(CameraName), DsyGetCameraId(DaisyCameraName), Param);
}
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?