📄 dsydef.h
字号:
CT_DSub9, // 0x05 Connector over DSub
// IOs
CT_Opto, // 0x06
CT_Gpio_TTL, // 0x07
CT_Gpio_LVDS, // 0x08
// Bus
CT_GiGe, // 0x09
CT_USB, // 0x0a
CT_FireWire, // 0x0b
CT_Last // 0x0c
};
/** Signal Identifiers.
* @ingroup DaisyEnums
* Input/output signal type.
* @sa _tagLvSignal
*/
enum __SigId {
SigId_First=0xC000,
/** The signal is from/to an optocoupler device. */
SigId_Opto=SigId_First,
/** The signal is from/to a TTL general purpose IO. */
SigId_GpioTTL,
/** The signal is from/to a differential (LVDS) general purpose IO. */
SigId_GpioLVDS,
SigId_LastIO,
/** The signal is defined using explicit CeSig definitions. */
SigId_CeSig=0xC080,
SigId_Last
};
/** @defgroup OptocouplerStuff Optocouplers.
* @ingroup DaisyDefines
*/
/** @defgroup DefOptocoupler DefOptocoupler - Optocoupler definitions.
* One (or OR-ed combination) of these values could be used by LvGrabberNode::SetOptocouplerBank() or LvGrabberNode::GetOptocouplerBank()
* @ingroup OptocouplerStuff
* @sa LvGrabberNode::SetOptocouplerBank(),
* LvGrabberNode::GetOptocouplerBank(),
* LvGrabberNode::SetOptocouplerBankCfg(),
* LvGrabberNode::GetOptocouplerBankCfg(),
* @ref OptoCfg_definitions "OptoCfg",
* @ref OptoFlags_def "OptoFlag"
*/
//@{
#define Opto_0 (1L<<0 ) /**< Activates the 1st optocoupler. */
#define Opto_1 (1L<<1 ) /**< Activates the 2nd optocoupler. */
#define Opto_2 (1L<<2 ) /**< Activates the 3rd optocoupler. */
#define Opto_3 (1L<<3 ) /**< Activates the 4th optocoupler. */
#define Opto_4 (1L<<4 ) /**< Activates the 5th optocoupler. */
#define Opto_5 (1L<<5 ) /**< Activates the 6th optocoupler. */
#define Opto_6 (1L<<6 ) /**< Activates the 7th optocoupler. */
#define Opto_7 (1L<<7 ) /**< Activates the 8th optocoupler. */
#define Opto_8 (1L<<8 ) /**< Activates the 9th optocoupler. */
#define Opto_9 (1L<<9 ) /**< Activates the 10th optocoupler. */
#define Opto_10 (1L<<10) /**< Activates the 11th optocoupler. */
#define Opto_11 (1L<<11) /**< Activates the 12th optocoupler. */
#define Opto_12 (1L<<12) /**< Activates the 13th optocoupler. */
#define Opto_13 (1L<<13) /**< Activates the 14th optocoupler. */
#define Opto_14 (1L<<14) /**< Activates the 15th optocoupler. */
#define Opto_15 (1L<<15) /**< Activates the 16th optocoupler. */
#define Opto_16 (1L<<16) /**< Activates the 17th optocoupler. */
#define Opto_17 (1L<<17) /**< Activates the 18th optocoupler. */
#define Opto_18 (1L<<18) /**< Activates the 19th optocoupler. */
#define Opto_19 (1L<<19) /**< Activates the 20th optocoupler. */
#define Opto_20 (1L<<20) /**< Activates the 21st optocoupler. */
#define Opto_21 (1L<<21) /**< Activates the 22nd optocoupler. */
#define Opto_22 (1L<<22) /**< Activates the 23rd optocoupler. */
#define Opto_23 (1L<<23) /**< Activates the 24th optocoupler. */
#define Opto_24 (1L<<24) /**< Activates the 25th optocoupler. */
#define Opto_25 (1L<<25) /**< Activates the 26th optocoupler. */
#define Opto_26 (1L<<26) /**< Activates the 27th optocoupler. */
#define Opto_27 (1L<<27) /**< Activates the 28th optocoupler. */
#define Opto_28 (1L<<28) /**< Activates the 29th optocoupler. */
#define Opto_29 (1L<<29) /**< Activates the 30th optocoupler. */
#define Opto_30 (1L<<30) /**< Activates the 31st optocoupler. */
#define Opto_31 (1L<<31) /**< Activates the 32nd optocoupler. */
//@}
/** @defgroup OptoCfg_definitions OptoCfg definitions
* One (or OR-ed combination) of these values could be used by
* LvGrabberNode::GetOptocouplerBankCfg() or LvGrabberNode::SetOptocouplerBankCfg()
* @ingroup OptocouplerStuff
* @sa LvGrabberNode::GetOptocouplerBankCfg(), LvGrabberNode::SetOptocouplerBankCfg()
*/
//@{
#define OptoCfg_Disable 0 /**< The optocoupler is not reported in the buffered state. */
#define OptoCfg_RaisingEdge 1 /**< The optocoupler is reported in the buffered state when transacting from low to high. */
#define OptoCfg_FallingEdge 2 /**< The optocoupler is reported in the buffered state when transacting from high to low. */
#define OptoCfg_BothEdge 3 /**< The optocoupler is reported in the buffered state when transacting from high to low or from low to high. */
//@}
/** @defgroup ScalingMode ScalingMode - definition of the possible scaling modes
* One of these values is used by LvGrabberNode::SetScaleMode() as its paramater.
* @ingroup DaisyDefines
* @sa LvGrabberNode::SetScaleMode()
*/
//@{
/** Changes in requested image size is obtained by modifying the camera region of interest size. */
#define SMd_Clip 0x00
/** Changes in requested image size is obtained by scaling the actual camera region of interest.
* The camera region of interest can be adjusted to fulfill hardware constrains.
*/
#define SMd_Scale 0x01
//@}
/*? @defgroup ConnectorId ConnectorId - definition of the recognized connector identifiers
* @ingroup DaisyDefines
*/
#define ConnT_None 0x00 /* No connector. */
#define ConnT_LvStandard 0x01 /* Leutron Vision Standard connector for PrimaView. */
#define ConnT_LvPixelSync 0x02 /* Leutron Vision connector for Pixel synchronous cameras for PrimaView. */
#define ConnT_LvInternal_0 0x03
#define ConnT_UserDefined 0x04 /* User defined connector for PrimaView. */
#define ConnT_LvMultiStandard 0x05 /* Leutron Vision Multistandard connector for PrimaView. */
#define ConnT_LvXC7500 0x06 /* Leutron Vision connector for Sony XC7500 for Picport BW Stereo. */
#define ConnT_LvPpPixelSync 0x07 /* Leutron Vision connector for Pixel synchronous cameras for Picport BW. */
#define ConnT_LvDualCamera 0x08 /* Leutron Vision connector dual camera for Picport BW. */
#define ConnT_PMC_H1 0x09 /* Leutron Vision connector 1 Hirose for Penticam. */
#define ConnT_PMC_H4 0x0a /* Leutron Vision connector 4 Hirose for Penticam. */
#define ConnT_PMC_H8 0x0b /* Leutron Vision connector 8 Hirose for Penticam. */
#define ConnT_PMC_BNC4 0x0c /* Leutron Vision connector 4 BNC for for Penticam. */
#define ConnT_Last 0x0d
/** @defgroup Targets Targets - memory targets for image transfers definition.
* @ingroup DaisyDefines
* They are interpreted differently by a different boards.
* Generally there exist the only one situation when the programmer is in need of to use Targets -
* when the programmer uses the planar RGB output functionality of some of our frame grabbers.
* In such case the input RGB image is split into individual color
* planes that are then transferred to the host memory through separate data streams (DMA channels). Each of those
* streams is identified by a separate target and user is free to activate all of them
* simultaneously by OR-ing the target constants.
* Targets could be used in a lot of functions across LVSDS library: LvCameraNode::Activate(),
* LvGrabberNode::ActivateCamera(), LvGrabberNode::ActivateROI(), LvGrabberNode::DeactivateCamera(), LvGrabberNode::GetConnectionInfo(),
* LvGrabberNode::GetGrabberCapability(), LvGrabberNode::GetTargetDescription(), LvGrabberNode::SetScaleMode(),
* LvGrabberNode::UpdateLockMask()
*/
//@{
/** First target.
* Transfers full image data (not split), this is not usually needed when using RGB splitting
*/
#define Tgt_1 0x01
/** Second target.
* In case when RGB splitting is used, it transfers the red color plane.
*/
#define Tgt_2 0x02
/** Third target.
* In case when RGB splitting is used, it transfers the green color plane.
*/
#define Tgt_3 0x04
/** Fourth target.
* In case when RGB splitting is used, it transfers the blue color plane.
*/
#define Tgt_4 0x08
/** Default target.
* The default one. It transfers full image data (not split).
*/
#define Tgt_Default Tgt_1
//@}
#define Tgt_All 0x0f
#define Tgt_EarlySplit 0x80
#define Tgt_Mask 0x7f
#define Tgt_Last 4
/** @defgroup LiveFreeze_Target LiveFreeze_Target - target parameter for the live/freeze functions.
* They are used to control which targets have to be influenced by the command.
* They are interpreted differently by different boards.
* @ingroup DaisyDefines
* @sa LvCameraNode::Freeze(), LvCameraNode::Live()
*/
//@{
/** First target. */
#define LiveFreeze_Tgt_1 0x00010000L
/** Second target. */
#define LiveFreeze_Tgt_2 0x00020000L
/** Third target. */
#define LiveFreeze_Tgt_3 0x00040000L
/** Fourth target. */
#define LiveFreeze_Tgt_4 0x00080000L
/** All targets (default). */
#define LiveFreeze_Tgt_All 0x00000000L
//@}
/*? @defgroup CmdLiveFldNr CmdLiveFldNr - live parameters definition for number of field to acquire
* @ingroup DaisyDefines
*/
#define CLive_Permanent 0x00000000L /* Next live command will be permanent live. */
#define CLive_1_Field 0x00000100L /* Next live command will acquire 1 field then freeze. */
#define CLive_2_Field 0x00000200L /* Next live command will acquire 2 fields then freeze. */
#define CLive_3_Field 0x00000300L /* Next live command will acquire 3 fields then freeze. */
#define CLive_4_Field 0x00000400L /* Next live command will acquire 4 fields then freeze. */
#define CLive_5_Field 0x00000500L /* Next live command will acquire 5 fields then freeze. */
#define CLive_6_Field 0x00000600L /* Next live command will acquire 6 fields then freeze. */
#define CLive_7_Field 0x00000700L /* Next live command will acquire 7 fields then freeze. */
/*? @defgroup CmdLiveFldStart CmdLiveFldStart - live parameters definition for desired field start
* @ingroup DaisyDefines
*/
#define CLive_Start_Field1 0x00001000L /* Next live command will start with the 1st field. */
#define CLive_Start_Field2 0x00002000L /* Next live command will start with the 2nd field. */
/*? @defgroup CmdLiveMode CmdLiveMode - live mode parameters.
*/
#define CLive_FieldSwap 0x00000800L
#define CLive_Start_Mask 0x00003000L
#define CLive_Start_Shift 12
#define CLive_Field_Mask 0x00000700L
#define CLive_Field_Shift 0x8
#define CLive_Sync_Mask 0x000000ffL
#define CLive_UseAux 0x00004000L
#define CLive_Suspend 0x00008000L
#define CLive_NoConnCheck 0x00010000L
/** @defgroup OptoFlags_def OptoFlag definitions
* @ingroup OptocouplerStuff
* @sa LvGrabberNode::GetOptocouplerBank()
*/
//@{
#define OptoFlag_Default 0x00000000L /**< Default flags for optocoupler handling. */
#define OptoFlag_Buffered 0x00000001L /**< Request the buffered input optocoupler state instead of the immediate state. */
//@}
#define TgtBuffer_First 0x00
/** @defgroup TargetBuffer Target buffers for image transfers
* @ingroup DaisyDefines
* @sa LvGrabberNode::GetTgtBufferInfo(), LvMemInfo, LvROI::SetTargetBuffer()
*/
//@{
/** Video memory used by Windows (screen). */
#define TgtBuffer_WinVga 0x00
/** Video memory of the first inactive VGA, if present. */
#define TgtBuffer_Vga_1 0x01
/** Video memory of the second inactive VGA, if present. */
#define TgtBuffer_Vga_2 0x02
/** Video memory of the third inactive VGA, if present. */
#define TgtBuffer_Vga_3 0x03
/** CPU memory allocated by the LV VxD. */
#define TgtBuffer_CPU 0x04
/** RPS memory allocated by the LV VxD. */
#define TgtBuffer_RPS 0x05
/** LMK memory allocated by the LV VxD. */
#define TgtBuffer_LMK 0x06
// Video memory of the nth inactive VGA, if present
#define TgtBuffer_Vga_4 0x07
#define TgtBuffer_Vga_5 0x08
#define TgtBuffer_Vga_6 0x09
#define TgtBuffer_Vga_7 0x0a
#define TgtBuffer_Vga_8 0x0b
#define TgtBuffer_Vga_9 0x0c
#define TgtBuffer_Vga_10 0x0d
#define TgtBuffer_Vga_11 0x0e
#define TgtBuffer_Vga_12 0x0f
#define TgtBuffer_Vga_13 0x10
#define TgtBuffer_Vga_14 0x11
#define TgtBuffer_Vga_15 0x12
#define TgtBuffer_Vga_16 0x13
#define TgtBuffer_Vga_17 0x14
#define TgtBuffer_Vga_18 0x15
#define TgtBuffer_Vga_19 0x16
#define TgtBuffer_Vga_20 0x17
#define TgtBuffer_Vga_21 0x18
#define TgtBuffer_Vga_22 0x19
#define TgtBuffer_Vga_23 0x1a
#define TgtBuffer_Vga_24 0x1b
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -