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

📄 dsydef.h

📁 相机传输图像程序源代码 拜耳模式(RAW格式文件)与RGB图像数据互相转换函数库
💻 H
📖 第 1 页 / 共 4 页
字号:
    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 + -