Low-Energy Muon (LEM) Experiment  0.5.2
danfysik_spin_rot_scfe.cxx File Reference
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include "midas.h"
#include "mfe.h"
#include "class/multi.h"
#include "danfysik.h"
#include "tcpip_rs232.h"
Include dependency graph for danfysik_spin_rot_scfe.cxx:

Go to the source code of this file.

Macros

#define DANFYSIK_REMOTE_CH   0
 
#define DANFYSIK_STATE_CH   1
 
#define DANFYSIK_DEMAND_CH   2
 
#define DANFYSIK_MEASURE_CH   3
 
#define DANFYSIK_TIMEOUT_CHECK   30
 

Functions

INT poll_event (INT source, INT count, BOOL test)
 
INT interrupt_configure (INT cmd, INT source, POINTER_T adr)
 
INT frontend_init ()
 
INT frontend_exit ()
 
INT frontend_loop ()
 
INT begin_of_run (INT run_number, char *error)
 
INT end_of_run (INT run_number, char *error)
 
INT pause_run (INT run_number, char *error)
 
INT resume_run (INT run_number, char *error)
 

Variables

DWORD danfysik_check_timestamp
 
const char * frontend_name = "SpinRotMagnet_SC"
 The frontend name (client name) as seen by other MIDAS clients. More...
 
const char * frontend_file_name = __FILE__
 The frontend file name, don't change it. More...
 
BOOL frontend_call_loop = FALSE
 frontend_loop is called periodically if this variable is TRUE More...
 
INT display_period = 1000
 a frontend status page is displayed with this frequency in ms More...
 
INT max_event_size = 10000
 maximum event size produced by this frontend More...
 
INT max_event_size_frag = 5*1024*1024
 maximum event size for fragmented events (EQ_FRAGMENTED) More...
 
INT event_buffer_size = 10*10000
 buffer size to hold events More...
 
DEVICE_DRIVER danfysik_driver []
 
BOOL equipment_common_overwrite = FALSE
 
EQUIPMENT equipment []
 equipment structure for the mfe.c More...
 

Macro Definition Documentation

#define DANFYSIK_DEMAND_CH   2

Definition at line 27 of file danfysik_spin_rot_scfe.cxx.

Referenced by frontend_loop().

#define DANFYSIK_MEASURE_CH   3

Definition at line 28 of file danfysik_spin_rot_scfe.cxx.

Referenced by frontend_loop().

#define DANFYSIK_REMOTE_CH   0

Definition at line 25 of file danfysik_spin_rot_scfe.cxx.

Referenced by frontend_loop().

#define DANFYSIK_STATE_CH   1

Definition at line 26 of file danfysik_spin_rot_scfe.cxx.

Referenced by frontend_loop().

#define DANFYSIK_TIMEOUT_CHECK   30

Definition at line 30 of file danfysik_spin_rot_scfe.cxx.

Referenced by frontend_loop().

Function Documentation

INT begin_of_run ( INT  run_number,
char *  error 
)

Called by the mfe at the begin of the run. Here it is only a dummy.

Definition at line 214 of file danfysik_spin_rot_scfe.cxx.

INT end_of_run ( INT  run_number,
char *  error 
)

Called by the mfe at the end of the run. Here it is only a dummy.

Definition at line 224 of file danfysik_spin_rot_scfe.cxx.

INT frontend_exit ( )

Called by the mfe at exiting stage. Here it is only a dummy.

Definition at line 133 of file danfysik_spin_rot_scfe.cxx.

INT frontend_init ( )

Called by the master frontend (mfe) at initializing stage. Here it is only a dummy.

Definition at line 114 of file danfysik_spin_rot_scfe.cxx.

References danfysik_check_timestamp.

INT frontend_loop ( )
INT interrupt_configure ( INT  cmd,
INT  source,
POINTER_T  adr 
)

Definition at line 107 of file danfysik_spin_rot_scfe.cxx.

INT pause_run ( INT  run_number,
char *  error 
)

Called by the mfe when the run is paused. Here it is only a dummy.

Definition at line 234 of file danfysik_spin_rot_scfe.cxx.

INT poll_event ( INT  source,
INT  count,
BOOL  test 
)

Definition at line 106 of file danfysik_spin_rot_scfe.cxx.

INT resume_run ( INT  run_number,
char *  error 
)

Called by the mfe when the run is resumed. Here it is only a dummy.

Definition at line 244 of file danfysik_spin_rot_scfe.cxx.

Variable Documentation

DWORD danfysik_check_timestamp

Definition at line 32 of file danfysik_spin_rot_scfe.cxx.

DEVICE_DRIVER danfysik_driver[]
Initial value:
= {
{ "Danfysik_in", danfysik_in, 5, tcpip_rs232, DF_INPUT },
{ "Danfysik_out", danfysik_out, 4, tcpip_rs232, DF_OUTPUT },
{ "" }
}
INT danfysik_in(INT cmd,...)
INT danfysik_out(INT cmd,...)

device driver list for the danfysik power supply used for the LEM spin rotator magnet.

Definition at line 60 of file danfysik_spin_rot_scfe.cxx.

INT display_period = 1000

a frontend status page is displayed with this frequency in ms

Definition at line 43 of file danfysik_spin_rot_scfe.cxx.

EQUIPMENT equipment[]
Initial value:
= {
{ "Danfysik_Spin_Rot",
{98, 0,
"SYSTEM",
EQ_SLOW,
0,
"FIXED",
TRUE,
RO_RUNNING |
RO_TRANSITIONS,
30000,
0,
0,
1,
"", "", "",},
cd_multi_read,
cd_multi,
NULL,
},
{ "" }
}
DEVICE_DRIVER danfysik_driver[]

equipment structure for the mfe.c

Definition at line 77 of file danfysik_spin_rot_scfe.cxx.

BOOL equipment_common_overwrite = FALSE

equipment_common_overwrite:

  • If that flag is TRUE, then the contents of the "equipment" structure is copied to the ODB on each start of the front-end.
  • If the flag is FALSE, then the ODB values are kept on the start of the front-end

Definition at line 74 of file danfysik_spin_rot_scfe.cxx.

INT event_buffer_size = 10*10000

buffer size to hold events

Definition at line 52 of file danfysik_spin_rot_scfe.cxx.

BOOL frontend_call_loop = FALSE

frontend_loop is called periodically if this variable is TRUE

Definition at line 40 of file danfysik_spin_rot_scfe.cxx.

const char* frontend_file_name = __FILE__

The frontend file name, don't change it.

Definition at line 37 of file danfysik_spin_rot_scfe.cxx.

const char* frontend_name = "SpinRotMagnet_SC"

The frontend name (client name) as seen by other MIDAS clients.

Definition at line 35 of file danfysik_spin_rot_scfe.cxx.

INT max_event_size = 10000

maximum event size produced by this frontend

Definition at line 46 of file danfysik_spin_rot_scfe.cxx.

INT max_event_size_frag = 5*1024*1024

maximum event size for fragmented events (EQ_FRAGMENTED)

Definition at line 49 of file danfysik_spin_rot_scfe.cxx.