• Main Page
  • Related Pages
  • Namespaces
  • Data Structures
  • Files
  • File List
  • Globals

beamtime/cern-oct12/mbs/trigloglib.h (r4864/r3257)

Go to the documentation of this file.
00001 #ifndef TRIGLOGLIB_H
00002 #define TRIGLOGLIB_H
00003 
00004 
00005 /*************** Trigger Logic **********************/
00006 #define T_LOG_DEL_1   0x4 //delay spill off pulse
00007 
00008 /*******************LMU Setup************************/
00009 #define T_LOG_LMU_1   0x8
00010 #define T_LOG_LMU_2   0xc
00011 #define T_LOG_LMU_3   0x10
00012 #define T_LOG_LMU_4   0x14
00013 #define T_LOG_LMU_5   0x18
00014 #define T_LOG_LMU_6   0x1c
00015 #define T_LOG_LMU_7   0x20
00016 #define T_LOG_LMU_8   0x24
00017 #define T_LOG_LMU_9   0x28
00018 #define T_LOG_LMU_a   0x2c
00019 #define T_LOG_LMU_b   0x30
00020 #define T_LOG_LMU_c   0x34
00021 #define T_LOG_LMU_d   0x38
00022 #define T_LOG_LMU_e   0x3c
00023 #define T_LOG_LMU_f   0x40
00024 #define T_LOG_LMU_g   0x44
00025 
00026 /*******************Trigger Box Setup*****************/
00027 #define T_LOG_TBOX_ENA     0x48
00028 #define T_LOG_TBOX_SCALL   0x4c
00029 #define T_LOG_TBOX_SCALH   0x50
00030 
00031 /*******************Switch Box Setup******************/
00032 #define T_LOG_SW_L    0x54
00033 #define T_LOG_SW_H    0x58
00034                                 //new
00035 #define T_LOG_RES      0x5c //reset scaler + sync scaler
00036 
00037 #define T_LOG_SC_LATCH 0x60 //latch scaler
00038 #define T_LOG_INT_TDT  0x64 //internal deadtime
00039 #define T_LOG_ECO      0x68     //switch signals to hpla output
00040 #define T_LOG_EXT_INT_RES  0x6c         //internal external reset
00041 
00042 /**********Internal Pulse Generator Setup*************/
00043 #define T_LOG_PULS_IN  0x70
00044 #define T_LOG_FREQU_1  0x74
00045 #define T_LOG_FREQU_2  0x78
00046 #define T_LOG_FREQU_3  0x7c
00047 
00048 #define T_LOG_SOFTTRIG 0x80     //Software Trigger
00049 #define T_LOG_RES_DOUT 0x84     //reset for data out register
00050 //new
00051 #define T_LOG_RES_SYNC 0x88     //reset for sync scaler
00052 #define T_LOG_PULS     0x8c     // ECO PULS out via vme command
00053 /*************Scaler and Triggerpattern***************/
00054 #define T_LOG_SCAL_1    0x8c
00055 #define T_LOG_SCAL_2    0xcc
00056 #define T_LOG_SCAL_3    0x10c
00057 #define T_LOG_SCAL_4    0x14c
00058 #define T_LOG_SCAL_5    0x18c
00059 #define T_LOG_SCAL_FC   0x1d0
00060 #define T_LOG_TRIG_PAT  0x1d4
00061 //new
00062 #define T_LOG_SYNC_SCAL 0x1d8
00063 #define T_LOG_INPUT_PAT 0x1dc
00064 
00065 
00066 typedef struct {
00067    long  volatile *pl_reset;
00068    long  volatile *pl_tb_ena;
00069    long  volatile *pl_tb_reduc1;
00070    long  volatile *pl_tb_reduc2;
00071    long  volatile *pl_d_latch; 
00072    long  volatile *pl_tb_version;
00073    long  volatile *pl_soft_trig;  
00074    long  volatile *pl_scal1[16];
00075    long  volatile *pl_scal2[16];
00076    long  volatile *pl_scal3[16];
00077    long  volatile *pl_scal4[16];
00078    long  volatile *pl_scal5[16];
00079    long  volatile *pl_scal_fc;
00080    long  volatile *pl_trig_pat;
00081    long  volatile *pl_input_pat;
00082    long  volatile *pl_frequ_1;
00083    long  volatile *pl_res_dout;
00084 // end VULOM4 triggerbox + scaler
00085 
00086 // VME addresses of VULOM3 sync sender 
00087    long  volatile *ev_reset;
00088 //   long  volatile *spill_enable;
00089    long  volatile *ev_counter;
00090    
00091 // VME addresses of VULOM3 RPC Reset
00092    long  volatile *pl_eclout_pulse;
00093 
00094    long  sync_counter; // current read value of sync counter
00095    long  last_sync_counter; // previous read value of sync counter
00096 
00097 } s_triglog;
00098 
00099 void triglog_getptr(long l_virt_base, s_triglog* ps);
00100 
00101 void triglog_init(s_triglog* ps);
00102 
00103 long triglog_read(long* pl_dat, s_triglog* ps);
00104 
00105 void triglog_send_ecl_pulse(s_triglog* ps);
00106 
00107 void triglog_reset_scalers(s_triglog* ps);
00108 void triglog_reset_sync(s_triglog* ps);
00109 
00110 #endif

Generated on Tue Dec 10 2013 04:52:18 for ROCsoft by  doxygen 1.7.1