📄 pvcam.h
字号:
/******************************************************************************
Copyright (C) Roper Scientific, Inc. 1990-2000. All rights reserved.
******************************************************************************/
#ifndef _PVCAM_H
#define _PVCAM_H
static const char *_pvcam_h_="$Header: /PVCAM v2.6/SourceCommon/pvcam.h 29 11/07/03 12:14p Ghavenga $";
/*********************** Constant & Type Definitions *************************/
/************************ Class 2: Data types ********************************/
/* Data type used by pl_get_param with attribute type (ATTR_TYPE). */
#define TYPE_CHAR_PTR 13
#define TYPE_INT8 12
#define TYPE_UNS8 5
#define TYPE_INT16 1
#define TYPE_UNS16 6
#define TYPE_INT32 2
#define TYPE_UNS32 7
#define TYPE_UNS64 8
#define TYPE_FLT64 4
#define TYPE_ENUM 9
#define TYPE_BOOLEAN 11
#define TYPE_VOID_PTR 14
#define TYPE_VOID_PTR_PTR 15
/* defines for classes */
#define CLASS0 0 /* Camera Communications */
#define CLASS1 1 /* Error Reporting */
#define CLASS2 2 /* Configuration/Setup */
#define CLASS3 3 /* Data Acuisition */
#define CLASS4 4 /* Buffer Manipulation */
#define CLASS5 5 /* Analysis */
#define CLASS6 6 /* Data Export */
#define CLASS7 7 /* Bridge Commands */
#define CLASS29 29 /* Buffer Functions */
#define CLASS30 30 /* Utility functions */
#define CLASS31 31 /* Memory Functions */
#define CLASS32 32 /* CCL Engine */
#define CLASS91 91 /* RS170 */
#define CLASS92 92 /* Defect Mapping */
#define CLASS93 93 /* Fast frame operations (PIV/ACCUM/Kinetics) */
#define CLASS94 94 /* PTG */
#define CLASS95 95 /* Virtual Chip */
#define CLASS96 96 /* Acton diagnostics. */
#define CLASS97 97 /* Custom Chip */
#define CLASS98 98 /* Custom timing */
#define CLASS99 99 /* Trenton diagnostics. */
/************************ Parameter IDs **************************************/
/* Format: TTCCxxxx, where TT = Data type, CC = Class, xxxx = ID number */
/* DEVICE DRIVER PARAMETERS (CLASS 0) */
/* Class 0 (next available index for class zero = 6) */
#define PARAM_DD_INFO_LENGTH ((CLASS0<<16) + (TYPE_INT16<<24) + 1)
#define PARAM_DD_VERSION ((CLASS0<<16) + (TYPE_UNS16<<24) + 2)
#define PARAM_DD_RETRIES ((CLASS0<<16) + (TYPE_UNS16<<24) + 3)
#define PARAM_DD_TIMEOUT ((CLASS0<<16) + (TYPE_UNS16<<24) + 4)
#define PARAM_DD_INFO ((CLASS0<<16) + (TYPE_CHAR_PTR<<24) + 5)
/* Camera Parameters Class 2 variables */
/* Class 2 (next available index for class two = 544) */
/* CCD skip parameters */
/* Min Block. amount to group on the shift register, to through way. */
#define PARAM_MIN_BLOCK ((CLASS2<<16) + (TYPE_INT16<<24) + 60)
/* number of min block groups to use before valid data. */
#define PARAM_NUM_MIN_BLOCK ((CLASS2<<16) + (TYPE_INT16<<24) + 61)
/* number of strips to clear at one time, before going to the */
/* minblk/numminblk scheme */
#define PARAM_SKIP_AT_ONCE_BLK ((CLASS2<<16) + (TYPE_INT32<<24) + 536)
/* Strips per clear. Used to define how many clears to use for continous */
/* clears and with clears to define the clear area at the beginning of an */
/* experiment. */
#define PARAM_NUM_OF_STRIPS_PER_CLR ((CLASS2<<16) + (TYPE_INT16<<24) + 98)
/* Set Continuous Clears for Trenton Cameras. This is for clearing while */
/* in external trigger. */
#define PARAM_CONT_CLEARS ((CLASS2<<16) + (TYPE_BOOLEAN<<24) + 540)
/* Only applies to Thompson ST133 5Mhz */
/* enables or disables anti-blooming. */
#define PARAM_ANTI_BLOOMING ((CLASS2<<16) + (TYPE_ENUM<<24) + 293)
/* This applies to ST133 1Mhz and 5Mhz and PentaMax V5 controllers. For the */
/* ST133 family this controls whether the BNC (not scan) is either not scan */
/* or shutter for the PentaMax V5, this can be not scan, shutter, not ready, */
/* clearing, logic 0, logic 1, clearing, and not frame transfer image shift. */
/* See enum below for possible values */
#define PARAM_LOGIC_OUTPUT ((CLASS2<<16) + (TYPE_ENUM<<24) + 66)
/* Edge Trigger defines whether the external sync trigger is positive or */
/* negitive edge active. This is for the ST133 family (1 and 5 Mhz) and */
/* PentaMax V5.0. */
/* see enum below for possible values. */
#define PARAM_EDGE_TRIGGER ((CLASS2<<16) + (TYPE_ENUM<<24) + 106)
/* Intensifier gain is currently only used by the PI-Max and has a range of */
/* 0-255 */
#define PARAM_INTENSIFIER_GAIN ((CLASS2<<16) + (TYPE_INT16<<24) + 216)
/* Shutter, Gate, or Safe mode, for the PI-Max. */
#define PARAM_SHTR_GATE_MODE ((CLASS2<<16) + (TYPE_ENUM<<24) + 217)
/* ADC offset setting. */
#define PARAM_ADC_OFFSET ((CLASS2<<16) + (TYPE_INT16<<24) + 195)
/* CCD chip name. */
#define PARAM_CHIP_NAME ((CLASS2<<16) + (TYPE_CHAR_PTR<<24) + 129)
#define PARAM_COOLING_MODE ((CLASS2<<16) + (TYPE_ENUM<<24) + 214)
#define PARAM_PREAMP_DELAY ((CLASS2<<16) + (TYPE_UNS16<<24) + 502)
#define PARAM_PREFLASH ((CLASS2<<16) + (TYPE_UNS16<<24) + 503)
#define PARAM_COLOR_MODE ((CLASS2<<16) + (TYPE_ENUM<<24) + 504)
#define PARAM_MPP_CAPABLE ((CLASS2<<16) + (TYPE_ENUM<<24) + 224)
#define PARAM_PREAMP_OFF_CONTROL ((CLASS2<<16) + (TYPE_UNS32<<24) + 507)
#define PARAM_SERIAL_NUM ((CLASS2<<16) + (TYPE_UNS16<<24) + 508)
/* CCD Dimensions and physical characteristics */
/* pre and post dummies of CCD. */
#define PARAM_PREMASK ((CLASS2<<16) + (TYPE_UNS16<<24) + 53)
#define PARAM_PRESCAN ((CLASS2<<16) + (TYPE_UNS16<<24) + 55)
#define PARAM_POSTMASK ((CLASS2<<16) + (TYPE_UNS16<<24) + 54)
#define PARAM_POSTSCAN ((CLASS2<<16) + (TYPE_UNS16<<24) + 56)
#define PARAM_PIX_PAR_DIST ((CLASS2<<16) + (TYPE_UNS16<<24) + 500)
#define PARAM_PIX_PAR_SIZE ((CLASS2<<16) + (TYPE_UNS16<<24) + 63)
#define PARAM_PIX_SER_DIST ((CLASS2<<16) + (TYPE_UNS16<<24) + 501)
#define PARAM_PIX_SER_SIZE ((CLASS2<<16) + (TYPE_UNS16<<24) + 62)
#define PARAM_SUMMING_WELL ((CLASS2<<16) + (TYPE_BOOLEAN<<24) + 505)
#define PARAM_FWELL_CAPACITY ((CLASS2<<16) + (TYPE_UNS32<<24) + 506)
/* Y dimension of active area of CCD chip */
#define PARAM_PAR_SIZE ((CLASS2<<16) + (TYPE_UNS16<<24) + 57)
/* X dimension of active area of CCD chip */
#define PARAM_SER_SIZE ((CLASS2<<16) + (TYPE_UNS16<<24) + 58)
/* X dimension of active area of CCD chip */
#define PARAM_ACCUM_CAPABLE ((CLASS2<<16) + (TYPE_BOOLEAN<<24) + 538)
#define PARAM_FLASH_DWNLD_CAPABLE ((CLASS2<<16) + (TYPE_BOOLEAN<<24) + 539)
/* General parameters */
/* Is the controller on and running? */
#define PARAM_CONTROLLER_ALIVE ((CLASS2<<16) + (TYPE_BOOLEAN<<24) + 168)
/* Readout time of current ROI, in ms */
#define PARAM_READOUT_TIME ((CLASS2<<16) + (TYPE_FLT64<<24) + 179)
/* CAMERA PARAMETERS (CLASS 2) */
#define PARAM_CLEAR_CYCLES ((CLASS2<<16) + (TYPE_UNS16<<24) + 97)
#define PARAM_CLEAR_MODE ((CLASS2<<16) + (TYPE_ENUM<<24) + 523)
#define PARAM_FRAME_CAPABLE ((CLASS2<<16) + (TYPE_BOOLEAN<<24) + 509)
#define PARAM_PMODE ((CLASS2<<16) + (TYPE_ENUM <<24) + 524)
#define PARAM_CCS_STATUS ((CLASS2<<16) + (TYPE_INT16<<24) + 510)
/* This is the actual temperature of the detector. This is only a get, not a */
/* set */
#define PARAM_TEMP ((CLASS2<<16) + (TYPE_INT16<<24) + 525)
/* This is the desired temperature to set. */
#define PARAM_TEMP_SETPOINT ((CLASS2<<16) + (TYPE_INT16<<24) + 526)
#define PARAM_CAM_FW_VERSION ((CLASS2<<16) + (TYPE_UNS16<<24) + 532)
#define PARAM_HEAD_SER_NUM_ALPHA ((CLASS2<<16) + (TYPE_CHAR_PTR<<24) + 533)
#define PARAM_PCI_FW_VERSION ((CLASS2<<16) + (TYPE_UNS16<<24) + 534)
#define PARAM_CAM_FW_FULL_VERSION ((CLASS2<<16) + (TYPE_CHAR_PTR<<24) + 534)
/* Exsposure mode, timed strobed etc, etc */
#define PARAM_EXPOSURE_MODE ((CLASS2<<16) + (TYPE_ENUM<<24) + 535)
/* SPEED TABLE PARAMETERS (CLASS 2) */
#define PARAM_BIT_DEPTH ((CLASS2<<16) + (TYPE_INT16<<24) + 511)
#define PARAM_GAIN_INDEX ((CLASS2<<16) + (TYPE_INT16<<24) + 512)
#define PARAM_SPDTAB_INDEX ((CLASS2<<16) + (TYPE_INT16<<24) + 513)
/* define which port (amplifier on shift register) to use. */
#define PARAM_READOUT_PORT ((CLASS2<<16) + (TYPE_ENUM<<24) + 247)
#define PARAM_PIX_TIME ((CLASS2<<16) + (TYPE_UNS16<<24) + 516)
/* SHUTTER PARAMETERS (CLASS 2) */
#define PARAM_SHTR_CLOSE_DELAY ((CLASS2<<16) + (TYPE_UNS16<<24) + 519)
#define PARAM_SHTR_OPEN_DELAY ((CLASS2<<16) + (TYPE_UNS16<<24) + 520)
#define PARAM_SHTR_OPEN_MODE ((CLASS2<<16) + (TYPE_ENUM <<24) + 521)
#define PARAM_SHTR_STATUS ((CLASS2<<16) + (TYPE_ENUM <<24) + 522)
#define PARAM_SHTR_CLOSE_DELAY_UNIT ((CLASS2<<16) + (TYPE_ENUM <<24) + 543) /* use enum TIME_UNITS to specify the unit */
/* I/O PARAMETERS (CLASS 2) */
#define PARAM_IO_ADDR ((CLASS2<<16) + (TYPE_UNS16<<24) + 527)
#define PARAM_IO_TYPE ((CLASS2<<16) + (TYPE_ENUM<<24) + 528)
#define PARAM_IO_DIRECTION ((CLASS2<<16) + (TYPE_ENUM<<24) + 529)
#define PARAM_IO_STATE ((CLASS2<<16) + (TYPE_FLT64<<24) + 530)
#define PARAM_IO_BITDEPTH ((CLASS2<<16) + (TYPE_UNS16<<24) + 531)
/* GAIN MULTIPLIER PARAMETERS (CLASS 2) */
#define PARAM_GAIN_MULT_FACTOR ((CLASS2<<16) + (TYPE_UNS16<<24) + 537)
#define PARAM_GAIN_MULT_ENABLE ((CLASS2<<16) + (TYPE_BOOLEAN<<24) + 541)
/* ACQUISITION PARAMETERS (CLASS 3) */
/* (next available index for class three = 11) */
#define PARAM_EXP_TIME ((CLASS3<<16) + (TYPE_UNS16<<24) + 1)
#define PARAM_EXP_RES ((CLASS3<<16) + (TYPE_ENUM<<24) + 2)
#define PARAM_EXP_MIN_TIME ((CLASS3<<16) + (TYPE_FLT64<<24) + 3)
#define PARAM_EXP_RES_INDEX ((CLASS3<<16) + (TYPE_UNS16<<24) + 4)
/* PARAMETERS FOR BEGIN and END of FRAME Interrupts */
#define PARAM_BOF_EOF_ENABLE ((CLASS3<<16) + (TYPE_ENUM<<24) + 5)
#define PARAM_BOF_EOF_COUNT ((CLASS3<<16) + (TYPE_UNS32<<24) + 6)
#define PARAM_BOF_EOF_CLR ((CLASS3<<16) + (TYPE_BOOLEAN<<24) + 7)
/* Test to see if hardware/software can perform circular buffer */
#define PARAM_CIRC_BUFFER ((CLASS3<<16) + (TYPE_BOOLEAN<<24) + 299)
/* Hardware Will Automatically Stop After A Specified Number of Frames */
#define PARAM_HW_AUTOSTOP ((CLASS3<<16) + (TYPE_INT16<<24) + 166)
/* bridge command parameters */
/********************** Class 0: Open Camera Modes ***************************/
/*
Function: pl_cam_open()
PI Conversion: CreateController()
*/
enum
{ OPEN_EXCLUSIVE };
/************************ Class 1: Error message size ************************/
#define ERROR_MSG_LEN 255 /* No error message will be longer than this */
/*********************** Class 2: Cooling type flags *************************/
/* used with the PARAM_COOLING_MODE parameter id.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -