areaDetector 1-9
Public Member Functions | Protected Attributes
NDFileHDF5 Class Reference
Inheritance diagram for NDFileHDF5:
NDPluginFile NDPluginDriver asynNDArrayDriver asynPortDriver

List of all members.

Public Member Functions

 NDFileHDF5 (const char *portName, int queueSize, int blockingCallbacks, const char *NDArrayPort, int NDArrayAddr, int priority, int stackSize)
 Constructor for NDFileHDF5; parameters are identical to those for NDPluginFile::NDPluginFile, and are passed directly to that base class constructor.
virtual asynStatus openFile (const char *fileName, NDFileOpenMode_t openMode, NDArray *pArray)
 Opens a HDF5 file.
virtual asynStatus readFile (NDArray **pArray)
 Read NDArray data from a HDF5 file; NOTE: not implemented yet.
virtual asynStatus writeFile (NDArray *pArray)
 Writes NDArray data to a HDF5 file.
virtual asynStatus closeFile ()
 Closes the HDF5 file opened with NDFileHDF5::openFile.
virtual void report (FILE *fp, int details)
 Report status of the driver.
virtual asynStatus writeInt32 (asynUser *pasynUser, epicsInt32 value)
 Called when asyn clients call pasynInt32->write().

Protected Attributes

int NDFileHDF5_nRowChunks
int NDFileHDF5_nColChunks
int NDFileHDF5_extraDimSizeN
int NDFileHDF5_nFramesChunks
int NDFileHDF5_chunkBoundaryAlign
int NDFileHDF5_chunkBoundaryThreshold
int NDFileHDF5_nExtraDims
int NDFileHDF5_extraDimNameN
int NDFileHDF5_extraDimSizeX
int NDFileHDF5_extraDimNameX
int NDFileHDF5_extraDimOffsetX
int NDFileHDF5_extraDimSizeY
int NDFileHDF5_extraDimNameY
int NDFileHDF5_extraDimOffsetY
int NDFileHDF5_storeAttributes
int NDFileHDF5_storePerformance
int NDFileHDF5_totalRuntime
int NDFileHDF5_totalIoSpeed
int NDFileHDF5_flushNthFrame
int NDFileHDF5_compressionType
int NDFileHDF5_nbitsPrecision
int NDFileHDF5_nbitsOffset
int NDFileHDF5_szipNumPixels
int NDFileHDF5_zCompressLevel

Constructor & Destructor Documentation

NDFileHDF5::NDFileHDF5 ( const char *  portName,
int  queueSize,
int  blockingCallbacks,
const char *  NDArrayPort,
int  NDArrayAddr,
int  priority,
int  stackSize 
)

Constructor for NDFileHDF5; parameters are identical to those for NDPluginFile::NDPluginFile, and are passed directly to that base class constructor.

After calling the base class constructor this method sets NDPluginFile::supportsMultipleArrays=1.


Member Function Documentation

asynStatus NDFileHDF5::closeFile ( ) [virtual]

Closes the HDF5 file opened with NDFileHDF5::openFile.

Implements NDPluginFile.

asynStatus NDFileHDF5::openFile ( const char *  fileName,
NDFileOpenMode_t  openMode,
NDArray pArray 
) [virtual]

Opens a HDF5 file.

In write mode if NDFileModeMultiple is set then the first dataspace dimension is set to H5S_UNLIMITED to allow multiple arrays to be written to the same file. NOTE: Does not currently support NDFileModeRead or NDFileModeAppend.

Parameters:
[in]fileNameAbsolute path name of the file to open.
[in]openModeBit mask with one of the access mode bits NDFileModeRead, NDFileModeWrite, NDFileModeAppend. May also have the bit NDFileModeMultiple set if the file is to be opened to write or read multiple NDArrays into a single file.
[in]pArrayPointer to an NDArray; this array is used to determine the header information and data structure for the file.

Implements NDPluginFile.

asynStatus NDFileHDF5::readFile ( NDArray **  pArray) [virtual]

Read NDArray data from a HDF5 file; NOTE: not implemented yet.

Parameters:
[in]pArrayPointer to the address of an NDArray to read the data into.

Implements NDPluginFile.

void NDFileHDF5::report ( FILE *  fp,
int  details 
) [virtual]

Report status of the driver.

This method calls the report function in the asynPortDriver base class. It then calls the NDArrayPool::report() method if details >5.

Parameters:
[in]fpFile pointed passed by caller where the output is written to.
[in]detailsIf >5 then NDArrayPool::report and NDAttributeList::report are both called.

Reimplemented from asynNDArrayDriver.

asynStatus NDFileHDF5::writeFile ( NDArray pArray) [virtual]

Writes NDArray data to a HDF5 file.

Parameters:
[in]pArrayPointer to an NDArray to write to the file. This function can be called multiple times between the call to openFile and closeFile if NDFileModeMultiple was set in openMode in the call to NDFileHDF5::openFile.

Implements NDPluginFile.

asynStatus NDFileHDF5::writeInt32 ( asynUser *  pasynUser,
epicsInt32  value 
) [virtual]

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

This function performs actions for some parameters, including NDReadFile, NDWriteFile and NDFileCapture. For other parameters it calls NDPluginDriver::writeInt32 to see if that method understands the parameter. 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 NDPluginFile.


Member Data Documentation


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