areaDetector  2-6
mpxConnection.h
Go to the documentation of this file.
1 #ifndef MPXCONN_H_
2 #define MPXCONN_H_
3 
4 #define ASYN_TRACE_MPX 0x0100
5 #define ASYN_TRACE_MPX_VERBOSE 0x0200
6 
7 #include "medipix_low.h"
8 
10 typedef enum
11 {
23 
24 class medipixDetector;
25 
27 {
28 public:
29  /* input and output from the labView controller */
36 
37 public:
38  // Constructor
39  mpxConnection(asynUser* parentUser, asynUser* tcpUser,
40  medipixDetector* parentObj);
41 
42  /* The labview communication primitives */
43  asynStatus mpxGet(char* valueId, double timeout);
44  asynStatus mpxSet(char* valueId, char* value, double timeout);
45  asynStatus mpxCommand(char* commandId, double timeout);
46  asynStatus mpxWrite(double timeout);
47  asynStatus mpxReadCmd(char* cmdType, char* cmdName, double timeout);
48  asynStatus mpxWriteRead(char* cmdType, char* cmdName, double timeout);
49  asynStatus mpxRead(asynUser* pasynUser, char* bodyBuf, int bufSize,
50  int* bytesRead, double timeout);
51 
52  /* Helper functions */
53  medipixDataHeader parseDataHeader(const char* header);
54  void parseDataFrame(NDAttributeList* pAttr, const char* header,
55  medipixDataHeader headerType, size_t *xsize, size_t *ysize,
56  int* pixelSize, int* profileMask);
57  void parseMqDataFrame(NDAttributeList* pAttr, const char* header,
58  size_t *xsize, size_t *ysize, int* pixelDepth, int* offset);
59 
60  void dumpData(char* sdata, int size);
61 
62 private:
63  asynUser* parentUser;
64  asynUser* tcpUser;
65  medipixDetector* parentObj;
66 };
67 
68 #endif
Definition: mpxConnection.h:13
void parseMqDataFrame(NDAttributeList *pAttr, const char *header, size_t *xsize, size_t *ysize, int *pixelDepth, int *offset)
Definition: mpxConnection.cpp:63
Definition: mpxConnection.h:18
list value
Definition: makeDbAndEdl.py:234
asynStatus mpxSet(char *valueId, char *value, double timeout)
Definition: mpxConnection.cpp:343
asynStatus mpxCommand(char *commandId, double timeout)
Definition: mpxConnection.cpp:391
Definition: mpxConnection.h:17
char fromLabviewHeader[MPX_MAXLINE]
Definition: mpxConnection.h:32
Definition: mpxConnection.h:26
void dumpData(char *sdata, int size)
memory dump of data for diagnostics
Definition: mpxConnection.cpp:780
medipixDataHeader parseDataHeader(const char *header)
Definition: mpxConnection.cpp:30
char toLabview[MPX_MAXLINE]
Definition: mpxConnection.h:30
mpxConnection(asynUser *parentUser, asynUser *tcpUser, medipixDetector *parentObj)
Definition: mpxConnection.cpp:21
#define MPX_MAXLINE
Definition: medipix_low.h:38
char fromLabviewValue[MPX_MAXLINE]
Definition: mpxConnection.h:34
asynStatus mpxRead(asynUser *pasynUser, char *bodyBuf, int bufSize, int *bytesRead, double timeout)
Reads in a raw MPX frame from a pasynOctetSyncIO handle.
Definition: mpxConnection.cpp:540
NDAttributeList.h.
Definition: NDAttributeList.h:21
Definition: mpxConnection.h:15
asynStatus mpxWriteRead(char *cmdType, char *cmdName, double timeout)
Definition: mpxConnection.cpp:749
Definition: mpxConnection.h:19
int fromLabviewError
Definition: mpxConnection.h:35
char fromLabview[MPX_MAXLINE]
Definition: mpxConnection.h:31
Definition: mpxConnection.h:14
asynStatus mpxReadCmd(char *cmdType, char *cmdName, double timeout)
Reads in the MPX command header and body from labview verifies the header and places the body in this...
Definition: mpxConnection.cpp:681
Definition: mpxConnection.h:20
void parseDataFrame(NDAttributeList *pAttr, const char *header, medipixDataHeader headerType, size_t *xsize, size_t *ysize, int *pixelSize, int *profileMask)
Definition: mpxConnection.cpp:201
char fromLabviewBody[MPX_MAXLINE]
Definition: mpxConnection.h:33
asynStatus mpxGet(char *valueId, double timeout)
Get the specified named value from Labview.
Definition: mpxConnection.cpp:442
Definition: mpxConnection.h:21
Definition: mpxConnection.h:12
asynStatus mpxWrite(double timeout)
Send a request to labview.
Definition: mpxConnection.cpp:503
Definition: mpxConnection.h:16
medipixDataHeader
data header types
Definition: mpxConnection.h:10
Driver for Dectris medipix pixel array detectors using their Labview server over TCP/IP socket...
Definition: medipixDetector.h:113