areaDetector  3-5-0
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:
ADCameralink ADDriver asynNDArrayDriver asynPortDriver

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 Member Functions inherited from ADDriver
 ADDriver (const char *portName, int maxAddr, int numParams, int maxBuffers, size_t maxMemory, int interfaceMask, int interruptMask, int asynFlags, int autoConnect, int priority, int stackSize)
 All of the arguments are simply passed to the constructor for the asynNDArrayDriver base class, except numParams. More...
 
virtual asynStatus setIntegerParam (int index, int value)
 Sets the value for an integer in the parameter library. More...
 
virtual asynStatus setIntegerParam (int list, int index, int value)
 Sets the value for an integer in the parameter library. More...
 
virtual void setShutter (int open)
 Set the shutter position. More...
 
- Public Member Functions inherited from asynNDArrayDriver
 asynNDArrayDriver (const char *portName, int maxAddr, int maxBuffers, size_t maxMemory, int interfaceMask, int interruptMask, int asynFlags, int autoConnect, int priority, int stackSize)
 This is the constructor for the asynNDArrayDriver class. More...
 
virtual ~asynNDArrayDriver ()
 
virtual asynStatus writeOctet (asynUser *pasynUser, const char *value, size_t maxChars, size_t *nActual)
 Called when asyn clients call pasynOctet->write(). More...
 
virtual asynStatus readGenericPointer (asynUser *pasynUser, void *genericPointer)
 This method copies an NDArray object from the asynNDArrayDriver to an NDArray pointer passed in by the caller. More...
 
virtual asynStatus writeGenericPointer (asynUser *pasynUser, void *genericPointer)
 This method currently does nothing, but it should be implemented in this base class. More...
 
virtual asynStatus readInt32 (asynUser *pasynUser, epicsInt32 *value)
 Called when asyn clients call pasynInt32->read(). More...
 
virtual asynStatus readFloat64 (asynUser *pasynUser, epicsFloat64 *value)
 Called when asyn clients call pasynFloat64->read(). More...
 
virtual asynStatus createFilePath (const char *path, int pathDepth)
 Function to create a directory path for a file. More...
 
virtual asynStatus checkPath ()
 Checks whether the directory specified NDFilePath parameter exists. More...
 
virtual bool checkPath (std::string &filePath)
 Checks whether the directory specified exists. More...
 
virtual asynStatus createFileName (int maxChars, char *fullFileName)
 Build a file name from component parts. More...
 
virtual asynStatus createFileName (int maxChars, char *filePath, char *fileName)
 Build a file name from component parts. More...
 
virtual asynStatus readNDAttributesFile ()
 Create this driver's NDAttributeList (pAttributeList) by reading an XML file This clears any existing attributes from this drivers' NDAttributeList and then creates a new list based on the XML file. More...
 
virtual asynStatus getAttributes (NDAttributeList *pAttributeList)
 Get the current values of attributes from this driver and appends them to an output attribute list. More...
 
asynStatus incrementQueuedArrayCount ()
 
asynStatus decrementQueuedArrayCount ()
 
int getQueuedArrayCount ()
 
void updateQueuedArrayCount ()
 
- Public Member Functions inherited from asynPortDriver
 asynPortDriver (const char *portName, int maxAddr, int interfaceMask, int interruptMask, int asynFlags, int autoConnect, int priority, int stackSize)
 Constructor for the asynPortDriver class. More...
 
 asynPortDriver (const char *portName, int maxAddr, int paramTableSize, int interfaceMask, int interruptMask, int asynFlags, int autoConnect, int priority, int stackSize) EPICS_DEPRECATED
 Legacy constructor for the asynPortDriver class (DEPRECATED - please use the one above instead). More...
 
virtual ~asynPortDriver ()
 Destructor for asynPortDriver class; frees resources allocated when port driver is created. More...
 
virtual asynStatus lock ()
 Locks the driver to prevent multiple threads from accessing memory at the same time. More...
 
virtual asynStatus unlock ()
 Unlocks the driver; called when an asyn client or driver is done accessing common memory. More...
 
virtual asynStatus getAddress (asynUser *pasynUser, int *address)
 Returns the asyn address associated with a pasynUser structure. More...
 
virtual asynStatus readUInt32Digital (asynUser *pasynUser, epicsUInt32 *value, epicsUInt32 mask)
 Called when asyn clients call pasynUInt32Digital->read(). More...
 
virtual asynStatus writeUInt32Digital (asynUser *pasynUser, epicsUInt32 value, epicsUInt32 mask)
 Called when asyn clients call pasynUInt32Digital->write(). More...
 
virtual asynStatus setInterruptUInt32Digital (asynUser *pasynUser, epicsUInt32 mask, interruptReason reason)
 Called when asyn clients call pasynUInt32Digital->setInterrupt(). More...
 
virtual asynStatus clearInterruptUInt32Digital (asynUser *pasynUser, epicsUInt32 mask)
 Called when asyn clients call pasynUInt32Digital->clearInterrupt(). More...
 
virtual asynStatus getInterruptUInt32Digital (asynUser *pasynUser, epicsUInt32 *mask, interruptReason reason)
 Called when asyn clients call pasynUInt32Digital->getInterrupt(). More...
 
virtual asynStatus getBounds (asynUser *pasynUser, epicsInt32 *low, epicsInt32 *high)
 Called when asyn clients call pasynInt32->getBounds(), returning the bounds on the asynInt32 interface for drivers that use raw units. More...
 
virtual asynStatus readOctet (asynUser *pasynUser, char *value, size_t maxChars, size_t *nActual, int *eomReason)
 Called when asyn clients call pasynOctet->read(). More...
 
virtual asynStatus flushOctet (asynUser *pasynUser)
 Called when asyn clients call pasynOctet->flush(). More...
 
virtual asynStatus setInputEosOctet (asynUser *pasynUser, const char *eos, int eosLen)
 Called when asyn clients call pasynOctet->setInputEos(). More...
 
virtual asynStatus getInputEosOctet (asynUser *pasynUser, char *eos, int eosSize, int *eosLen)
 Called when asyn clients call pasynOctet->getInputEos(). More...
 
virtual asynStatus setOutputEosOctet (asynUser *pasynUser, const char *eos, int eosLen)
 Called when asyn clients call pasynOctet->setOutputEos(). More...
 
virtual asynStatus getOutputEosOctet (asynUser *pasynUser, char *eos, int eosSize, int *eosLen)
 Called when asyn clients call pasynOctet->getOutputEos(). More...
 
virtual asynStatus readInt8Array (asynUser *pasynUser, epicsInt8 *value, size_t nElements, size_t *nIn)
 Called when asyn clients call pasynInt8Array->read(). More...
 
virtual asynStatus writeInt8Array (asynUser *pasynUser, epicsInt8 *value, size_t nElements)
 Called when asyn clients call pasynInt8Array->write(). More...
 
virtual asynStatus doCallbacksInt8Array (epicsInt8 *value, size_t nElements, int reason, int addr)
 Called by driver to do the callbacks to registered clients on the asynInt8Array interface. More...
 
virtual asynStatus readInt16Array (asynUser *pasynUser, epicsInt16 *value, size_t nElements, size_t *nIn)
 Called when asyn clients call pasynInt16Array->read(). More...
 
virtual asynStatus writeInt16Array (asynUser *pasynUser, epicsInt16 *value, size_t nElements)
 Called when asyn clients call pasynInt16Array->write(). More...
 
virtual asynStatus doCallbacksInt16Array (epicsInt16 *value, size_t nElements, int reason, int addr)
 Called by driver to do the callbacks to registered clients on the asynInt16Array interface. More...
 
virtual asynStatus readInt32Array (asynUser *pasynUser, epicsInt32 *value, size_t nElements, size_t *nIn)
 Called when asyn clients call pasynInt32Array->read(). More...
 
virtual asynStatus writeInt32Array (asynUser *pasynUser, epicsInt32 *value, size_t nElements)
 Called when asyn clients call pasynInt32Array->write(). More...
 
virtual asynStatus doCallbacksInt32Array (epicsInt32 *value, size_t nElements, int reason, int addr)
 Called by driver to do the callbacks to registered clients on the asynInt32Array interface. More...
 
virtual asynStatus readFloat32Array (asynUser *pasynUser, epicsFloat32 *value, size_t nElements, size_t *nIn)
 Called when asyn clients call pasynFloat32Array->read(). More...
 
virtual asynStatus writeFloat32Array (asynUser *pasynUser, epicsFloat32 *value, size_t nElements)
 Called when asyn clients call pasynFloat32Array->write(). More...
 
virtual asynStatus doCallbacksFloat32Array (epicsFloat32 *value, size_t nElements, int reason, int addr)
 Called by driver to do the callbacks to registered clients on the asynFloat32Array interface. More...
 
virtual asynStatus readFloat64Array (asynUser *pasynUser, epicsFloat64 *value, size_t nElements, size_t *nIn)
 Called when asyn clients call pasynFloat64Array->read(). More...
 
virtual asynStatus writeFloat64Array (asynUser *pasynUser, epicsFloat64 *value, size_t nElements)
 Called when asyn clients call pasynFloat64Array->write(). More...
 
virtual asynStatus doCallbacksFloat64Array (epicsFloat64 *value, size_t nElements, int reason, int addr)
 Called by driver to do the callbacks to registered clients on the asynFloat64Array interface. More...
 
virtual asynStatus doCallbacksGenericPointer (void *pointer, int reason, int addr)
 Called by driver to do the callbacks to registered clients on the asynGenericPointer interface. More...
 
virtual asynStatus readOption (asynUser *pasynUser, const char *key, char *value, int maxChars)
 Called when asyn clients call pasynOption->read(). More...
 
virtual asynStatus writeOption (asynUser *pasynUser, const char *key, const char *value)
 Called when asyn clients call pasynOption->write(). More...
 
virtual asynStatus readEnum (asynUser *pasynUser, char *strings[], int values[], int severities[], size_t nElements, size_t *nIn)
 Called when asyn clients call pasynEnum->read(). More...
 
virtual asynStatus writeEnum (asynUser *pasynUser, char *strings[], int values[], int severities[], size_t nElements)
 Called when asyn clients call pasynEnum->write(). More...
 
virtual asynStatus doCallbacksEnum (char *strings[], int values[], int severities[], size_t nElements, int reason, int addr)
 Called by driver to do the callbacks to registered clients on the asynEnum interface. More...
 
virtual asynStatus drvUserCreate (asynUser *pasynUser, const char *drvInfo, const char **pptypeName, size_t *psize)
 Called by asynManager to pass a pasynUser structure and drvInfo string to the driver; Assigns pasynUser->reason based on the value of the drvInfo string. More...
 
virtual asynStatus drvUserGetType (asynUser *pasynUser, const char **pptypeName, size_t *psize)
 Returns strings associated with driver-specific commands. More...
 
virtual asynStatus drvUserDestroy (asynUser *pasynUser)
 Frees any resources allocated by drvUserCreate. More...
 
virtual asynStatus connect (asynUser *pasynUser)
 Connects driver to device; The base class implementation simply calls pasynManager->exceptionConnect if address is valid Derived classes can reimplement this function for real connection management. More...
 
virtual asynStatus disconnect (asynUser *pasynUser)
 Disconnects driver from device; the base class implementation simply calls pasynManager->exceptionDisconnect. More...
 
virtual asynStatus createParam (const char *name, asynParamType type, int *index)
 Creates a parameter in the parameter library. More...
 
virtual asynStatus createParam (int list, const char *name, asynParamType type, int *index)
 Creates a parameter in the parameter library. More...
 
virtual asynStatus getNumParams (int *numParams)
 Returns the number of parameters in the parameter library. More...
 
virtual asynStatus getNumParams (int list, int *numParams)
 Returns the number of parameters in the parameter library. More...
 
virtual asynStatus findParam (const char *name, int *index)
 Finds a parameter in the parameter library. More...
 
virtual asynStatus findParam (int list, const char *name, int *index)
 Finds a parameter in the parameter library. More...
 
virtual asynStatus getParamName (int index, const char **name)
 Returns the name of a parameter in the parameter library. More...
 
virtual asynStatus getParamName (int list, int index, const char **name)
 Returns the name of a parameter in the parameter library. More...
 
virtual asynStatus getParamType (int index, asynParamType *type)
 Returns the asynParamType of a parameter in the parameter library*. More...
 
virtual asynStatus getParamType (int list, int index, asynParamType *type)
 Returns the asynParamType of a parameter in the parameter library. More...
 
virtual asynStatus setParamStatus (int index, asynStatus status)
 Sets the status for a parameter in the parameter library. More...
 
virtual asynStatus setParamStatus (int list, int index, asynStatus status)
 Sets the status for a parameter in the parameter library. More...
 
virtual asynStatus getParamStatus (int index, asynStatus *status)
 Gets the status for a parameter in the parameter library. More...
 
virtual asynStatus getParamStatus (int list, int index, asynStatus *status)
 Gets the status for a parameter in the parameter library. More...
 
virtual asynStatus setParamAlarmStatus (int index, int status)
 Sets the alarmStatus for a parameter in the parameter library. More...
 
virtual asynStatus setParamAlarmStatus (int list, int index, int status)
 Sets the alarmStatus for a parameter in the parameter library. More...
 
virtual asynStatus getParamAlarmStatus (int index, int *status)
 Gets the alarmStatus for a parameter in the parameter library. More...
 
virtual asynStatus getParamAlarmStatus (int list, int index, int *status)
 Gets the alarmStatus for a parameter in the parameter library. More...
 
virtual asynStatus setParamAlarmSeverity (int index, int severity)
 Sets the alarmSeverity for a parameter in the parameter library. More...
 
virtual asynStatus setParamAlarmSeverity (int list, int index, int severity)
 Sets the alarmSeverity for a parameter in the parameter library. More...
 
virtual asynStatus getParamAlarmSeverity (int index, int *severity)
 Gets the alarmSeverity for a parameter in the parameter library. More...
 
virtual asynStatus getParamAlarmSeverity (int list, int index, int *severity)
 Gets the alarmSeverity for a parameter in the parameter library. More...
 
virtual void reportSetParamErrors (asynStatus status, int index, int list, const char *functionName)
 Reports errors when setting parameters. More...
 
virtual void reportGetParamErrors (asynStatus status, int index, int list, const char *functionName)
 Reports errors when getting parameters. More...
 
virtual asynStatus setUIntDigitalParam (int index, epicsUInt32 value, epicsUInt32 valueMask)
 Sets the value for a UInt32Digital in the parameter library. More...
 
virtual asynStatus setUIntDigitalParam (int list, int index, epicsUInt32 value, epicsUInt32 valueMask)
 Sets the value for a UInt32Digital in the parameter library. More...
 
virtual asynStatus setUIntDigitalParam (int index, epicsUInt32 value, epicsUInt32 valueMask, epicsUInt32 interruptMask)
 Sets the value for a UInt32Digital in the parameter library. More...
 
virtual asynStatus setUIntDigitalParam (int list, int index, epicsUInt32 value, epicsUInt32 valueMask, epicsUInt32 interruptMask)
 Sets the value for a UInt32Digital in the parameter library. More...
 
virtual asynStatus setUInt32DigitalInterrupt (int index, epicsUInt32 mask, interruptReason reason)
 Sets the interrupt mask and reason in the parameter library Calls paramList::setUInt32Interrupt (0, index, mask, reason) i.e. More...
 
virtual asynStatus setUInt32DigitalInterrupt (int list, int index, epicsUInt32 mask, interruptReason reason)
 Sets the interrupt mask and reason in the parameter library Calls paramList::setUInt32Interrupt (index, mask, reason) for the parameter list indexed by list. More...
 
virtual asynStatus clearUInt32DigitalInterrupt (int index, epicsUInt32 mask)
 Clears the interrupt mask in the parameter library Calls paramList::clearUInt32Interrupt (0, index, mask) i.e. More...
 
virtual asynStatus clearUInt32DigitalInterrupt (int list, int index, epicsUInt32 mask)
 Clears the interrupt mask in the parameter library Calls paramList::clearUInt32Interrupt (index, mask) for the parameter list indexed by list. More...
 
virtual asynStatus getUInt32DigitalInterrupt (int index, epicsUInt32 *mask, interruptReason reason)
 Gets the interrupt mask and reason in the parameter library Calls paramList::getUInt32Interrupt (0, index, mask, reason) i.e. More...
 
virtual asynStatus getUInt32DigitalInterrupt (int list, int index, epicsUInt32 *mask, interruptReason reason)
 Gets the interrupt mask and reason in the parameter library Calls paramList::getUInt32Interrupt (index, mask, reason) for the parameter list indexed by list. More...
 
virtual asynStatus setDoubleParam (int index, double value)
 Sets the value for a double in the parameter library. More...
 
virtual asynStatus setDoubleParam (int list, int index, double value)
 Sets the value for a double in the parameter library. More...
 
virtual asynStatus setStringParam (int index, const char *value)
 Sets the value for a string in the parameter library. More...
 
virtual asynStatus setStringParam (int list, int index, const char *value)
 Sets the value for a string in the parameter library. More...
 
virtual asynStatus setStringParam (int index, const std::string &value)
 Sets the value for a string in the parameter library. More...
 
virtual asynStatus setStringParam (int list, int index, const std::string &value)
 Sets the value for a string in the parameter library. More...
 
virtual asynStatus getIntegerParam (int index, epicsInt32 *value)
 Returns the value for an integer from the parameter library. More...
 
virtual asynStatus getIntegerParam (int list, int index, epicsInt32 *value)
 Returns the value for an integer from the parameter library. More...
 
virtual asynStatus getUIntDigitalParam (int index, epicsUInt32 *value, epicsUInt32 mask)
 Returns the value for an UInt32Digital parameter from the parameter library. More...
 
virtual asynStatus getUIntDigitalParam (int list, int index, epicsUInt32 *value, epicsUInt32 mask)
 Returns the value for an UInt32Digital parameter from the parameter library. More...
 
virtual asynStatus getDoubleParam (int index, double *value)
 Returns the value for a double from the parameter library. More...
 
virtual asynStatus getDoubleParam (int list, int index, double *value)
 Returns the value for a double from the parameter library. More...
 
virtual asynStatus getStringParam (int index, int maxChars, char *value)
 Returns the value for a string from the parameter library. More...
 
virtual asynStatus getStringParam (int list, int index, int maxChars, char *value)
 Returns the value for a string from the parameter library. More...
 
virtual asynStatus getStringParam (int index, std::string &value)
 Returns the value for a string from the parameter library. More...
 
virtual asynStatus getStringParam (int list, int index, std::string &value)
 Returns the value for a string from the parameter library. More...
 
virtual asynStatus callParamCallbacks ()
 Calls callParamCallbacks(0, 0) i.e. More...
 
virtual asynStatus callParamCallbacks (int addr)
 Calls callParamCallbacks(addr, addr) i.e. More...
 
virtual asynStatus callParamCallbacks (int list, int addr)
 Calls paramList::callCallbacks(addr) for a specific parameter list. More...
 
virtual asynStatus updateTimeStamp ()
 Updates the timestamp for this port in pasynManager. More...
 
virtual asynStatus updateTimeStamp (epicsTimeStamp *pTimeStamp)
 Updates the timestamp for this port in pasynManager, and returns this timestamp. More...
 
virtual asynStatus getTimeStamp (epicsTimeStamp *pTimeStamp)
 Gets the most recent timestamp for this port from pasynManager. More...
 
virtual asynStatus setTimeStamp (const epicsTimeStamp *pTimeStamp)
 Sets the timestamp for this port in pasynManager. More...
 
asynStandardInterfaces * getAsynStdInterfaces ()
 Returns the asynStdInterfaces structure used by asynPortDriver. More...
 
virtual void reportParams (FILE *fp, int details)
 Calls paramList::report(fp, details) for each parameter list that the driver supports. More...
 
void callbackTask ()
 

Public Attributes

epicsEventId stopEventId
 This should be private but is accessed from C, must be public. More...
 
- Public Attributes inherited from asynNDArrayDriver
class NDArrayPoolpNDArrayPool
 An NDArrayPool pointer that is initialized to pNDArrayPoolPvt_ in the constructor. More...
 
- Public Attributes inherited from asynPortDriver
char * portName
 The name of this asyn port. More...
 
int maxAddr
 The maximum asyn address (addr) supported by this driver. 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 Member Functions inherited from asynPortDriver
void initialize (const char *portNameIn, int maxAddrIn, int interfaceMask, int interruptMask, int asynFlags, int autoConnect, int priority, int stackSize)
 The following function is required to initialize from two constructors. 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
 
comportInterfaceserial_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
 
- Protected Attributes inherited from ADDriver
int ADManufacturer
 
int ADModel
 
int ADSerialNumber
 
int ADSDKVersion
 
int ADFirmwareVersion
 
int ADGain
 
int ADBinX
 
int ADBinY
 
int ADMinX
 
int ADMinY
 
int ADSizeX
 
int ADSizeY
 
int ADMaxSizeX
 
int ADMaxSizeY
 
int ADReverseX
 
int ADReverseY
 
int ADFrameType
 
int ADImageMode
 
int ADNumExposures
 
int ADNumExposuresCounter
 
int ADNumImages
 
int ADNumImagesCounter
 
int ADAcquireTime
 
int ADAcquirePeriod
 
int ADTimeRemaining
 
int ADStatus
 
int ADTriggerMode
 
int ADAcquire
 
int ADAcquireBusy
 
int ADWaitForPlugins
 
int ADShutterControl
 
int ADShutterControlEPICS
 
int ADShutterStatus
 
int ADShutterMode
 
int ADShutterOpenDelay
 
int ADShutterCloseDelay
 
int ADTemperature
 
int ADTemperatureActual
 
int ADReadStatus
 
int ADStatusMessage
 
int ADStringToServer
 
int ADStringFromServer
 
- Protected Attributes inherited from asynNDArrayDriver
int NDPortNameSelf
 
int NDADCoreVersion
 
int NDDriverVersion
 
int NDArraySizeX
 
int NDArraySizeY
 
int NDArraySizeZ
 
int NDArraySize
 
int NDNDimensions
 
int NDDimensions
 
int NDDataType
 
int NDColorMode
 
int NDUniqueId
 
int NDTimeStamp
 
int NDEpicsTSSec
 
int NDEpicsTSNsec
 
int NDBayerPattern
 
int NDCodec
 
int NDCompressedSize
 
int NDArrayCounter
 
int NDFilePath
 
int NDFilePathExists
 
int NDFileName
 
int NDFileNumber
 
int NDFileTemplate
 
int NDAutoIncrement
 
int NDFullFileName
 
int NDFileFormat
 
int NDAutoSave
 
int NDWriteFile
 
int NDReadFile
 
int NDFileWriteMode
 
int NDFileWriteStatus
 
int NDFileWriteMessage
 
int NDFileNumCapture
 
int NDFileNumCaptured
 
int NDFileCapture
 
int NDFileDeleteDriverFile
 
int NDFileLazyOpen
 
int NDFileCreateDir
 
int NDFileTempSuffix
 
int NDAttributesFile
 
int NDAttributesStatus
 
int NDAttributesMacros
 
int NDArrayData
 
int NDArrayCallbacks
 
int NDPoolMaxBuffers
 
int NDPoolAllocBuffers
 
int NDPoolFreeBuffers
 
int NDPoolMaxMemory
 
int NDPoolUsedMemory
 
int NDPoolEmptyFreeList
 
int NDNumQueuedArrays
 
class NDArray ** pArrays
 An array of NDArray pointers used to store data in the driver. More...
 
class NDAttributeListpAttributeList
 An NDAttributeList object used to obtain the current values of a set of attributes. More...
 
int threadStackSize_
 
int threadPriority_
 
- Protected Attributes inherited from asynPortDriver
asynUser * pasynUserSelf
 asynUser connected to ourselves for asynTrace More...
 
asynStandardInterfaces asynStdInterfaces
 The asyn interfaces this driver implements. More...
 

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.

Reimplemented from ADCameralink.

◆ 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.

!#define _LIMITIMGSIZE600

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.

Reimplemented from ADCameralink.

◆ 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.

Reimplemented from ADCameralink.

◆ 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

Reimplemented from ADCameralink.

◆ 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.

Reimplemented from ADCameralink.

◆ 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.

Reimplemented from ADCameralink.

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: