11 #include <asynOctetSyncIO.h>
13 extern int mpxSet(
const char *command,
const char *
value);
14 extern int mpxGet(
const char *command,
char *
value);
15 extern int mpxCmd(
const char *command);
16 extern int mpxData(
unsigned int *data);
17 extern int mpxConnect(
const char *host,
int commandPort,
int dataPort);
22 #define MPX_HEADER "MPX"
23 #define MPX_SET (char*)"SET"
24 #define MPX_GET (char*)"GET"
25 #define MPX_CMD (char*)"CMD"
26 #define MPX_DATA_HEADER "CMD"
27 #define MPX_DATA_ACQ_HDR "HDR"
28 #define MPX_QUAD_DATA "MQ1"
29 #define MPX_PROFILE "PR1"
30 #define MPX_MSG_LEN_DIGITS 10
31 #define MPX_MSG_DATATYPE_LEN 3
33 #define MPX_MAXLINE 256
34 #define MPX_IMG_HDR_LEN 256
35 #define MPX_IMG_HDR_DAC_LEN 128
36 #define MPX_IMG_HDR_MAX_CHIPS 16
37 #define MPX_IMG_HDR_FULL_LEN MPX_IMG_HDR_LEN + MPX_IMG_HDR_DAC_LEN * MPX_IMG_HDR_MAX_CHIPS
38 #define MPX_ACQUISITION_HEADER_LEN 2044
40 #define MPX_X_SIZE 256
41 #define MPX_Y_SIZE 256
42 #define MPX_IMAGE_PIXELS 65536
43 #define MPX_IMAGE_BYTES MPX_IMAGE_PIXELS * 2
45 #define MPX_IMG_FRAME_LEN MPX_IMG_HDR_LEN + MPX_IMAGE_BYTES + MPX_MSG_DATATYPE_LEN + 2
46 #define MPX_IMG_FRAME_LEN24 MPX_IMG_HDR_LEN + MPX_IMAGE_BYTES * 2 + MPX_MSG_DATATYPE_LEN + 2
47 #define MAX_BUFF_MERLIN_QUAD 2000000
48 #define MAX_BUFF_UOM 5300000
54 #define MPX_ERR_PARAM 3
55 #define MPX_ERR_BUSY 4
56 #define MPX_ERR_CONN 100
57 #define MPX_ERR_WRITE 101
58 #define MPX_ERR_READ 102
59 #define MPX_ERR_LEN 103
60 #define MPX_ERR_DATA 110
61 #define MPX_ERR_UNEXPECTED 111
64 #define MPXVAR_GETSOFTWAREVERSION (char*) "SOFTWAREVERSION"
65 #define MPXVAR_DETECTORSTATUS (char*) "DETECTORSTATUS"
66 #define MPXVAR_NUMFRAMESTOACQUIRE (char*) "NUMFRAMESTOACQUIRE"
67 #define MPXVAR_ACQUISITIONTIME (char*) "ACQUISITIONTIME"
68 #define MPXVAR_ACQUISITIONPERIOD (char*) "ACQUISITIONPERIOD"
69 #define MPXVAR_TRIGGERSTART (char*) "TRIGGERSTART"
70 #define MPXVAR_TRIGGERSTOP (char*) "TRIGGERSTOP"
71 #define MPXVAR_NUMFRAMESPERTRIGGER (char*) "NUMFRAMESPERTRIGGER"
72 #define MPXVAR_COUNTERDEPTH (char*) "COUNTERDEPTH"
73 #define MPXVAR_ENABLECOUNTER1 (char*) "ENABLECOUNTER1"
74 #define MPXVAR_CONTINUOUSRW (char*) "CONTINUOUSRW"
75 #define MPXVAR_ROI (char*) "ROI"
76 #define MPXVAR_ENABLEBACKROUNDCORR (char*) "BCKGRNDCORRECTION"
77 #define MPXVAR_BACKGROUNDCOUNT (char*) "BCKGRND"
78 #define MPXVAR_ENABLEIMAGEAVERAGE (char*) "IMGAVERAGE"
79 #define MPXVAR_IMAGESTOSUM (char*) "IMAGESTOSUM"
80 #define MPXVAR_COLOURMODE (char*) "COLOURMODE"
81 #define MPXVAR_CHARGESUMMING (char*) "CHARGESUMMING"
84 #define MPXVAR_THSSCAN (char*) "THSCAN"
85 #define MPXVAR_THWINDOWMODE (char*) "THWINDOWMODE"
86 #define MPXVAR_THWINDOWSIZE (char*) "THWINDOWSIZE"
87 #define MPXVAR_THSTART (char*) "THSTART"
88 #define MPXVAR_THSTOP (char*) "THSTOP"
89 #define MPXVAR_THSTEP (char*) "THSTEP"
90 #define MPXVAR_THRESHOLD0 (char*) "THRESHOLD0"
91 #define MPXVAR_THRESHOLD1 (char*) "THRESHOLD1"
92 #define MPXVAR_THRESHOLD2 (char*) "THRESHOLD2"
93 #define MPXVAR_THRESHOLD3 (char*) "THRESHOLD3"
94 #define MPXVAR_THRESHOLD4 (char*) "THRESHOLD4"
95 #define MPXVAR_THRESHOLD5 (char*) "THRESHOLD5"
96 #define MPXVAR_THRESHOLD6 (char*) "THRESHOLD6"
97 #define MPXVAR_THRESHOLD7 (char*) "THRESHOLD7"
98 #define MPXVAR_OPERATINGENERGY (char*) "OPERATINGENERGY"
101 #define MPXCMD_STARTACQUISITION (char*) "STARTACQUISITION"
102 #define MPXCMD_STOPACQUISITION (char*) "STOPACQUISITION"
103 #define MPXCMD_THSCAN (char*) "THSCAN"
104 #define MPXCMD_SOFTWARETRIGGER (char*) "SWTRIGGER"
105 #define MPXCMD_RESET (char*) "RESET"
106 #define MPXCMD_PROFILECONTROL (char*) "PROFILES"
107 #define MPXCMD_PROFILES (char*) "PROFILES"
108 #define MPXCMD_BACKGROUNDACQUIRE (char*) "BCKGRND"
112 static const int dacInfoCount = 19;
113 static const char*
const dacInfo[] =
114 {
"Preamp",
"Ikrum",
"Shaper",
"Disc",
"Disc LS",
"Shaper Test",
115 "DAC Disc L",
"DAC Test",
"DAC DISC H",
"Delay",
"TP Buff In",
116 "TP Buff Out",
"RPZ",
"GND",
"TP Ref",
"FBK",
"Cas",
"TP Ref A",
120 static const int optFieldsCount = 6;
121 static const char*
const optFields[] = {
"ROI X",
"ROI Y",
"ROI Width",
122 "ROI Height",
"Profile Select",
"DACs Present" };
123 #define OPT_START_STRING "OPT1"
124 #define OPT_END_STRING "END1"
125 #define OPT_TOKEN_LEN 4
126 #define PROFILE_SELECT_POS 4
127 #define DACS_PRESENT_POS 5
130 #define MPXPROFILES_IMAGE 1
131 #define MPXPROFILES_XPROFILE 2
132 #define MPXPROFILES_YPROFILE 4
133 #define MPXPROFILES_SUM 8
int mpxCmd(const char *command)
Send a cmd command.
Definition: merlin_low.c:121
int mpxDisconnect(void)
Disconnect from the Labview program.
Definition: merlin_low.c:231
int mpxSet(const char *command, const char *value)
Interface library to merlin Labview system.
Definition: merlin_low.c:40
int mpxConnect(const char *host, int commandPort, int dataPort)
Connect to the Labview program.
Definition: merlin_low.c:158
int mpxGet(const char *command, char *value)
Get a value for the specified command.
Definition: merlin_low.c:79
int mpxData(unsigned int *data)
Read the latest data frame.
Definition: merlin_low.c:430
int mpxIsConnected(int *conn)
Test the connection status.
Definition: merlin_low.c:215
list value
Definition: makeDbAndEdl.py:234
CONNECTION * conn
Definition: nullhttpd.h:236