areaDetector  3-5-0
EPICS areaDetector framework
pcoEdgePlugin.h
Go to the documentation of this file.
1 /*
2  * pcoEdgePlugin.h
3  *Tim Madden
4  */
5 
6 #ifndef pcoEdgePlugin_H
7 #define pcoEdgePlugin_H
8 
13 #include "NDPluginFile.h"
14 
15 class epicsShareClass pcoEdgePlugin : public NDPluginFile {
16  public:
17  pcoEdgePlugin(const char *portName, int queueSize, int blockingCallbacks,
18  const char *NDArrayPort, int NDArrayAddr, int priority,
19  int stackSize);
20 
21  virtual void processCallbacks(NDArray *pArray);
22  /* The methods that this class implements */
23  virtual asynStatus openFile(const char *fileName, NDFileOpenMode_t openMode,
24  NDArray *pArray);
25  virtual asynStatus readFile(NDArray **pArray);
26  virtual asynStatus writeFile(NDArray *pArray);
27  virtual asynStatus closeFile();
28 
29  int getIntParam(int param);
30 
31  // virtual asynStatus drvUserCreate(asynUser *pasynUser, const char *drvInfo,
32  // const char **pptypeName, size_t *psize);
33  protected:
34  void sort_lines_A(int width, int height, void *adr_out, void *adr_in);
35  void sort_lines_B(int width, int height, void *adr_out, void *adr_in);
36  void sort_lines_C(int width, int height, void *adr_out, void *adr_in);
37  void sort_lines_D(int width, int height, void *adr_out, void *adr_in);
38 
39  // enough for 1 edge imgae. pco imges are smaller...
40  unsigned short *temp_image;
41 
47 
49  char name[256];
50  char description[256];
51  char tempString[256];
53  size_t attrSize;
54  int numAttributes, attrCount;
55 
56  //
57  // //////////// PARAMETERS ////////////////////
58  //
59 
60  int sim_first;
61 #define FIRST_pcoEdgePlugin_PARAM sim_first
62 
63  // wait in sec
69  int is_enable;
70 
78 
79  int sim_last;
80 
81  //
83  //
84 };
85 
86 
87 #endif
NDAttrDataType_t attrDataType
Definition: pcoEdgePlugin.h:52
int is_pr_pco_attr
Definition: pcoEdgePlugin.h:68
int edge_max_ndbuffers
Definition: pcoEdgePlugin.h:72
int print_attr
Definition: pcoEdgePlugin.h:66
virtual asynStatus closeFile()=0
Close the file opened with NDPluginFile::openFile; pure virtual function that must be implemented by ...
NDAttrDataType_t
Enumeration of NDAttribute attribute data types.
Definition: NDAttribute.h:40
int is_use_attr
Definition: pcoEdgePlugin.h:67
virtual asynStatus openFile(const char *fileName, NDFileOpenMode_t openMode, NDArray *pArray)=0
Open a file; pure virtual function that must be implemented by derived classes.
int numAttributes
Definition: pcoEdgePlugin.h:54
int edge_alloc_ndmemory
Definition: pcoEdgePlugin.h:75
name
Definition: makeDbAndEdl.py:232
virtual asynStatus writeFile(NDArray *pArray)=0
Write NDArray data to a file; pure virtual function that must be implemented by derived classes.
int is_descramble
Definition: pcoEdgePlugin.h:64
Enums for plugin-specific parameters.
Definition: pcoEdgePlugin.h:15
int sim_first
Definition: pcoEdgePlugin.h:60
int edge_nd_datasize
Definition: pcoEdgePlugin.h:71
int edge_free_ndbuffers
Definition: pcoEdgePlugin.h:76
NDAttribute * pAttribute
Definition: pcoEdgePlugin.h:48
virtual void processCallbacks(NDArray *pArray)
Callback function that is called by the NDArray driver with new NDArray data.
Definition: NDPluginFile.cpp:720
int arrayDataId
Definition: pcoEdgePlugin.h:42
int is_enable
Definition: pcoEdgePlugin.h:69
int nextRecord
Definition: pcoEdgePlugin.h:45
virtual asynStatus readFile(NDArray **pArray)=0
Read NDArray data from a file; pure virtual function that must be implemented by derived classes.
int * pAttributeId
Definition: pcoEdgePlugin.h:46
size_t attrSize
Definition: pcoEdgePlugin.h:53
unsigned short * temp_image
Definition: pcoEdgePlugin.h:40
int is_decompress
Definition: pcoEdgePlugin.h:65
int edge_num_ndbuffers
Definition: pcoEdgePlugin.h:73
int sim_last
Definition: pcoEdgePlugin.h:79
NDAttribute class; an attribute has a name, description, source type, source string,...
Definition: NDAttribute.h:87
N-dimensional array class; each array has a set of dimensions, a data type, pointer to data,...
Definition: NDArray.h:92
int NDFileOpenMode_t
Definition: NDPluginFile.h:17
int uniqueIdId
Definition: pcoEdgePlugin.h:43
int edge_max_ndmemory
Definition: pcoEdgePlugin.h:74
int edge_est_buffers_left
Definition: pcoEdgePlugin.h:77
int timeStampId
Definition: pcoEdgePlugin.h:44
Base class for NDArray file writing plugins; actual file writing plugins inherit from this class.
Definition: NDPluginFile.h:28