areaDetector  3-12-1
EPICS areaDetector framework
Public Member Functions | Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
pco Class Reference

pco.cpp Area Detector Driver for PCO cameras that use Camera Link Inherite ADCameraLink to provide Image Grabbing functions. More...

#include <pco.h>

Inheritance diagram for pco:

Public Member Functions

 pco (const char *portName, const char *pcoPort, int maxBuffers, size_t maxMemory, int priority, int stackSize)
 Constructor for pco driver; most parameters are simply passed to ADDriver::ADDriver. More...
 
virtual asynStatus writeInt32 (asynUser *pasynUser, epicsInt32 value)
 Called when asyn clients call pasynInt32->write(). More...
 
virtual asynStatus writeFloat64 (asynUser *pasynUser, epicsFloat64 value)
 Called when asyn clients call pasynFloat64->write(). More...
 
virtual void report (FILE *fp, int details)
 Report status of the driver. More...
 
void pcoTask ()
 This should be private but is called from C, must be public. More...
 
void pcoTask2 ()
 This should be private but is called from C, must be public. More...
 

Public Attributes

epicsEventId stopEventId
 This should be private but is accessed from C, must be public. More...
 

Protected Types

enum  { pco_paramint, pco_paramdoub }
 
enum  whichPCOCam { pco_dimax, pco_edge, pco_other, pco_undef }
 

Protected Member Functions

virtual void setDebuggingMessage (int level)
 Set debugging message level. More...
 
void reconfigGrabber (void)
 Reconfig grabber on the pco serial thread. More...
 
void checkEdgeDescramble (NDArray *img_ptr)
 Check image to see if edge descrambling work correctly. More...
 
virtual void processNewImage (void *img_ptr)
 Called when new image comes from grabber. More...
 
virtual void keepHouse (void)
 called every serial thraed loop. More...
 
int updateParameters (asynUser *pasynUser, epicsInt32 ivalue, epicsFloat64 dvalue, int paramtype)
 Called by asyn writeInt32 and writeDouble, which pass the pasynuser and vales etc. More...
 
virtual int doSerialTransactions (int function, int ivalue, double dvalue, int paramtype)
 Main called by updateParams, and ultimately writeInt32, writeDouble. More...
 
virtual void clearPipe (FILE *fp)
 Read serial port until nothing in pipe. More...
 
int getlib (void)
 Deprecated. More...
 
int OpenCamera (void)
 Open serial port to camera, set up serial port. More...
 
int Disconnected (int code, char *usrmsg)
 Close serial port. More...
 
void resetDimaxMemory (void)
 Reset Dimax memory to default settings, erasing all frames and segment sizes. More...
 
int checkCameraMessages (void)
 See if there are any messages pending from camera. More...
 
int setPcoBaudrate (int function)
 Set pco baud rate. More...
 
int ReportError (int code, char *usrmsg)
 report error from camera. More...
 
int doSerialCommand (pco_command &cmd, pco_response &rsp, unsigned char *obj, int len)
 Send pco command, and recv. More...
 
int getPcoStatusParams (void)
 PCO settings are defined in PCO docs. More...
 
int setPcoCameraLinkParams (int function)
 PCO settings are defined in PCO docs. More...
 
int getPcoCameraLinkParams (void)
 PCO settings are defined in PCO docs. More...
 
int getPcoGeneralParams (void)
 Get pco general settings, as defined in pco docs. More...
 
int setPcoGeneralParams (int function)
 Given asyn param number from writeInt32, the param number, write pco general param according to function. More...
 
int getPcoSensorParams (void)
 Read many sensor params from camera via serial port. More...
 
int setPcoSensorParams (int function)
 set pco sensor param defined in functino, the asyn param from writeInt32 send setting via serial port. More...
 
int getPcoTimingParams (void)
 Read PCO image timing params from camera. More...
 
int setPcoTimingParams (int function)
 PCO settings are defined in PCO docs. More...
 
int getPcoStorageParams (void)
 PCO settings are defined in PCO docs. More...
 
int setPcoStorageParams (int function)
 PCO settings are defined in PCO docs. More...
 
int getPcoRecordingParams (void)
 PCO settings are defined in PCO docs. More...
 
int setPcoRecordingParams (int function)
 PCO settings are defined in PCO docs. More...
 
int setPcoImageReadParams (int function)
 Get function from writeInt32, which param. More...
 
int getPcoImageReadParams (void)
 PCO settings are defined in PCO docs. More...
 
int dumpOneFrame (int k)
 Get ONE frame from dimax RAM. More...
 
void dumpCameraMemory (void)
 Read out all images from dimax RAM over CL grabber. More...
 
int doHighLevelParams (int function)
 High level parameters are things like ADAcquire. More...
 
void dbgSerial (void)
 Debugging function- Deprecated. More...
 
void checkEdgeDescramble (void *img_ptr)
 
int intFlEndian (unsigned int in)
 flip endian of images from camera. More...
 

Protected Attributes

int pco_first
 
int pco_is_running
 
int serial_callback
 
int pco_run_counter
 
int pco_sleep_ms
 
int pco_is_sleep
 
int pco_is_log
 
int com_port_name
 
int open_com
 
int close_com
 
int is_com_open
 
int pco_health_warning
 
int pco_health_error
 
int pco_health_status
 
int pco_reset_default_settings
 
int pco_init_selftest
 ! More...
 
int pco_sensor_format
 ! More...
 
int pco_pixelrate
 ! need to put into cpp- int More...
 
int pco_doub_img_mode
 
int pco_adc_mode
 
int pco_temp_setpt
 
int pco_offset_mode
 
int pco_noise_filt_mode
 
int pco_exp_timebase
 
int pco_dly_timebase
 ! need to put into cpp- double More...
 
int pco_fps_mode
 
int pco_busy
 
int pco_exp_trig_stat
 
int pco_camera_tot_ram_size
 
int pco_camera_ram_npages
 
int pco_camera_ram_page_size
 
int pco_camera_seg_size0
 
int pco_camera_seg_size1
 
int pco_camera_seg_size2
 
int pco_camera_seg_size3
 
int pco_clear_ram_seg
 
int pco_active_seg
 
int pco_storage_mode
 
int pco_rec_submode
 
int pco_rec_status
 
int pco_acq_mode
 
int pco_acqen_sig_stat
 
int pco_timestamp_mode
 
int pco_arm_camera
 
int pco_rec_stop_event_mode
 
int pco_rec_stop_event_nimgs
 
int pco_stop_record
 
int pco_read_which_seg
 
int pco_read_st_img
 
int pco_read_end_img
 
int pco_do_read_imgs
 
int pco_req_img
 
int pco_rpt_img
 
int pco_cancel_img
 
int pco_bit_alignment
 
int pco_num_imgs_seg0
 
int pco_max_imgs_seg0
 
int pco_num_imgs_seg1
 
int pco_max_imgs_seg1
 
int pco_num_imgs_seg2
 
int pco_max_imgs_seg2
 
int pco_num_imgs_seg3
 
int pco_max_imgs_seg3
 
int pco_check_time
 
int pco_force_check
 
int pco_camlink_pixfreq
 
int pco_cclines
 
int pco_camlink_pixperclk
 
int pco_camlink_cont
 
int pco_trigger_mode
 
int pco_baudrate
 
int pco_reset_memory
 
int pco_dump_camera_memory
 
int pco_imgs2dump
 
int pco_memreq_cnt
 
int pco_force_trigger
 
int pco_cancel_dump
 
int pco_play_slow
 
int pco_play_stop
 
int pco_live_view
 
int pco_dump_counter
 
int pco_dump_waitms
 
int pco_check_time2
 
int pco_frame_rate
 
int pco_cdi_mode
 
int pco_dnsu_mode
 
int pco_dnsu_init_mode
 
int pco_reconfig_grabber
 
int pco_set_frame_rate
 
int pco_delay_time
 
int pco_dump_maxdatarate
 
int pco_favor_dlytime
 
int pco_hotpix_corr
 
int pco_1612_lookup
 
int pco_edge_fastscan
 
int pco_comport_number
 
int pco_is_frame_rate_mode
 
int pco_dbg_serwrite
 
int pco_dbg_serread
 
int pco_dbg_serstr
 
int pco_dbg_serprint
 
int pco_ser_waitms
 
int pco_do_camcontrol
 
int pco_grab_waittime
 
int pco_ready2acquire
 
int pco_array_counter
 
int pco_image_rate
 
int pco_test_pixels
 
int pco_double_image_error
 
int pco_which_camera
 
int pco_descramble
 
int pco_setallparams
 
int pco_com_err_max
 
int pco_kill_ioc
 
int pco_disable_descramble
 
int pco_global_shutter
 
int pco_rollshut_mcfname
 
int pco_globshut_mcfname
 
int pco_conv_12to16
 
int pco_dimax_nimgs_fudge
 
int pco_last
 
volatile int dbg_msg_level
 
volatile bool is_cancel_dump
 
stopWatch time1
 
stopWatch time2
 
stopWatch grab_delay
 
comportInterface * serial_port
 
int com_error_counter
 
xPCO_Description pco_desc
 
int last_which_camera
 
bool is_enable_which_camera
 
bool is_allow_kill_acquire
 
bool is_reset_dump_counters
 
bool is_reset_memory
 
size_t mynwrite
 
size_t mynread
 
int myeomreason
 
asynUser * pasynUserSerial
 
asynInterface * paynOctet
 
asynInterface * paynOption
 
char myServerPort [255]
 
stopWatch image_timer
 
unsigned short test_line [128]
 
unsigned short * temp_image
 
int lastxsize
 
int lastysize
 

Static Protected Attributes

static char dll_name []
 

Detailed Description

pco.cpp Area Detector Driver for PCO cameras that use Camera Link Inherite ADCameraLink to provide Image Grabbing functions.

this class addes all the commands/control that is sent over serial port on CL grabber.

Author
tim madden
Date
2014PCO Driver. Serial port functions.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
protected
Enumerator
pco_paramint 
pco_paramdoub 

◆ whichPCOCam

enum pco::whichPCOCam
protected
Enumerator
pco_dimax 
pco_edge 
pco_other 
pco_undef 

Constructor & Destructor Documentation

◆ pco()

pco::pco ( const char *  portName,
const char *  serverPort,
int  maxBuffers,
size_t  maxMemory,
int  priority,
int  stackSize 
)

Constructor for pco driver; most parameters are simply passed to ADDriver::ADDriver.

After calling the base class constructor this method creates a thread to collect the detector data, and sets reasonable default values the parameters defined in this class, asynNDArrayDriver, and ADDriver.

Parameters
[in]portNameThe name of the asyn port driver to be created.
[in]serverPortThe name of the asyn port driver previously created with drvAsynIPPortConfigure connected to the pco_server program.
[in]maxBuffersThe maximum number of NDArray buffers that the NDArrayPool for this driver is allowed to allocate. Set this to -1 to allow an unlimited number of buffers.
[in]maxMemoryThe maximum amount of memory that the NDArrayPool for this driver is allowed to allocate. Set this to -1 to allow an unlimited amount of memory.
[in]priorityThe thread priority for the asyn port driver thread if ASYN_CANBLOCK is set in asynFlags.
[in]stackSizeThe stack size for the asyn port driver thread if ASYN_CANBLOCK is set in asynFlags.

init all params or else the client will not see them...they will be undefined...

init all params or else the client will not see them...they will be undefined...

Member Function Documentation

◆ checkCameraMessages()

int pco::checkCameraMessages ( void  )
protected

See if there are any messages pending from camera.

◆ checkEdgeDescramble() [1/2]

void pco::checkEdgeDescramble ( NDArray img_ptr)
protected

Check image to see if edge descrambling work correctly.

Parameters
img_ptrPointer to NDArray to descramble.

◆ checkEdgeDescramble() [2/2]

void pco::checkEdgeDescramble ( void *  img_ptr)
protected

◆ clearPipe()

void pco::clearPipe ( FILE *  fp)
protectedvirtual

Read serial port until nothing in pipe.

For clearing errors etc. Deprecated function.

Parameters
fpPointer to serial port, assuming it is opened w/ fopen.

◆ dbgSerial()

void pco::dbgSerial ( void  )
protected

Debugging function- Deprecated.

◆ Disconnected()

int pco::Disconnected ( int  code,
char *  usrmsg 
)
protected

Close serial port.

Parameters
codeNot used
usrmsgNot used

◆ doHighLevelParams()

int pco::doHighLevelParams ( int  function)
protected

High level parameters are things like ADAcquire.

The idea of a high level param is that when set, it will set many low level params in the camera. To Acquire for example, about 5 low level settins in the camera must be tweaked.

Parameters
functionfrom writeInt32, the parm numb.

! setDoubleParam(pco_set_frame_rate,20.0);

◆ doSerialCommand()

int pco::doSerialCommand ( pco_command cmd,
pco_response rsp,
unsigned char *  obj,
int  len 
)
protected

Send pco command, and recv.

serial command from serial port.

Parameters
cmd-command to pco.
rsp-response to pco. It is filled in by this funciton.
obj-any raw binary data returned
len-len of raw binary data.

◆ doSerialTransactions()

int pco::doSerialTransactions ( int  function,
int  ivalue,
double  dvalue,
int  paramtype 
)
protectedvirtual

Main called by updateParams, and ultimately writeInt32, writeDouble.

also called by pcoTask periodically.

Parameters
function-param num.
ivalue-param val if int.
dvalue=param val if double
paramtype-enum if doubl or int. not used I think.

! need to actuallty reconfig here!!!

! put this into a task

◆ dumpCameraMemory()

void pco::dumpCameraMemory ( void  )
protected

Read out all images from dimax RAM over CL grabber.

We must run on a thread, the seriao port thread, which is separate from the asynDriver thread on which writeInt32 runs. This function sends commmand via serial port to camera to get ONE image. Then it waits for image to show uip on grabber. then it does again and again in a loop until all iamges read out. It must be on separate thread so the writeInt32 does not block for minutes.

◆ dumpOneFrame()

int pco::dumpOneFrame ( int  k)
protected

Get ONE frame from dimax RAM.

Just send the serial message to pco dimax to send next frame.

Parameters
kwhich frame number to return.

! need to do eqv of waitDone(1000);

◆ getlib()

int pco::getlib ( void  )
protected

Deprecated.

◆ getPcoCameraLinkParams()

int pco::getPcoCameraLinkParams ( void  )
protected

PCO settings are defined in PCO docs.

Because so many, we group them as categories folling the pco docs. If functino is called get, we read serial port from camera and set a param. If function called set, we read a param from asyn param list and send its value to the camera.

◆ getPcoGeneralParams()

int pco::getPcoGeneralParams ( void  )
protected

Get pco general settings, as defined in pco docs.

set asyn params accordingly.

◆ getPcoImageReadParams()

int pco::getPcoImageReadParams ( void  )
protected

PCO settings are defined in PCO docs.

Because so many, we group them as categories folling the pco docs. If functino is called get, we read serial port from camera and set a param. If function called set, we read a param from asyn param list and send its value to the camera.

◆ getPcoRecordingParams()

int pco::getPcoRecordingParams ( void  )
protected

PCO settings are defined in PCO docs.

Because so many, we group them as categories folling the pco docs. If functino is called get, we read serial port from camera and set a param. If function called set, we read a param from asyn param list and send its value to the camera.

!

◆ getPcoSensorParams()

int pco::getPcoSensorParams ( void  )
protected

Read many sensor params from camera via serial port.

update asyn params accordingly.

◆ getPcoStatusParams()

int pco::getPcoStatusParams ( void  )
protected

PCO settings are defined in PCO docs.

Because so many, we group them as categories folling the pco docs. If functino is called get, we read serial port from camera and set a param. If function called set, we read a param from asyn param list and send its value to the camera.

◆ getPcoStorageParams()

int pco::getPcoStorageParams ( void  )
protected

PCO settings are defined in PCO docs.

Because so many, we group them as categories folling the pco docs. If functino is called get, we read serial port from camera and set a param. If function called set, we read a param from asyn param list and send its value to the camera.

◆ getPcoTimingParams()

int pco::getPcoTimingParams ( void  )
protected

Read PCO image timing params from camera.

set asyn params appropriately.

◆ intFlEndian()

int pco::intFlEndian ( unsigned int  in)
protected

flip endian of images from camera.

◆ keepHouse()

void pco::keepHouse ( void  )
protectedvirtual

called every serial thraed loop.

does nothing.

◆ OpenCamera()

int pco::OpenCamera ( void  )
protected

Open serial port to camera, set up serial port.

◆ pcoTask()

void pco::pcoTask ( )

This should be private but is called from C, must be public.

Run on thread, monitor camera status over serial port.

if we never owned it, then it just errors.. who cares.

◆ pcoTask2()

void pco::pcoTask2 ( )

This should be private but is called from C, must be public.

Deprecated.

◆ processNewImage()

void pco::processNewImage ( void *  img_ptr)
protectedvirtual

Called when new image comes from grabber.

can descramble if enabled for Edge camera. Can test pixels for repeated images. It takes a line of pixels whcih shoudl be noise, and compares to previous image. if same, then noise is not noise, and we have repeated frames.

Parameters
img_ptrA void to an NDArray. It gets cast to NDArray, so that is what we pass.

◆ reconfigGrabber()

void pco::reconfigGrabber ( void  )
protected

Reconfig grabber on the pco serial thread.

It must grab the grabber mutex from the grabber thread before messing w./ grabber. we assume we already have the serial port mutex. Yes- there are 2 mutexes. Serial port and grabber.

! need to load ccf here

! must open here

! must do here

! must do here

◆ report()

void pco::report ( FILE *  fp,
int  details 
)
virtual

Report status of the driver.

Prints details about the driver if details>0. It then calls the ADDriver::report() method.

Parameters
[in]fpFile pointed passed by caller where the output is written to.
[in]detailsIf >0 then driver details are printed.

◆ ReportError()

int pco::ReportError ( int  code,
char *  usrmsg 
)
protected

report error from camera.

Prob. deprecated.

Parameters
codereturned code from pco camera
usrmsgC string for a user defined error message.

◆ resetDimaxMemory()

void pco::resetDimaxMemory ( void  )
protected

Reset Dimax memory to default settings, erasing all frames and segment sizes.

◆ setDebuggingMessage()

void pco::setDebuggingMessage ( int  level)
protectedvirtual

Set debugging message level.

deprecated as we use asyn to do this

◆ setPcoBaudrate()

int pco::setPcoBaudrate ( int  function)
protected

Set pco baud rate.

Parameters
functionasyn param number, should be pco_baudrate or pco_setallparams

◆ setPcoCameraLinkParams()

int pco::setPcoCameraLinkParams ( int  function)
protected

PCO settings are defined in PCO docs.

Because so many, we group them as categories folling the pco docs. If functino is called get, we read serial port from camera and set a param. If function called set, we read a param from asyn param list and send its value to the camera.

Parameters
function- asyn Parameter number from writeInt32.

◆ setPcoGeneralParams()

int pco::setPcoGeneralParams ( int  function)
protected

Given asyn param number from writeInt32, the param number, write pco general param according to function.

Parameters
function- asyn param.

◆ setPcoImageReadParams()

int pco::setPcoImageReadParams ( int  function)
protected

Get function from writeInt32, which param.

Read that param from camera. PCO settings are defined in PCO docs. Because so many, we group them as categories folling the pco docs. The param defined in fucntion will be set from camera settings, or sent to camera settings on hardware ,depending on if the functino is named ReadParams, or WriteParams.

Parameters
function-asyn parameter number.

! image dump must be on a task so we can cancel it

◆ setPcoRecordingParams()

int pco::setPcoRecordingParams ( int  function)
protected

PCO settings are defined in PCO docs.

Because so many, we group them as categories folling the pco docs. If functino is called get, we read serial port from camera and set a param. If function called set, we read a param from asyn param list and send its value to the camera.

Parameters
function-param number from writeInt32.

! set date time...

◆ setPcoSensorParams()

int pco::setPcoSensorParams ( int  function)
protected

set pco sensor param defined in functino, the asyn param from writeInt32 send setting via serial port.

Parameters
functionasyn param number

! need better way to do this.

!sizex=getIntParam(ADSizeX); !sizex = sizex - (sizex % (2*magic_number)); !int maxsizex=getIntParam(ADMaxSizeX); !x0 = 1; !x1 = sizex;

◆ setPcoStorageParams()

int pco::setPcoStorageParams ( int  function)
protected

PCO settings are defined in PCO docs.

Because so many, we group them as categories folling the pco docs. If functino is called get, we read serial port from camera and set a param. If function called set, we read a param from asyn param list and send its value to the camera.

Parameters
function-param number from writeInt32.

◆ setPcoTimingParams()

int pco::setPcoTimingParams ( int  function)
protected

PCO settings are defined in PCO docs.

Because so many, we group them as categories folling the pco docs. If functino is called get, we read serial port from camera and set a param. If function called set, we read a param from asyn param list and send its value to the camera.

Parameters
function-param number from writeInt32.

◆ updateParameters()

int pco::updateParameters ( asynUser *  pasynUser,
epicsInt32  ivalue,
epicsFloat64  dvalue,
int  paramtype 
)
protected

Called by asyn writeInt32 and writeDouble, which pass the pasynuser and vales etc.

to this function. Because so many parameters, the param setting is split into many functions.

Parameters
pasynUserThe standard pasynUser pointer from asyn.
ivalue-param val if an int.
dvalue-param val if a double.
paramtype-enum for double or int. Deprecated and not used.

◆ writeFloat64()

asynStatus pco::writeFloat64 ( asynUser *  pasynUser,
epicsFloat64  value 
)
virtual

Called when asyn clients call pasynFloat64->write().

This function performs actions for some parameters. For all parameters it sets the value in the parameter library and calls any registered callbacks..

Parameters
[in]pasynUserpasynUser structure that encodes the reason and address.
[in]valueValue to write.

◆ writeInt32()

asynStatus pco::writeInt32 ( asynUser *  pasynUser,
epicsInt32  value 
)
virtual

Called when asyn clients call pasynInt32->write().

This function performs actions for some parameters, including ADAcquire, ADBinX, etc. For all parameters it sets the value in the parameter library and calls any registered callbacks..

Parameters
[in]pasynUserpasynUser structure that encodes the reason and address.
[in]valueValue to write.

Member Data Documentation

◆ close_com

int pco::close_com
protected

◆ com_error_counter

int pco::com_error_counter
protected

◆ com_port_name

int pco::com_port_name
protected

◆ dbg_msg_level

volatile int pco::dbg_msg_level
protected

◆ dll_name

char pco::dll_name[]
staticprotected

◆ grab_delay

stopWatch pco::grab_delay
protected

◆ image_timer

stopWatch pco::image_timer
protected

◆ is_allow_kill_acquire

bool pco::is_allow_kill_acquire
protected

◆ is_cancel_dump

volatile bool pco::is_cancel_dump
protected

◆ is_com_open

int pco::is_com_open
protected

◆ is_enable_which_camera

bool pco::is_enable_which_camera
protected

◆ is_reset_dump_counters

bool pco::is_reset_dump_counters
protected

◆ is_reset_memory

bool pco::is_reset_memory
protected

◆ last_which_camera

int pco::last_which_camera
protected

◆ lastxsize

int pco::lastxsize
protected

◆ lastysize

int pco::lastysize
protected

◆ myeomreason

int pco::myeomreason
protected

◆ mynread

size_t pco::mynread
protected

◆ mynwrite

size_t pco::mynwrite
protected

◆ myServerPort

char pco::myServerPort[255]
protected

◆ open_com

int pco::open_com
protected

◆ pasynUserSerial

asynUser* pco::pasynUserSerial
protected

◆ paynOctet

asynInterface* pco::paynOctet
protected

◆ paynOption

asynInterface* pco::paynOption
protected

◆ pco_1612_lookup

int pco::pco_1612_lookup
protected

◆ pco_acq_mode

int pco::pco_acq_mode
protected

◆ pco_acqen_sig_stat

int pco::pco_acqen_sig_stat
protected

◆ pco_active_seg

int pco::pco_active_seg
protected

◆ pco_adc_mode

int pco::pco_adc_mode
protected

◆ pco_arm_camera

int pco::pco_arm_camera
protected

◆ pco_array_counter

int pco::pco_array_counter
protected

◆ pco_baudrate

int pco::pco_baudrate
protected

◆ pco_bit_alignment

int pco::pco_bit_alignment
protected

◆ pco_busy

int pco::pco_busy
protected

◆ pco_camera_ram_npages

int pco::pco_camera_ram_npages
protected

◆ pco_camera_ram_page_size

int pco::pco_camera_ram_page_size
protected

◆ pco_camera_seg_size0

int pco::pco_camera_seg_size0
protected

◆ pco_camera_seg_size1

int pco::pco_camera_seg_size1
protected

◆ pco_camera_seg_size2

int pco::pco_camera_seg_size2
protected

◆ pco_camera_seg_size3

int pco::pco_camera_seg_size3
protected

◆ pco_camera_tot_ram_size

int pco::pco_camera_tot_ram_size
protected

◆ pco_camlink_cont

int pco::pco_camlink_cont
protected

◆ pco_camlink_pixfreq

int pco::pco_camlink_pixfreq
protected

◆ pco_camlink_pixperclk

int pco::pco_camlink_pixperclk
protected

◆ pco_cancel_dump

int pco::pco_cancel_dump
protected

◆ pco_cancel_img

int pco::pco_cancel_img
protected

◆ pco_cclines

int pco::pco_cclines
protected

◆ pco_cdi_mode

int pco::pco_cdi_mode
protected

◆ pco_check_time

int pco::pco_check_time
protected

◆ pco_check_time2

int pco::pco_check_time2
protected

◆ pco_clear_ram_seg

int pco::pco_clear_ram_seg
protected

◆ pco_com_err_max

int pco::pco_com_err_max
protected

◆ pco_comport_number

int pco::pco_comport_number
protected

◆ pco_conv_12to16

int pco::pco_conv_12to16
protected

◆ pco_dbg_serprint

int pco::pco_dbg_serprint
protected

◆ pco_dbg_serread

int pco::pco_dbg_serread
protected

◆ pco_dbg_serstr

int pco::pco_dbg_serstr
protected

◆ pco_dbg_serwrite

int pco::pco_dbg_serwrite
protected

◆ pco_delay_time

int pco::pco_delay_time
protected

◆ pco_desc

xPCO_Description pco::pco_desc
protected

◆ pco_descramble

int pco::pco_descramble
protected

◆ pco_dimax_nimgs_fudge

int pco::pco_dimax_nimgs_fudge
protected

◆ pco_disable_descramble

int pco::pco_disable_descramble
protected

◆ pco_dly_timebase

int pco::pco_dly_timebase
protected

! need to put into cpp- double

◆ pco_dnsu_init_mode

int pco::pco_dnsu_init_mode
protected

◆ pco_dnsu_mode

int pco::pco_dnsu_mode
protected

◆ pco_do_camcontrol

int pco::pco_do_camcontrol
protected

◆ pco_do_read_imgs

int pco::pco_do_read_imgs
protected

◆ pco_doub_img_mode

int pco::pco_doub_img_mode
protected

◆ pco_double_image_error

int pco::pco_double_image_error
protected

◆ pco_dump_camera_memory

int pco::pco_dump_camera_memory
protected

◆ pco_dump_counter

int pco::pco_dump_counter
protected

◆ pco_dump_maxdatarate

int pco::pco_dump_maxdatarate
protected

◆ pco_dump_waitms

int pco::pco_dump_waitms
protected

◆ pco_edge_fastscan

int pco::pco_edge_fastscan
protected

◆ pco_exp_timebase

int pco::pco_exp_timebase
protected

◆ pco_exp_trig_stat

int pco::pco_exp_trig_stat
protected

◆ pco_favor_dlytime

int pco::pco_favor_dlytime
protected

◆ pco_first

int pco::pco_first
protected

◆ pco_force_check

int pco::pco_force_check
protected

◆ pco_force_trigger

int pco::pco_force_trigger
protected

◆ pco_fps_mode

int pco::pco_fps_mode
protected

◆ pco_frame_rate

int pco::pco_frame_rate
protected

◆ pco_global_shutter

int pco::pco_global_shutter
protected

◆ pco_globshut_mcfname

int pco::pco_globshut_mcfname
protected

◆ pco_grab_waittime

int pco::pco_grab_waittime
protected

◆ pco_health_error

int pco::pco_health_error
protected

◆ pco_health_status

int pco::pco_health_status
protected

◆ pco_health_warning

int pco::pco_health_warning
protected

◆ pco_hotpix_corr

int pco::pco_hotpix_corr
protected

◆ pco_image_rate

int pco::pco_image_rate
protected

◆ pco_imgs2dump

int pco::pco_imgs2dump
protected

◆ pco_init_selftest

int pco::pco_init_selftest
protected

!

◆ pco_is_frame_rate_mode

int pco::pco_is_frame_rate_mode
protected

◆ pco_is_log

int pco::pco_is_log
protected

◆ pco_is_running

int pco::pco_is_running
protected

◆ pco_is_sleep

int pco::pco_is_sleep
protected

◆ pco_kill_ioc

int pco::pco_kill_ioc
protected

◆ pco_last

int pco::pco_last
protected

◆ pco_live_view

int pco::pco_live_view
protected

◆ pco_max_imgs_seg0

int pco::pco_max_imgs_seg0
protected

◆ pco_max_imgs_seg1

int pco::pco_max_imgs_seg1
protected

◆ pco_max_imgs_seg2

int pco::pco_max_imgs_seg2
protected

◆ pco_max_imgs_seg3

int pco::pco_max_imgs_seg3
protected

◆ pco_memreq_cnt

int pco::pco_memreq_cnt
protected

◆ pco_noise_filt_mode

int pco::pco_noise_filt_mode
protected

◆ pco_num_imgs_seg0

int pco::pco_num_imgs_seg0
protected

◆ pco_num_imgs_seg1

int pco::pco_num_imgs_seg1
protected

◆ pco_num_imgs_seg2

int pco::pco_num_imgs_seg2
protected

◆ pco_num_imgs_seg3

int pco::pco_num_imgs_seg3
protected

◆ pco_offset_mode

int pco::pco_offset_mode
protected

◆ pco_pixelrate

int pco::pco_pixelrate
protected

! need to put into cpp- int

◆ pco_play_slow

int pco::pco_play_slow
protected

◆ pco_play_stop

int pco::pco_play_stop
protected

◆ pco_read_end_img

int pco::pco_read_end_img
protected

◆ pco_read_st_img

int pco::pco_read_st_img
protected

◆ pco_read_which_seg

int pco::pco_read_which_seg
protected

◆ pco_ready2acquire

int pco::pco_ready2acquire
protected

◆ pco_rec_status

int pco::pco_rec_status
protected

◆ pco_rec_stop_event_mode

int pco::pco_rec_stop_event_mode
protected

◆ pco_rec_stop_event_nimgs

int pco::pco_rec_stop_event_nimgs
protected

◆ pco_rec_submode

int pco::pco_rec_submode
protected

◆ pco_reconfig_grabber

int pco::pco_reconfig_grabber
protected

◆ pco_req_img

int pco::pco_req_img
protected

◆ pco_reset_default_settings

int pco::pco_reset_default_settings
protected

◆ pco_reset_memory

int pco::pco_reset_memory
protected

◆ pco_rollshut_mcfname

int pco::pco_rollshut_mcfname
protected

◆ pco_rpt_img

int pco::pco_rpt_img
protected

◆ pco_run_counter

int pco::pco_run_counter
protected

◆ pco_sensor_format

int pco::pco_sensor_format
protected

!

◆ pco_ser_waitms

int pco::pco_ser_waitms
protected

◆ pco_set_frame_rate

int pco::pco_set_frame_rate
protected

◆ pco_setallparams

int pco::pco_setallparams
protected

◆ pco_sleep_ms

int pco::pco_sleep_ms
protected

◆ pco_stop_record

int pco::pco_stop_record
protected

◆ pco_storage_mode

int pco::pco_storage_mode
protected

◆ pco_temp_setpt

int pco::pco_temp_setpt
protected

◆ pco_test_pixels

int pco::pco_test_pixels
protected

◆ pco_timestamp_mode

int pco::pco_timestamp_mode
protected

◆ pco_trigger_mode

int pco::pco_trigger_mode
protected

◆ pco_which_camera

int pco::pco_which_camera
protected

◆ serial_callback

int pco::serial_callback
protected

◆ serial_port

comportInterface* pco::serial_port
protected

◆ stopEventId

epicsEventId pco::stopEventId

This should be private but is accessed from C, must be public.

◆ temp_image

unsigned short* pco::temp_image
protected

◆ test_line

unsigned short pco::test_line[128]
protected

◆ time1

stopWatch pco::time1
protected

◆ time2

stopWatch pco::time2
protected

The documentation for this class was generated from the following files: