areaDetector
3-14
EPICS areaDetector framework
|
Copyright (c) 2015, UChicago Argonne, LLC See LICENSE file. More...
#include <ADPICam.h>
Public Member Functions | |
ADPICam (const char *portName, int maxBuffers, size_t maxMemory, int priority, int stackSize) | |
Constructor. More... | |
~ADPICam () | |
Destructor function. More... | |
virtual asynStatus | readEnum (asynUser *pasynUser, char *strings[], int values[], int severities[], size_t nElements, size_t *nIn) |
Override method from asynPortDriver to populate pull-down lists for camera parameters. More... | |
asynStatus | piHandleAcquisitionUpdated (PicamHandle device, const PicamAvailableData *available, const PicamAcquisitionStatus *acqStatus) |
Handler method for AcquisitionUpdated events. More... | |
asynStatus | piHandleCameraDiscovery (const PicamCameraID *id, PicamHandle device, PicamDiscoveryAction) |
Handler method for camera discovery events. More... | |
asynStatus | piHandleParameterRelevanceChanged (PicamHandle camera, PicamParameter parameter, pibln relevant) |
Handler method called by piParameterRelevanceChanged callback method Sets the relevence of a parameter based on changes in parameters. More... | |
asynStatus | piHandleParameterIntegerValueChanged (PicamHandle camera, PicamParameter parameter, piint value) |
Handler method called by piParameterIntegerValueChanged callback method Makes necessary since the parameter has changed. More... | |
asynStatus | piHandleParameterLargeIntegerValueChanged (PicamHandle camera, PicamParameter parameter, pi64s value) |
Handler method called by piParameterLargeIntegerValueChanged callback method Makes necessary since the parameter has changed. More... | |
asynStatus | piHandleParameterFloatingPointValueChanged (PicamHandle camera, PicamParameter parameter, piflt value) |
Handler method called by piParameterFloatingPointValueChanged callback method Makes necessary since the parameter has changed. More... | |
asynStatus | piHandleParameterRoisValueChanged (PicamHandle camera, PicamParameter parameter, const PicamRois *value) |
Handle the case that an ROI value has changed. More... | |
asynStatus | piHandleParameterPulseValueChanged (PicamHandle camera, PicamParameter parameter, const PicamPulse *value) |
Handle case when a PicamPulse value has changed. More... | |
asynStatus | piHandleParameterModulationsValueChanged (PicamHandle camera, PicamParameter parameter, const PicamModulations *value) |
Handle case when a PicamModulations value has changed. More... | |
asynStatus | piLoadAvailableCameraIDs () |
asynStatus | piPrintRoisConstraints () |
Print the Rois constraint information. More... | |
void | piHandleNewImageTask (void) |
Handler class for recieving new images. More... | |
void | report (FILE *fp, int details) |
Overload method for asynPortDriver's report method. More... | |
virtual asynStatus | writeInt32 (asynUser *pasynUser, epicsInt32 value) |
Override asynPortDriver's writeInt32 method. More... | |
virtual asynStatus | writeFloat64 (asynUser *pasynUser, epicsFloat64 value) |
Overload asynPortDriver's writeFloat64 to handle driver specific parameters. More... | |
virtual asynStatus | readOctet (asynUser *pasynUser, char *value, size_t nChars, size_t *nActual, int *eomReason) |
Read String information for fields with Enumeration type and no constraint type. 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 | connect (asynUser *pasynUser) |
Connects driver to device; This method is called when the driver's pasynCommon->connect() function is called. 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 | 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 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... | |
virtual void | updateTimeStamps (NDArray *pArray) |
asynStatus | incrementQueuedArrayCount () |
asynStatus | decrementQueuedArrayCount () |
int | getQueuedArrayCount () |
void | updateQueuedArrayCount () |
Static Public Member Functions | |
static PicamError PIL_CALL | piAcquistionUpdated (PicamHandle device, const PicamAvailableData *available, const PicamAcquisitionStatus *status) |
Callback method for acquisition Upadated event. More... | |
static asynStatus | piAddDemoCamera (const char *demoCameraName) |
Local Method used to add a Demo camera to the list of available cameras. More... | |
static PicamError PIL_CALL | piCameraDiscovered (const PicamCameraID *id, PicamHandle device, PicamDiscoveryAction action) |
Callback method for camera discovery. More... | |
static PicamError PIL_CALL | piParameterFloatingPointValueChanged (PicamHandle camera, PicamParameter parameter, piflt value) |
Callback to Handle when a FloatingPoint value changes. More... | |
static PicamError PIL_CALL | piParameterIntegerValueChanged (PicamHandle camera, PicamParameter parameter, piint value) |
Callback method to handle when an Integer Value Changes. More... | |
static PicamError PIL_CALL | piParameterLargeIntegerValueChanged (PicamHandle camera, PicamParameter parameter, pi64s value) |
Callback to Handle when a LargeInteger value changes. More... | |
static PicamError PIL_CALL | piParameterModulationsValueChanged (PicamHandle camera, PicamParameter parameter, const PicamModulations *value) |
Callback to Handle when a PicamModulations value changes. More... | |
static PicamError PIL_CALL | piParameterPulseValueChanged (PicamHandle camera, PicamParameter parameter, const PicamPulse *value) |
Callback to Handle when a PicamPulse value changes. More... | |
static PicamError PIL_CALL | piParameterRelevanceChanged (PicamHandle camera, PicamParameter parameter, pibln relevent) |
Callback event to catch when a parameter's relevance has changed. More... | |
static PicamError PIL_CALL | piParameterRoisValueChanged (PicamHandle camera, PicamParameter parameter, const PicamRois *value) |
Callback to Handle when a Roi value changes. More... | |
Static Public Attributes | |
static const char * | notAvailable = "N/A" |
static const char * | driverName = "PICam" |
Additional Inherited Members | |
Public Attributes inherited from asynNDArrayDriver | |
class NDArrayPool * | pNDArrayPool |
An NDArrayPool pointer that is initialized to pNDArrayPoolPvt_ in the constructor. More... | |
Copyright (c) 2015, UChicago Argonne, LLC See LICENSE file.
ADPICam::ADPICam | ( | const char * | portName, |
int | maxBuffers, | ||
size_t | maxMemory, | ||
int | priority, | ||
int | stackSize | ||
) |
Constructor.
[in] | portName | The name of the asyn port driver to be created. |
[in] | maxBuffers | The 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] | maxMemory | The 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] | priority | The thread priority for the asyn port driver thread if ASYN_CANBLOCK is set in asynFlags. |
[in] | stackSize | The stack size for the asyn port driver thread if ASYN_CANBLOCK is set in asynFlags. |
ADPICam::~ADPICam | ( | ) |
Destructor function.
Clear out Picam Library
|
static |
Callback method for acquisition Upadated event.
This will call piHandleAcquisitionUpdated ASAP.
|
static |
Local Method used to add a Demo camera to the list of available cameras.
This method is called by wrapper method PICamAddDemoCamera which can be called from the iocsh.
|
static |
Callback method for camera discovery.
This method calls the piHandleCameraDiscovery method of the camera instance.
asynStatus ADPICam::piHandleAcquisitionUpdated | ( | PicamHandle | device, |
const PicamAvailableData * | available, | ||
const PicamAcquisitionStatus * | acqStatus | ||
) |
Handler method for AcquisitionUpdated events.
Grab information about acquired data, as necessary, and send a signal to a thread to grab the data & process into NDArray.
asynStatus ADPICam::piHandleCameraDiscovery | ( | const PicamCameraID * | id, |
PicamHandle | device, | ||
PicamDiscoveryAction | action | ||
) |
Handler method for camera discovery events.
When new cameras become available, or unavailable, move them on and off the lists as appropriate.
void ADPICam::piHandleNewImageTask | ( | void | ) |
Handler class for recieving new images.
This runs in a thread separate from the picam driver thread to avoid collisions. Acquisition in the picam thread will signal this thread as soon as possible when new images are seen.
asynStatus ADPICam::piHandleParameterFloatingPointValueChanged | ( | PicamHandle | camera, |
PicamParameter | parameter, | ||
piflt | value | ||
) |
Handler method called by piParameterFloatingPointValueChanged callback method Makes necessary since the parameter has changed.
Primarily will update the Readback value for many parameters.
asynStatus ADPICam::piHandleParameterIntegerValueChanged | ( | PicamHandle | camera, |
PicamParameter | parameter, | ||
piint | value | ||
) |
Handler method called by piParameterIntegerValueChanged callback method Makes necessary since the parameter has changed.
Primarily will update the Readback value for many parameters.
asynStatus ADPICam::piHandleParameterLargeIntegerValueChanged | ( | PicamHandle | camera, |
PicamParameter | parameter, | ||
pi64s | value | ||
) |
Handler method called by piParameterLargeIntegerValueChanged callback method Makes necessary since the parameter has changed.
Primarily will update the Readback value for many parameters.
asynStatus ADPICam::piHandleParameterModulationsValueChanged | ( | PicamHandle | camera, |
PicamParameter | parameter, | ||
const PicamModulations * | value | ||
) |
Handle case when a PicamModulations value has changed.
Called by piParameterModulationsValueChanged.
asynStatus ADPICam::piHandleParameterPulseValueChanged | ( | PicamHandle | camera, |
PicamParameter | parameter, | ||
const PicamPulse * | value | ||
) |
Handle case when a PicamPulse value has changed.
Called by piParameterPulseValueChanged.
asynStatus ADPICam::piHandleParameterRelevanceChanged | ( | PicamHandle | camera, |
PicamParameter | parameter, | ||
pibln | relevant | ||
) |
Handler method called by piParameterRelevanceChanged callback method Sets the relevence of a parameter based on changes in parameters.
asynStatus ADPICam::piHandleParameterRoisValueChanged | ( | PicamHandle | camera, |
PicamParameter | parameter, | ||
const PicamRois * | value | ||
) |
Handle the case that an ROI value has changed.
asynStatus ADPICam::piLoadAvailableCameraIDs | ( | ) |
|
static |
Callback to Handle when a FloatingPoint value changes.
Hand off to method piHandleParameterFloatingPointValue of the stored class instance
|
static |
Callback method to handle when an Integer Value Changes.
Hand off to the method piHandleParameterIntergerValueChanged of the stored class instance.
|
static |
Callback to Handle when a LargeInteger value changes.
Hand of to the method piHandleParameterLargeIntergerValueChanged of the stored class instance.
|
static |
Callback to Handle when a PicamModulations value changes.
Hand off to the method picamHandleModulationValueChanged of the stored class instance.
|
static |
Callback to Handle when a PicamPulse value changes.
Calls method piHandleParameterPulseValueChanged of the stored class instance.
|
static |
Callback event to catch when a parameter's relevance has changed.
Calls method piHandleParameterRelevanceChanged of stored class instance.
|
static |
Callback to Handle when a Roi value changes.
Calls method piHandleParameterRoisValueChanged of the stored class instance.
asynStatus ADPICam::piPrintRoisConstraints | ( | ) |
Print the Rois constraint information.
|
virtual |
Override method from asynPortDriver to populate pull-down lists for camera parameters.
Note that for this to work asynEnumMask must be set when calling ADDriver constructor
|
virtual |
Read String information for fields with Enumeration type and no constraint type.
|
virtual |
Overload method for asynPortDriver's report method.
Reimplemented from asynNDArrayDriver.
|
virtual |
Overload asynPortDriver's writeFloat64 to handle driver specific parameters.
|
virtual |
Override asynPortDriver's writeInt32 method.
Reimplemented from ADDriver.
|
static |
|
static |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |