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

📄 pvcam.h

📁 SDFGASFASFASFAS EDGSGA DGSFGSA
💻 H
📖 第 1 页 / 共 4 页
字号:
  PI Conversion: NORMAL_COOL = TE_COOLED
                 CRYO_COOL   = LN_COOLED
*/
enum
{ NORMAL_COOL, CRYO_COOL };

/************************** Class 2: Name/ID sizes ***************************/
#define CCD_NAME_LEN  17           /* Includes space for the null terminator */
#define MAX_ALPHA_SER_NUM_LEN 32   /* Includes space for the null terminator */

/*********************** Class 2: MPP capability flags ***********************/
/* used with the PARAM_MPP_CAPABLE parameter id.                             */
enum
{ MPP_UNKNOWN, MPP_ALWAYS_OFF, MPP_ALWAYS_ON, MPP_SELECTABLE };

/************************** Class 2: Shutter flags ***************************/
/* used with the PARAM_SHTR_STATUS parameter id.                            
  PI Conversion: n/a   (returns SHTR_OPEN)
*/
enum
{ SHTR_FAULT, SHTR_OPENING, SHTR_OPEN, SHTR_CLOSING, SHTR_CLOSED,
  SHTR_UNKNOWN
};

/************************ Class 2: Pmode constants ***************************/
/* used with the PARAM_PMODE parameter id.                                   */
enum
{ PMODE_NORMAL, PMODE_FT, PMODE_MPP, PMODE_FT_MPP,
  PMODE_ALT_NORMAL, PMODE_ALT_FT, PMODE_ALT_MPP, PMODE_ALT_FT_MPP,
  PMODE_INTERLINE
};

/************************ Class 2: Color support constants *******************/
/* used with the PARAM_COLOR_MODE parameter id.                              */
enum
{ COLOR_NONE, COLOR_RGGB = 2 };

/************************ Class 2: Attribute IDs *****************************/
/*
  Function: pl_get_param()
*/
enum
{ ATTR_CURRENT, ATTR_COUNT, ATTR_TYPE, ATTR_MIN, ATTR_MAX, ATTR_DEFAULT,
  ATTR_INCREMENT, ATTR_ACCESS, ATTR_AVAIL
};

/************************ Class 2: Access types ******************************/
/*
  Function: pl_get_param( ATTR_ACCESS )
*/
enum
{ ACC_ERROR, ACC_READ_ONLY, ACC_READ_WRITE, ACC_EXIST_CHECK_ONLY,
  ACC_WRITE_ONLY
};
/* This enum is used by the access Attribute */

/************************ Class 2: I/O types *********************************/
/* used with the PARAM_IO_TYPE parameter id.                                 */
enum
{ IO_TYPE_TTL, IO_TYPE_DAC };

/************************ Class 2: I/O direction flags ***********************/
/* used with the PARAM_IO_DIRECTION parameter id.                            */
enum
{ IO_DIR_INPUT, IO_DIR_OUTPUT, IO_DIR_INPUT_OUTPUT };

/************************ Class 2: I/O port attributes ***********************/
enum
{ IO_ATTR_DIR_FIXED, IO_ATTR_DIR_VARIABLE_ALWAYS_READ };

/************************ Class 2: Trigger polarity **************************/
/* used with the PARAM_EDGE_TRIGGER parameter id.                            */
enum
{ EDGE_TRIG_POS = 2, EDGE_TRIG_NEG };

/************************ Class 2: Logic Output ******************************/
/* used with the PARAM_LOGIC_OUTPUT parameter id.                            */
enum
{ OUTPUT_NOT_SCAN = 0, OUTPUT_SHUTTER, OUTPUT_NOT_RDY, OUTPUT_LOGIC0,
  OUTPUT_CLEARING, OUTPUT_NOT_FT_IMAGE_SHIFT, OUTPUT_RESERVED,
  OUTPUT_LOGIC1
};

/************************ Class 2: PI-Max intensifer gating settings *********/
/* used with the PARAM_SHTR_GATE_MODE parameter id.                          */
enum
{ INTENSIFIER_SAFE = 0, INTENSIFIER_GATING, INTENSIFIER_SHUTTER };

/************************ Class 2: Readout Port ******************************/
/* used with the PARAM_READOUT_PORT parameter id.                            */
enum
{ READOUT_PORT_MULT_GAIN = 0,
  READOUT_PORT_NORMAL,
  READOUT_PORT_LOW_NOISE,
  READOUT_PORT_HIGH_CAP,
  /* deprecated */
  READOUT_PORT1 = 0,
  READOUT_PORT2 = 1
};

/************************ Class 2: Anti Blooming *****************************/
/* used with the PARAM_ANTI_BLOOMING parameter id.                           */
enum
{ ANTIBLOOM_NOTUSED = 0, ANTIBLOOM_INACTIVE, ANTIBLOOM_ACTIVE };

/************************ Class 2: Clearing mode flags ***********************/
/* used with the PARAM_CLEAR_MODE parameter id.                              */
enum
{ CLEAR_NEVER, CLEAR_PRE_EXPOSURE, CLEAR_PRE_SEQUENCE, CLEAR_POST_SEQUENCE,
  CLEAR_PRE_POST_SEQUENCE, CLEAR_PRE_EXPOSURE_POST_SEQ
};

/************************ Class 2: Shutter mode flags ************************/
/*
  Function: pl_set_param ( PARAM_SHTR_OPEN_MODE )

  PI Conversion: OPEN_NEVER:        SHUTTER_CLOSE
                 OPEN_PRE_EXPOSURE: SHUTTER_OPEN  & CMP_SHT_PREOPEN = FALSE
                 OPEN_PRE_SEQUENCE: SHUTTER_DISABLED_OPEN
                 OPEN_PRE_TRIGGER:  SHUTTER_OPEN & CMP_SHT_PREOPEN = TRUE
                 OPEN_NO_CHANGE:    SHUTTER_OPEN
*/
enum
{ OPEN_NEVER, OPEN_PRE_EXPOSURE, OPEN_PRE_SEQUENCE, OPEN_PRE_TRIGGER,
  OPEN_NO_CHANGE
};

/************************ Class 2: Exposure mode flags ***********************/
/* used with the PARAM_EXPOSURE_MODE parameter id.                            
  Functions: pl_exp_setup_cont()
             pl_exp_setup_seq()

  PI Conversion:

         Readout Mode: Normal           ROM_KINETICS              ROM_DIF
  ---------------------------------------------------------------------------
            BULB_MODE: (not supported)                            CTRL_EEC
           FLASH_MODE: (Don't have this)
         STROBED_MODE: CTRL_EXTSYNC     CTRL_KINETICS_MULTIPLE    CTRL_ESABI
           TIMED_MODE: CTRL_FREERUN     CTRL_KINETICS_NO_TRIGGER
   TRIGGER_FIRST_MODE: (not supported)  CTRL_KINETICS_SINGLE      CTRL_IEC
  VARIABLE_TIMED_MODE: (Do not use)
      INT_STROBE_MODE: CTRL_INTERNAL_SYNC

*/
enum
{ TIMED_MODE, STROBED_MODE, BULB_MODE, TRIGGER_FIRST_MODE, FLASH_MODE,
  VARIABLE_TIMED_MODE, INT_STROBE_MODE
};

/********************** Class 3: Readout status flags ************************/
/*
  Function: pl_exp_check_status()
  PI Conversion: PICM_LockCurrentFrame()
                 PICM_Chk_Data()

    if NEWDATARDY or NEWDATAFIXED     READOUT_COMPLETE
    else if RUNNING                   ACQUISITION_IN_PROGRESS
    else if INITIALIZED or DONEDCOK   READOUT_NOT_ACTIVE
    else                              READOUT_FAILED

*/
enum
{ 
  READOUT_NOT_ACTIVE, 
  EXPOSURE_IN_PROGRESS, 
  READOUT_IN_PROGRESS,
  READOUT_COMPLETE,                   /* Means frame available for a circular buffer acq */
  FRAME_AVAILABLE = READOUT_COMPLETE, /* New camera status indicating at least one frame is available */
  READOUT_FAILED, 
  ACQUISITION_IN_PROGRESS,
  MAX_CAMERA_STATUS
};

/********************** Class 3: Abort Exposure flags ************************/
/*
  Function: pl_exp_abort()
  PI Conversion: controller->Stop(), enum spec ignored
*/
enum
{ CCS_NO_CHANGE, CCS_HALT, CCS_HALT_CLOSE_SHTR, CCS_CLEAR,
  CCS_CLEAR_CLOSE_SHTR, CCS_OPEN_SHTR, CCS_CLEAR_OPEN_SHTR
};

/************************ Class 3: Event constants ***************************/
enum
{ EVENT_START_READOUT, EVENT_END_READOUT };

/************************ Class 3: EOF/BOF constants *************************/
/* used with the PARAM_BOF_EOF_ENABLE parameter id.                          */
enum
{ NO_FRAME_IRQS, BEGIN_FRAME_IRQS, END_FRAME_IRQS, BEGIN_END_FRAME_IRQS };

/************************ Class 3: Continuous Mode constants *****************/
/*
  Function: pl_exp_setup_cont()
*/
enum
{ CIRC_NONE, CIRC_OVERWRITE, CIRC_NO_OVERWRITE };

/************************ Class 3: Fast Exposure Resolution constants ********/
/* used with the PARAM_EXP_RES parameter id.                                 */
enum
{ EXP_RES_ONE_MILLISEC, EXP_RES_ONE_MICROSEC, EXP_RES_ONE_SEC };

/************************ Class 3: I/O Script Locations **********************/
enum
{ SCR_PRE_OPEN_SHTR, SCR_POST_OPEN_SHTR, SCR_PRE_FLASH, SCR_POST_FLASH,
  SCR_PRE_INTEGRATE, SCR_POST_INTEGRATE, SCR_PRE_READOUT, SCR_POST_READOUT,
  SCR_PRE_CLOSE_SHTR, SCR_POST_CLOSE_SHTR
};

/************************* Class 3: Region Definition ************************/
typedef struct
{
  uns16 s1;                     /* First pixel in the serial register */
  uns16 s2;                     /* Last pixel in the serial register */
  uns16 sbin;                   /* Serial binning for this region */
  uns16 p1;                     /* First row in the parallel register */
  uns16 p2;                     /* Last row in the parallel register */
  uns16 pbin;                   /* Parallel binning for this region */
}
rgn_type, PV_PTR_DECL rgn_ptr;
typedef const rgn_type PV_PTR_DECL rgn_const_ptr;

/********************** Class 4: Buffer bit depth flags **********************/
enum
{ PRECISION_INT8, PRECISION_UNS8, PRECISION_INT16, PRECISION_UNS16,
  PRECISION_INT32, PRECISION_UNS32
};

/************************** Class 6: Export Control **************************/
typedef struct
{

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -