quadEM  7-0
Classes | Macros | Enumerations
asynNDArrayDriver.h File Reference
#include <epicsMutex.h>
#include <epicsEvent.h>
#include "asynPortDriver.h"
#include "NDArray.h"
#include "ADCoreVersion.h"

Go to the source code of this file.

Classes

class  asynNDArrayDriver
 This is the class from which NDArray drivers are derived; implements the asynGenericPointer functions for NDArray objects. More...
 

Macros

#define MAX_FILENAME_LEN   256
 Maximum length of a filename or any of its components. More...
 
#define NDPortNameSelfString   "PORT_NAME_SELF"
 Strings defining parameters that affect the behaviour of the detector. More...
 
#define NDADCoreVersionString   "ADCORE_VERSION"
 ADCore version string. More...
 
#define NDDriverVersionString   "DRIVER_VERSION"
 (asynOctet, r/o) Version of this driver or plugin More...
 
#define ADManufacturerString   "MANUFACTURER"
 (asynOctet, r/o) Detector manufacturer name More...
 
#define ADModelString   "MODEL"
 (asynOctet, r/o) Detector model name More...
 
#define ADSerialNumberString   "SERIAL_NUMBER"
 (asynOctet, r/o) Detector serial number More...
 
#define ADSDKVersionString   "SDK_VERSION"
 (asynOctet, r/o) Vendor SDK version More...
 
#define ADFirmwareVersionString   "FIRMWARE_VERSION"
 (asynOctet, r/o) Detector firmware version More...
 
#define ADAcquireString   "ACQUIRE"
 (asynInt32, r/w) Start(1) or Stop(0) acquisition More...
 
#define ADAcquireBusyString   "ACQUIRE_BUSY"
 (asynInt32, r/w) 0 when acquire done including plugins More...
 
#define ADWaitForPluginsString   "WAIT_FOR_PLUGINS"
 (asynInt32, r/w) Wait for plugins before AcquireBusy goes to 0 More...
 
#define NDArraySizeXString   "ARRAY_SIZE_X"
 (asynInt32, r/o) Size of the array data in the X direction More...
 
#define NDArraySizeYString   "ARRAY_SIZE_Y"
 (asynInt32, r/o) Size of the array data in the Y direction More...
 
#define NDArraySizeZString   "ARRAY_SIZE_Z"
 (asynInt32, r/o) Size of the array data in the Z direction More...
 
#define NDArraySizeString   "ARRAY_SIZE"
 (asynInt32, r/o) Total size of array data in bytes More...
 
#define NDNDimensionsString   "ARRAY_NDIMENSIONS"
 (asynInt32, r/o) Number of dimensions in array More...
 
#define NDDimensionsString   "ARRAY_DIMENSIONS"
 (asynInt32Array, r/o) Array dimensions More...
 
#define NDDataTypeString   "DATA_TYPE"
 (asynInt32, r/w) Data type (NDDataType_t) More...
 
#define NDColorModeString   "COLOR_MODE"
 (asynInt32, r/w) Color mode (NDColorMode_t) More...
 
#define NDUniqueIdString   "UNIQUE_ID"
 (asynInt32, r/o) Unique ID number of array More...
 
#define NDTimeStampString   "TIME_STAMP"
 (asynFloat64, r/o) Time stamp of array More...
 
#define NDEpicsTSSecString   "EPICS_TS_SEC"
 (asynInt32, r/o) EPOCS time stamp secPastEpoch of array More...
 
#define NDEpicsTSNsecString   "EPICS_TS_NSEC"
 (asynInt32, r/o) EPOCS time stamp nsec of array More...
 
#define NDBayerPatternString   "BAYER_PATTERN"
 (asynInt32, r/o) Bayer pattern of array (from bayerPattern array attribute if present) More...
 
#define NDCodecString   "CODEC"
 (asynOctet, r/o) Codec name More...
 
#define NDCompressedSizeString   "COMPRESSED_SIZE"
 (asynInt32, r/o) Compressed size in bytes More...
 
#define NDArrayCounterString   "ARRAY_COUNTER"
 (asynInt32, r/w) Number of arrays since last reset More...
 
#define NDFilePathString   "FILE_PATH"
 (asynOctet, r/w) The file path More...
 
#define NDFilePathExistsString   "FILE_PATH_EXISTS"
 (asynInt32, r/w) File path exists? More...
 
#define NDFileNameString   "FILE_NAME"
 (asynOctet, r/w) The file name More...
 
#define NDFileNumberString   "FILE_NUMBER"
 (asynInt32, r/w) The next file number More...
 
#define NDFileTemplateString   "FILE_TEMPLATE"
 (asynOctet, r/w) The file format template; C-style format string More...
 
#define NDAutoIncrementString   "AUTO_INCREMENT"
 (asynInt32, r/w) Autoincrement file number; 0=No, 1=Yes More...
 
#define NDFullFileNameString   "FULL_FILE_NAME"
 (asynOctet, r/o) The actual complete file name for the last file saved More...
 
#define NDFileFormatString   "FILE_FORMAT"
 (asynInt32, r/w) The data format to use for saving the file. More...
 
#define NDAutoSaveString   "AUTO_SAVE"
 (asynInt32, r/w) Automatically save files More...
 
#define NDWriteFileString   "WRITE_FILE"
 (asynInt32, r/w) Manually save the most recent array to a file when value=1 More...
 
#define NDReadFileString   "READ_FILE"
 (asynInt32, r/w) Manually read file when value=1 More...
 
#define NDFileWriteModeString   "WRITE_MODE"
 (asynInt32, r/w) File saving mode (NDFileMode_t) More...
 
#define NDFileWriteStatusString   "WRITE_STATUS"
 (asynInt32, r/w) File write status More...
 
#define NDFileWriteMessageString   "WRITE_MESSAGE"
 (asynOctet, r/w) File write message More...
 
#define NDFileNumCaptureString   "NUM_CAPTURE"
 (asynInt32, r/w) Number of arrays to capture More...
 
#define NDFileNumCapturedString   "NUM_CAPTURED"
 (asynInt32, r/o) Number of arrays already captured More...
 
#define NDFileCaptureString   "CAPTURE"
 (asynInt32, r/w) Start or stop capturing arrays More...
 
#define NDFileDeleteDriverFileString   "DELETE_DRIVER_FILE"
 (asynInt32, r/w) Delete driver file More...
 
#define NDFileLazyOpenString   "FILE_LAZY_OPEN"
 (asynInt32, r/w) Don't open file until first frame arrives in Stream mode More...
 
#define NDFileCreateDirString   "CREATE_DIR"
 (asynInt32, r/w) Create the target directory up to this depth More...
 
#define NDFileTempSuffixString   "FILE_TEMP_SUFFIX"
 (asynOctet, r/w) Temporary filename suffix while writing data to file. More...
 
#define NDAttributesFileString   "ND_ATTRIBUTES_FILE"
 (asynOctet, r/w) Attributes file name More...
 
#define NDAttributesStatusString   "ND_ATTRIBUTES_STATUS"
 (asynInt32, r/o) Attributes status More...
 
#define NDAttributesMacrosString   "ND_ATTRIBUTES_MACROS"
 (asynOctet, r/w) Attributes macros string More...
 
#define NDArrayDataString   "ARRAY_DATA"
 (asynGenericPointer, r/w) NDArray data More...
 
#define NDArrayCallbacksString   "ARRAY_CALLBACKS"
 (asynInt32, r/w) Do callbacks with array data (0=No, 1=Yes) More...
 
#define NDPoolMaxBuffersString   "POOL_MAX_BUFFERS"
 
#define NDPoolAllocBuffersString   "POOL_ALLOC_BUFFERS"
 
#define NDPoolFreeBuffersString   "POOL_FREE_BUFFERS"
 
#define NDPoolMaxMemoryString   "POOL_MAX_MEMORY"
 
#define NDPoolUsedMemoryString   "POOL_USED_MEMORY"
 
#define NDPoolEmptyFreeListString   "POOL_EMPTY_FREELIST"
 
#define NDNumQueuedArraysString   "NUM_QUEUED_ARRAYS"
 
#define FIRST_NDARRAY_PARAM   NDPortNameSelf
 

Enumerations

enum  NDFileMode_t { NDFileModeSingle, NDFileModeCapture, NDFileModeStream }
 Enumeration of file saving modes. More...
 
enum  NDFileWriteStatus_t { NDFileWriteOK, NDFileWriteError }
 
enum  NDAttributesStatus_t { NDAttributesOK, NDAttributesFileNotFound, NDAttributesXMLSyntaxError, NDAttributesMacroError }
 

Macro Definition Documentation

#define ADAcquireBusyString   "ACQUIRE_BUSY"

(asynInt32, r/w) 0 when acquire done including plugins

#define ADAcquireString   "ACQUIRE"

(asynInt32, r/w) Start(1) or Stop(0) acquisition

#define ADFirmwareVersionString   "FIRMWARE_VERSION"

(asynOctet, r/o) Detector firmware version

#define ADManufacturerString   "MANUFACTURER"

(asynOctet, r/o) Detector manufacturer name

#define ADModelString   "MODEL"

(asynOctet, r/o) Detector model name

#define ADSDKVersionString   "SDK_VERSION"

(asynOctet, r/o) Vendor SDK version

#define ADSerialNumberString   "SERIAL_NUMBER"

(asynOctet, r/o) Detector serial number

#define ADWaitForPluginsString   "WAIT_FOR_PLUGINS"

(asynInt32, r/w) Wait for plugins before AcquireBusy goes to 0

#define FIRST_NDARRAY_PARAM   NDPortNameSelf
#define MAX_FILENAME_LEN   256

Maximum length of a filename or any of its components.

#define NDADCoreVersionString   "ADCORE_VERSION"

ADCore version string.

(asynOctet, r/o) Version of ADCore

#define NDArrayCallbacksString   "ARRAY_CALLBACKS"

(asynInt32, r/w) Do callbacks with array data (0=No, 1=Yes)

#define NDArrayCounterString   "ARRAY_COUNTER"

(asynInt32, r/w) Number of arrays since last reset

#define NDArrayDataString   "ARRAY_DATA"

(asynGenericPointer, r/w) NDArray data

#define NDArraySizeString   "ARRAY_SIZE"

(asynInt32, r/o) Total size of array data in bytes

#define NDArraySizeXString   "ARRAY_SIZE_X"

(asynInt32, r/o) Size of the array data in the X direction

#define NDArraySizeYString   "ARRAY_SIZE_Y"

(asynInt32, r/o) Size of the array data in the Y direction

#define NDArraySizeZString   "ARRAY_SIZE_Z"

(asynInt32, r/o) Size of the array data in the Z direction

#define NDAttributesFileString   "ND_ATTRIBUTES_FILE"

(asynOctet, r/w) Attributes file name

#define NDAttributesMacrosString   "ND_ATTRIBUTES_MACROS"

(asynOctet, r/w) Attributes macros string

#define NDAttributesStatusString   "ND_ATTRIBUTES_STATUS"

(asynInt32, r/o) Attributes status

#define NDAutoIncrementString   "AUTO_INCREMENT"

(asynInt32, r/w) Autoincrement file number; 0=No, 1=Yes

#define NDAutoSaveString   "AUTO_SAVE"

(asynInt32, r/w) Automatically save files

#define NDBayerPatternString   "BAYER_PATTERN"

(asynInt32, r/o) Bayer pattern of array (from bayerPattern array attribute if present)

#define NDCodecString   "CODEC"

(asynOctet, r/o) Codec name

#define NDColorModeString   "COLOR_MODE"

(asynInt32, r/w) Color mode (NDColorMode_t)

#define NDCompressedSizeString   "COMPRESSED_SIZE"

(asynInt32, r/o) Compressed size in bytes

#define NDDataTypeString   "DATA_TYPE"

(asynInt32, r/w) Data type (NDDataType_t)

#define NDDimensionsString   "ARRAY_DIMENSIONS"

(asynInt32Array, r/o) Array dimensions

#define NDDriverVersionString   "DRIVER_VERSION"

(asynOctet, r/o) Version of this driver or plugin

#define NDEpicsTSNsecString   "EPICS_TS_NSEC"

(asynInt32, r/o) EPOCS time stamp nsec of array

#define NDEpicsTSSecString   "EPICS_TS_SEC"

(asynInt32, r/o) EPOCS time stamp secPastEpoch of array

#define NDFileCaptureString   "CAPTURE"

(asynInt32, r/w) Start or stop capturing arrays

#define NDFileCreateDirString   "CREATE_DIR"

(asynInt32, r/w) Create the target directory up to this depth

#define NDFileDeleteDriverFileString   "DELETE_DRIVER_FILE"

(asynInt32, r/w) Delete driver file

#define NDFileFormatString   "FILE_FORMAT"

(asynInt32, r/w) The data format to use for saving the file.

#define NDFileLazyOpenString   "FILE_LAZY_OPEN"

(asynInt32, r/w) Don't open file until first frame arrives in Stream mode

#define NDFileNameString   "FILE_NAME"

(asynOctet, r/w) The file name

#define NDFileNumberString   "FILE_NUMBER"

(asynInt32, r/w) The next file number

#define NDFileNumCapturedString   "NUM_CAPTURED"

(asynInt32, r/o) Number of arrays already captured

#define NDFileNumCaptureString   "NUM_CAPTURE"

(asynInt32, r/w) Number of arrays to capture

#define NDFilePathExistsString   "FILE_PATH_EXISTS"

(asynInt32, r/w) File path exists?

#define NDFilePathString   "FILE_PATH"

(asynOctet, r/w) The file path

#define NDFileTemplateString   "FILE_TEMPLATE"

(asynOctet, r/w) The file format template; C-style format string

#define NDFileTempSuffixString   "FILE_TEMP_SUFFIX"

(asynOctet, r/w) Temporary filename suffix while writing data to file.

The file will be renamed (suffix removed) upon closing the file.

#define NDFileWriteMessageString   "WRITE_MESSAGE"

(asynOctet, r/w) File write message

#define NDFileWriteModeString   "WRITE_MODE"

(asynInt32, r/w) File saving mode (NDFileMode_t)

#define NDFileWriteStatusString   "WRITE_STATUS"

(asynInt32, r/w) File write status

#define NDFullFileNameString   "FULL_FILE_NAME"

(asynOctet, r/o) The actual complete file name for the last file saved

#define NDNDimensionsString   "ARRAY_NDIMENSIONS"

(asynInt32, r/o) Number of dimensions in array

#define NDNumQueuedArraysString   "NUM_QUEUED_ARRAYS"
#define NDPoolAllocBuffersString   "POOL_ALLOC_BUFFERS"
#define NDPoolEmptyFreeListString   "POOL_EMPTY_FREELIST"
#define NDPoolFreeBuffersString   "POOL_FREE_BUFFERS"
#define NDPoolMaxBuffersString   "POOL_MAX_BUFFERS"
#define NDPoolMaxMemoryString   "POOL_MAX_MEMORY"
#define NDPoolUsedMemoryString   "POOL_USED_MEMORY"
#define NDPortNameSelfString   "PORT_NAME_SELF"

Strings defining parameters that affect the behaviour of the detector.

These are the values passed to drvUserCreate. The driver will place in pasynUser->reason an integer to be used when the standard asyn interface methods are called. (asynOctet, r/o) Asyn port name of this driver instance

#define NDReadFileString   "READ_FILE"

(asynInt32, r/w) Manually read file when value=1

#define NDTimeStampString   "TIME_STAMP"

(asynFloat64, r/o) Time stamp of array

#define NDUniqueIdString   "UNIQUE_ID"

(asynInt32, r/o) Unique ID number of array

#define NDWriteFileString   "WRITE_FILE"

(asynInt32, r/w) Manually save the most recent array to a file when value=1

Enumeration Type Documentation

Enumerator
NDAttributesOK 
NDAttributesFileNotFound 
NDAttributesXMLSyntaxError 
NDAttributesMacroError 

Enumeration of file saving modes.

Enumerator
NDFileModeSingle 

Write 1 array per file.

NDFileModeCapture 

Capture NDNumCapture arrays into memory, write them out when capture is complete.

Write all captured arrays to a single file if the file format supports this

NDFileModeStream 

Stream arrays continuously to a single file if the file format supports this.

Enumerator
NDFileWriteOK 
NDFileWriteError