MIDAS
|
#include <stdio.h>
#include <errno.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>
#include <stdint.h>
#include <sys/time.h>
#include <assert.h>
#include "midas.h"
#include "mvmestd.h"
#include "vme/v792.h"
#include "v895.h"
#include "vme/v1190B.h"
Go to the source code of this file.
Macros | |
#define | HAVE_V792 |
#define | HAVE_V895 |
#define | HAVE_V1190B |
Functions | |
INT | frontend_init () |
Frontend initialization. | |
INT | frontend_exit () |
Frontend exit. | |
INT | begin_of_run (INT run_number, char *error) |
Begin of Run. | |
INT | end_of_run (INT run_number, char *error) |
End of Run. | |
INT | pause_run (INT run_number, char *error) |
Pause Run. | |
INT | resume_run (INT run_number, char *error) |
Resume Run. | |
INT | frontend_loop () |
Frontend loop. | |
INT | read_event (char *pevent, INT off) |
int | mvme_read16 (int addr) |
int | mvme_read32 (int addr) |
void | encodeU32 (char *pdata, uint32_t value) |
uint32_t | odbReadUint32 (const char *name, int index, uint32_t defaultValue=0) |
int | enable_trigger () |
int | disable_trigger () |
INT | init_vme_modules () |
INT | poll_event (INT source, INT count, BOOL test) |
Polling routine for events. | |
INT | interrupt_configure (INT cmd, INT source, PTYPE adr) |
int | read_v792 (int base, const char *bname, char *pevent, int nchan) |
int | read_tdc (int base, char *pevent) |
Variables | |
char * | frontend_name = "fevme" |
The frontend name (client name) as seen by other MIDAS clients. | |
char * | frontend_file_name = __FILE__ |
The frontend file name, don't change it. | |
BOOL | frontend_call_loop = FALSE |
frontend_loop is called periodically if this variable is TRUE | |
INT | display_period = 000 |
a frontend status page is displayed with this frequency in ms | |
INT | max_event_size = 100*1024 |
maximum event size produced by this frontend | |
INT | max_event_size_frag = 1024*1024 |
maximum event size for fragmented events (EQ_FRAGMENTED) | |
INT | event_buffer_size = 200*1024 |
buffer size to hold events | |
INT | run_state |
HNDLE | hDB |
main ODB handle | |
EQUIPMENT | equipment [] |
Main structure for midas equipment. | |
MVME_INTERFACE * | gVme = 0 |
int | gVmeioBase = 0x780000 |
int | gAdcBase = 0x110000 |
int | gDisBase [] = { 0xE00000, 0 } |
int | gTdcBase = 0xf10000 |
int | gVF48base = 0xa00000 |
static int | gHaveRun = 0 |
Begin of Run.
Called every run start transition. Set equipment status in ODB, start acquisition on the modules.
[in] | run_number | Number of the run being started |
[out] | error | Can be used to write a message string to midas.log |
Definition at line 284 of file fevme.cxx.
int disable_trigger | ( | ) |
int enable_trigger | ( | ) |
End of Run.
Called every stop run transition. Set equipment status in ODB, stop acquisition on the modules.
[in] | run_number | Number of the run being ended |
[out] | error | Can be used to write a message string to midas.log |
Definition at line 296 of file fevme.cxx.
Frontend exit.
Runs at frontend shutdown. Disconnect hardware and set equipment status in ODB
Definition at line 272 of file fevme.cxx.
Frontend initialization.
Runs once at application startup. We initialize the hardware and optical interfaces and set the equipment status in ODB. We also lock the frontend to once physical cpu core.
Definition at line 251 of file fevme.cxx.
Frontend loop.
If frontend_call_loop is true, this routine gets called when the frontend is idle or once between every event.
Definition at line 334 of file fevme.cxx.
INT init_vme_modules | ( | ) |
Definition at line 202 of file fevme.cxx.
Definition at line 170 of file fevme.cxx.
Polling routine for events.
[in] | source | Event source (LAM/IRQ) |
[in] | count | Loop count for event polling timeout |
[in] | test | flag used to time the polling |
Definition at line 348 of file fevme.cxx.
Definition at line 550 of file fevme.cxx.
Definition at line 437 of file fevme.cxx.
Definition at line 399 of file fevme.cxx.
INT display_period = 000 |
EQUIPMENT equipment[] |
Main structure for midas equipment.
Definition at line 88 of file fevme.cxx.
INT event_buffer_size = 200*1024 |
char* frontend_name = "fevme" |
MVME_INTERFACE* gVme = 0 |
INT max_event_size = 100*1024 |
INT max_event_size_frag = 1024*1024 |