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

beamtime/cosy-nov11/discriminator/v812.h (r4864/r2371)

Go to the documentation of this file.
00001 //            V812 - 32-channel TDC
00002 //           ======
00003 //        include file
00004 // with all functionalities definitions
00005 //
00006 //  P.-A. Loizeau (PI, Uni-HD) November 2011
00007 //-----------------------------------------------------------
00008 
00009 #ifndef V812_H
00010 #define V812_H
00011 
00012 #define V812_NB_CHAN 16
00013 
00014 #define V812_VME_LEN 0x01000000
00015 
00016 // --------- Pointers ---------
00017 //       pl -> long pointer
00018 //       pi -> short (integer)
00019 //       pc -> character
00020 //       ps -> structure
00021 //-----------------------------
00022 
00023 typedef struct
00024 {
00025    char name[20] ;
00026    
00027    short volatile *pi_threshold[V812_NB_CHAN];
00028 
00029    short volatile *pi_output_width_ch00to07   ;
00030    short volatile *pi_output_width_ch08to15   ;
00031 
00032    short volatile *pi_deadtime_ch00to07   ;    
00033    short volatile *pi_deadtime_ch08to15   ;   
00034        
00035    short volatile *pi_threshold_majority  ;
00036    
00037    short volatile *pi_channel_inhibit  ;
00038    
00039    short volatile *pi_test_pulse  ;
00040 
00041    short volatile *pi_fixed_code  ;
00042    short volatile *pi_manufacturer_type  ;
00043    short volatile *pi_version_serial  ;
00044 } s_v812;
00045 
00046 
00047 int   V812_GetPointers (long ph_v812_seg, s_v812 *ps_v812, char* name);
00048 
00049 short V812__GetModuleInfo     (s_v812 *ps_v812);
00050 
00051 void  V812__SetThreshold      (s_v812 *ps_v812, short iChannel, short iThresholdValue);
00052 void  V812__SetThresholdAll   (s_v812 *ps_v812, short iThresholdValue);
00053 
00054 void  V812__SetOutWidthLowChan(s_v812 *ps_v812, short iOutputWidthValue);
00055 void  V812__SetOutWidthUppChan(s_v812 *ps_v812, short iOutputWidthValue);
00056 void  V812__SetOutWidthAll    (s_v812 *ps_v812, short iOutputWidthValue);
00057 
00058 void  V812__SetDeadtimeLowChan(s_v812 *ps_v812, short iDeadtimeValue);
00059 void  V812__SetDeadtimeUppChan(s_v812 *ps_v812, short iDeadtimeValue);
00060 void  V812__SetDeadtimeAll    (s_v812 *ps_v812, short iDeadtimeValue);
00061 
00062 void  V812__SetMajorityThr    (s_v812 *ps_v812, short iMajorityLevel);
00063 
00064 void  V812__SetChannelOn      (s_v812 *ps_v812, short iChannel );
00065 void  V812__SetChannelOff     (s_v812 *ps_v812, short iChannel );
00066 void  V812__SetChanPatternOn  (s_v812 *ps_v812, short iChannelPattern);
00067 
00068 void  V812__GeneratePulse     (s_v812 *ps_v812);
00069 
00070 void  V812__StandardSetup     (s_v812 *ps_v812);
00071 
00072 #endif // V812_H

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