GLAST/LAT >
DAQ and FSW >
FSW >
Doxygen Index >
EDST / V1-0-1
Constituent: ebf_fes     Tag: linux-gcc
Interface Data Structures File List Data Fields Globals
ebf_fes.c File Reference
Program for developing fast compare code to run on Rad750 with data from FES. More...
#include "PBS/MBA.h"
#include "PBS/BSWP.h"
#include "LCBD/LCBD.h"
#include "MON/MON_pubdefs.h"
#include "EDS/EDS_fw.h"
#include "EDS/EDSD_print.h"
#include "EDS/io/EBF_stream.h"
#include "EDS/io/LCBP.h"
#include "EDS/LCBV.h"
#include "EDS/EBF_mc.h"
#include "EDS/EBF_evt.h"
#include "EDS/EBF_cid.h"
#include "EDS/EBF_gem.h"
#include "EDS/EBF_dir.h"
#include "EDS/EBF_tkr.h"
#include "EDS/FFS.h"
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <fcntl.h>
#include <unistd.h>
#include "EDST/EDST_compareList.h"
Include dependency graph for ebf_fes.c:
|
Functions |
static int | FillCtl (Ctl *ctl, int argc, char *const argv[]) |
| Examines the command line parameters and fills the print control structure.
|
int | main (int argc, char *const argv[]) |
| Usual entry point for the readtest.
|
Detailed Description
Program for developing fast compare code to run on Rad750 with data from FES.
- Author:
- Ed Bacho - ebacho@slac.stanford.edu
- Example:
$ ebf_fes <inFileLoadedInFes.ebf> <fileFromLat.ebf>
- For a complete explanation type ebf_fes with no arguments.
This file contains the code for a "fast" compare that will run on the Rad750. The steps are: 1) load EBF file into FES, set FES to insert fileSeqNum into GEM 2) setup LAT to collect data 3) use ebf_fes to setup this code, it will
- install a handler in LCB event to do "fast" compare
- allocate some memory to receive "bad" events
- read in the same EBF file as loaded into FES and parse it into a form to do the compare 4) startup FES 5) The installed LCB handler will do the following on each event
- use fileSeqNum stored in GEM to lookup evt data from EBF file
- start comparing received data with that stored from EBF file
- on any diff detected
- skip rest of compares
- save whole event to the "bad" evt memory buffer 6) WHen test completed or buffer full, one can save the "bad" events to disk with ebf_fesSave().
NOTE that host executable is for debugging this code. The 2nd file specified must be one from the FES/LAT with the fileSeqNUm embedded in the GEM header. THe host prog, ebf_fes, has no use beyond this debugging.
Use ebf_diff prog should be used for comparing EBF files.
ebf_diff can also be used to analyze the "bad" file produced with program against the original EBF file.
CVS $Id: ebf_fes.c,v 1.5 2007/10/18 02:39:41 jgt Exp $
Function Documentation
static int FillCtl |
( |
Ctl * |
ctl, |
|
|
int |
argc, |
|
|
char *const |
argv[] |
|
) |
[static] |
|
|
Examines the command line parameters and fills the print control structure.
- Parameters:
-
| ctl | The parameter control block. |
| argc | The number of command line parameters. |
| argv | The array of pointers to the command line parameters. |
- Return values:
-
| 0,Everything | is okay. |
| -1,Incorrect | command usage. Usually this means that the input file name was absent. |
- Host argument parsing routine
|
int main |
( |
int |
argc, |
|
|
char *const |
argv[] |
|
) |
|
|
|
Usual entry point for the readtest.
- Parameters:
-
| argc | The number of arguments |
| argv | The vector of arguments. |
- Host main routine
|
Generated on Sun Jun 14 02:00:17 2009 by
1.4.4