Low-Energy Muon (LEM) Experiment  0.5.2
tpg262_scfe.cxx
Go to the documentation of this file.
1 /********************************************************************\
2 
3  Name: tpg262_scfe.c
4  Created by: Andreas Suter
5 
6  Contents: Midas Slowcontrol Frontend to readout all devices related
7  to the sample region (except high voltages)
8 
9 \********************************************************************/
10 
11 #include <stdio.h>
12 #include <stdlib.h>
13 #include <string.h>
14 #include <math.h>
15 
16 #include "midas.h"
17 #include "class/generic.h"
18 #include "pfeiffer_tpg252a.h"
19 #include "bus/tcpip.h"
20 
21 //-- Globals -------------------------------------------------------
22 
24 const char *frontend_name = "TPG262_SC";
26 const char *frontend_file_name = __FILE__;
27 
29 BOOL frontend_call_loop = TRUE;
30 
32 INT display_period = 1000;
33 
35 INT max_event_size = 10000;
36 
38 INT max_event_size_frag = 5*1024*1024;
39 
41 INT event_buffer_size = 10*10000;
42 
43 
44 //-- Equipment list ------------------------------------------------
45 
46 
50 DEVICE_DRIVER pfeiffer_tpg262_driver[] = {
51  /* initial demand value taken from instrument */
52  { "PFEIFFER_TPG262", pfeiffer_tpg252a, 2, tcpip, DF_PRIO_DEVICE|DF_READ_ONLY },
53  { "" }
54 };
55 
65 
67 EQUIPMENT equipment[] = {
68 
69  { "TPG262", // equipment name
70  {64, 0, // event ID, trigger mask
71  "SYSTEM", // event buffer
72  EQ_SLOW, // equipment type
73  0, // event source
74  "FIXED", // format
75  TRUE, // enabled
76  RO_RUNNING |
77  RO_TRANSITIONS, // read when running and on transitions
78  30000, // read every 30 sec
79  0, // stop run after this event limit
80  0, // number of sub events
81  1, // log history every event
82  "", "", "",},
83  cd_gen_read, // readout routine
84  cd_gen, // class driver main routine
85  pfeiffer_tpg262_driver, // device driver list
86  NULL, // init string
87  },
88 
89  { "" }
90 };
91 
92 
93 
94 //-- Dummy routines ------------------------------------------------
95 
96 INT poll_event(INT source, INT count, BOOL test) {return 1;};
97 INT interrupt_configure(INT cmd, INT source, POINTER_T adr) {return 1;};
98 
99 //-- Frontend Init -------------------------------------------------
105 {
106  // de-register run-transition notifications
107  cm_deregister_transition(TR_START);
108  cm_deregister_transition(TR_STOP);
109  cm_deregister_transition(TR_PAUSE);
110  cm_deregister_transition(TR_RESUME);
111 
112  return CM_SUCCESS;
113 }
114 
115 //-- Frontend Exit -------------------------------------------------
121 {
122  return CM_SUCCESS;
123 }
124 
125 //-- Frontend Loop -------------------------------------------------
131 {
132 
133  return CM_SUCCESS;
134 }
135 
136 //-- Begin of Run --------------------------------------------------
141 INT begin_of_run(INT run_number, char *error)
142 {
143  return CM_SUCCESS;
144 }
145 
146 //-- End of Run ----------------------------------------------------
151 INT end_of_run(INT run_number, char *error)
152 {
153  return CM_SUCCESS;
154 }
155 
156 //-- Pause Run -----------------------------------------------------
161 INT pause_run(INT run_number, char *error)
162 {
163  return CM_SUCCESS;
164 }
165 
166 //-- Resume Run ----------------------------------------------------
171 INT resume_run(INT run_number, char *error)
172 {
173  return CM_SUCCESS;
174 }
175 
176 //------------------------------------------------------------------
const char * frontend_name
&lt; created by ODBedit, command &quot;make&quot;
Definition: vme_fe.cxx:167
INT max_event_size
maximum event size produced by this frontend
Definition: vme_fe.cxx:179
BOOL frontend_call_loop
frontend_loop is called periodically if this variable is TRUE
Definition: vme_fe.cxx:173
INT display_period
a frontend status page is displayed with this frequency in ms
Definition: vme_fe.cxx:176
INT event_buffer_size
buffer size to hold events
Definition: vme_fe.cxx:185
INT frontend_exit()
Definition: vme_fe.cxx:565
EQUIPMENT equipment[]
Definition: vme_fe.cxx:343
INT begin_of_run(INT run_number, char *error)
Definition: vme_fe.cxx:597
INT interrupt_configure(INT cmd, INT source, PTYPE adr)
Definition: vme_fe.cxx:2105
INT frontend_loop()
Definition: vme_fe.cxx:957
INT resume_run(INT run_number, char *error)
Definition: vme_fe.cxx:900
INT max_event_size_frag
maximum event size for fragmented events (EQ_FRAGMENTED)
Definition: vme_fe.cxx:182
INT frontend_init()
Definition: vme_fe.cxx:429
DEVICE_DRIVER pfeiffer_tpg262_driver[]
Definition: tpg262_scfe.cxx:50
BOOL equipment_common_overwrite
Definition: vme_fe.cxx:341
INT end_of_run(INT run_number, char *error)
Definition: vme_fe.cxx:865
INT poll_event(INT source, INT count, BOOL test)
Definition: vme_fe.cxx:2088
INT pause_run(INT run_number, char *error)
Definition: vme_fe.cxx:893
const char * frontend_file_name
The frontend file name, don&#39;t change it.
Definition: vme_fe.cxx:170