cvt_V792.h

Go to the documentation of this file.
00001 
00002 
00010 
00011 #ifndef __CVT_V792_DEF_H
00012 #define __CVT_V792_DEF_H
00013 
00015 // File includes
00017 #include "cvt_common_defs.h"
00018 #include "cvt_board_commons.h"
00020 // Global defines
00022 
00023 #define CVT_V792_THRESHOLD_NUM_A                32                      
00024 #define CVT_V792_THRESHOLD_NUM_N                16                      
00026 
00027 
00032 
00033 #define CVT_V792_USE_DATA_QUEUE 1
00034 
00036 
00041 
00042 #ifdef CVT_V792_USE_DATA_QUEUE
00043         #define CVT_V792_QUEUE_SIZE_DWORD       (1024*1024)     
00044 #endif
00045 
00047 
00052 
00053 typedef enum
00054 {
00055         CVT_V792_TYPE_A,                                                        
00056         CVT_V792_TYPE_N,                                                        
00057 } CVT_V792_TYPES;
00058 
00060 
00066 
00067 typedef struct
00068 {
00069         cvt_board_data  m_common_data;                          
00070         //
00071         // Board specific data
00072 
00073         CVT_V792_TYPES m_type;                                          
00074 #ifdef CVT_V792_USE_DATA_QUEUE
00075         UINT32 *m_queue;                                                        
00076         long m_queue_ini;                                                       
00077         long m_queue_end;                                                       
00078 #endif
00079 
00080         // TODO: add other variables here
00081 } cvt_V792_data;
00082 
00084 // Registers address
00086 #define CVT_V792_OUT_BUFFER_ADD                                         0x0000                          
00087 #define CVT_V792_FW_REV_ADD                                                     0x1000                          
00088 #define CVT_V792_GEO_ADDRESS_ADD                                        0x1002                          
00089 #define CVT_V792_MCST_CBLT_ADDRESS_ADD                          0x1004                          
00090 #define CVT_V792_BIT_SET_1_ADD                                          0x1006                          
00091 #define CVT_V792_BIT_CLEAR_1_ADD                                        0x1008                          
00092 #define CVT_V792_INT_LEVEL_ADD                                          0x100A                          
00093 #define CVT_V792_INT_VECTOR_ADD                                         0x100C                          
00094 #define CVT_V792_STATUS_1_ADD                                           0x100E                          
00095 #define CVT_V792_CONTROL_1_ADD                                          0x1010                          
00096 #define CVT_V792_ADER_HIGH_ADD                                          0x1012                          
00097 #define CVT_V792_ADER_LOW_ADD                                           0x1014                          
00098 #define CVT_V792_SINGLE_SHOT_RESET_ADD                          0x1016                          
00099 #define CVT_V792_MCST_CBLT_CTRL_ADD                                     0x101A                          
00100 #define CVT_V792_EVENT_TRG_ADD                                          0x1020                          
00101 #define CVT_V792_STATUS_2_ADD                                           0x1022                          
00102 #define CVT_V792_EVENT_COUNTER_LOW_ADD                          0x1024                          
00103 #define CVT_V792_EVENT_COUNTER_HIGH_ADD                         0x1026                          
00104 #define CVT_V792_INC_EVENT_ADD                                          0x1028                          
00105 #define CVT_V792_INC_OFFSET_ADD                                         0x102A                          
00106 #define CVT_V792_LOAD_TEST_ADD                                          0x102C                          
00107 #define CVT_V792_FCLR_WND_ADD                                           0x102E                          
00108 #define CVT_V792_BIT_SET_2_ADD                                          0x1032                          
00109 #define CVT_V792_BIT_CLEAR_2_ADD                                        0x1034                          
00110 #define CVT_V792_W_MEMORY_TEST_ADDRESS_ADD                      0x1036                          
00111 #define CVT_V792_MEMORY_TEST_WORD_HIGH_ADD                      0x1038                          
00112 #define CVT_V792_MEMORY_TEST_WORD_LOW_ADD                       0x103A                          
00113 #define CVT_V792_CRATE_SELECT_ADD                                       0x103C                          
00114 #define CVT_V792_TEST_EVENT_WRITE_ADD                           0x103E                          
00115 #define CVT_V792_EVENT_COUNT_RESET_ADD                          0x1040                          
00116 #define CVT_V792_IPED_ADD                                                       0x1060                          
00117 #define CVT_V792_R_TEST_ADDRESS_ADD                                     0x1064                          
00118 #define CVT_V792_SW_COMM_ADD                                            0x1068                          
00119 #define CVT_V792_SLIDE_CONSTANT_ADD                                     0x106A                          
00120 #define CVT_V792_AAD_ADD                                                        0x1070                          
00121 #define CVT_V792_BAD_ADD                                                        0x1072                          
00122 #define CVT_V792_THRESHOLD_0_ADD                                        0x1080                          
00123 #define CVT_V792_THRESHOLD_1_ADD                                        0x1082                          
00124 #define CVT_V792_THRESHOLD_2_ADD                                        0x1084                          
00125 #define CVT_V792_THRESHOLD_3_ADD                                        0x1086                          
00126 #define CVT_V792_THRESHOLD_4_ADD                                        0x1088                          
00127 #define CVT_V792_THRESHOLD_5_ADD                                        0x108A                          
00128 #define CVT_V792_THRESHOLD_6_ADD                                        0x108C                          
00129 #define CVT_V792_THRESHOLD_7_ADD                                        0x108E                          
00130 #define CVT_V792_THRESHOLD_8_ADD                                        0x1090                          
00131 #define CVT_V792_THRESHOLD_9_ADD                                        0x1092                          
00132 #define CVT_V792_THRESHOLD_10_ADD                                       0x1094                          
00133 #define CVT_V792_THRESHOLD_11_ADD                                       0x1096                          
00134 #define CVT_V792_THRESHOLD_12_ADD                                       0x1098                          
00135 #define CVT_V792_THRESHOLD_13_ADD                                       0x109A                          
00136 #define CVT_V792_THRESHOLD_14_ADD                                       0x109C                          
00137 #define CVT_V792_THRESHOLD_15_ADD                                       0x109E                          
00138 #define CVT_V792_THRESHOLD_16_ADD                                       0x10A0                          
00139 #define CVT_V792_THRESHOLD_17_ADD                                       0x10A2                          
00140 #define CVT_V792_THRESHOLD_18_ADD                                       0x10A4                          
00141 #define CVT_V792_THRESHOLD_19_ADD                                       0x10A6                          
00142 #define CVT_V792_THRESHOLD_20_ADD                                       0x10A8                          
00143 #define CVT_V792_THRESHOLD_21_ADD                                       0x10AA                          
00144 #define CVT_V792_THRESHOLD_22_ADD                                       0x10AC                          
00145 #define CVT_V792_THRESHOLD_23_ADD                                       0x10AE                          
00146 #define CVT_V792_THRESHOLD_24_ADD                                       0x10B0                          
00147 #define CVT_V792_THRESHOLD_25_ADD                                       0x10B2                          
00148 #define CVT_V792_THRESHOLD_26_ADD                                       0x10B4                          
00149 #define CVT_V792_THRESHOLD_27_ADD                                       0x10B6                          
00150 #define CVT_V792_THRESHOLD_28_ADD                                       0x10B8                          
00151 #define CVT_V792_THRESHOLD_29_ADD                                       0x10BA                          
00152 #define CVT_V792_THRESHOLD_30_ADD                                       0x10BC                          
00153 #define CVT_V792_THRESHOLD_31_ADD                                       0x10BE                          
00154 #define CVT_V792_ROM_OUI_MSB_ADD                                        0x8026                          
00155 #define CVT_V792_ROM_OUI_ADD                                            0x802A                          
00156 #define CVT_V792_ROM_OUI_LSB_ADD                                        0x802E                          
00157 #define CVT_V792_ROM_VERSION_ADD                                        0x8032                          
00158 #define CVT_V792_ROM_BOARD_ID_MSB_ADD                           0x8036                          
00159 #define CVT_V792_ROM_BOARD_ID_ADD                                       0x803A                          
00160 #define CVT_V792_ROM_BOARD_ID_LSB_ADD                           0x803E                          
00161 #define CVT_V792_ROM_REVISION_ADD                                       0x804E                          
00162 #define CVT_V792_ROM_SERIAL_MSB_ADD                                     0x8F02                          
00163 #define CVT_V792_ROM_SERIAL_LSB_ADD                                     0x8F06                          
00165 #define CVT_V792_THRESHOLD_ADD_STEP_A                           2                                       
00166 #define CVT_V792_THRESHOLD_ADD_STEP_N                           4                                       
00168 
00169 // Registers data size
00170 
00171 #define CVT_V792_OUT_BUFFER_DATA_SIZE                           cvD64                           
00172 #define CVT_V792_FW_REV_DATA_SIZE                                       cvD16                           
00173 #define CVT_V792_GEO_ADDRESS_DATA_SIZE                          cvD16                           
00174 #define CVT_V792_MCST_CBLT_ADDRESS_DATA_SIZE            cvD16                           
00175 #define CVT_V792_BIT_SET_1_DATA_SIZE                            cvD16                           
00176 #define CVT_V792_BIT_CLEAR_1_DATA_SIZE                          cvD16                           
00177 #define CVT_V792_INT_LEVEL_DATA_SIZE                            cvD16                           
00178 #define CVT_V792_INT_VECTOR_DATA_SIZE                           cvD16                           
00179 #define CVT_V792_STATUS_1_DATA_SIZE                                     cvD16                           
00180 #define CVT_V792_CONTROL_1_DATA_SIZE                            cvD16                           
00181 #define CVT_V792_ADER_HIGH_DATA_SIZE                            cvD16                           
00182 #define CVT_V792_ADER_LOW_DATA_SIZE                                     cvD16                           
00183 #define CVT_V792_SINGLE_SHOT_RESET_DATA_SIZE            cvD16                           
00184 #define CVT_V792_MCST_CBLT_CTRL_DATA_SIZE                       cvD16                           
00185 #define CVT_V792_EVENT_TRG_DATA_SIZE                            cvD16                           
00186 #define CVT_V792_STATUS_2_DATA_SIZE                                     cvD16                           
00187 #define CVT_V792_EVENT_COUNTER_LOW_DATA_SIZE            cvD16                           
00188 #define CVT_V792_EVENT_COUNTER_HIGH_DATA_SIZE           cvD16                           
00189 #define CVT_V792_INC_EVENT_DATA_SIZE                            cvD16                           
00190 #define CVT_V792_INC_OFFSET_DATA_SIZE                           cvD16                           
00191 #define CVT_V792_LOAD_TEST_DATA_SIZE                            cvD16                           
00192 #define CVT_V792_FCLR_WND_DATA_SIZE                                     cvD16                           
00193 #define CVT_V792_BIT_SET_2_DATA_SIZE                            cvD16                           
00194 #define CVT_V792_BIT_CLEAR_2_DATA_SIZE                          cvD16                           
00195 #define CVT_V792_W_MEMORY_TEST_ADDRESS_DATA_SIZE        cvD16                           
00196 #define CVT_V792_MEMORY_TEST_WORD_HIGH_DATA_SIZE        cvD16                           
00197 #define CVT_V792_MEMORY_TEST_WORD_LOW_DATA_SIZE         cvD16                           
00198 #define CVT_V792_CRATE_SELECT_DATA_SIZE                         cvD16                           
00199 #define CVT_V792_TEST_EVENT_WRITE_DATA_SIZE                     cvD16                           
00200 #define CVT_V792_EVENT_COUNT_RESET_DATA_SIZE            cvD16                           
00201 #define CVT_V792_IPED_DATA_SIZE                                         cvD16                           
00202 #define CVT_V792_R_TEST_ADDRESS_DATA_SIZE                       cvD16                           
00203 #define CVT_V792_SW_COMM_DATA_SIZE                                      cvD16                           
00204 #define CVT_V792_SLIDE_CONSTANT_DATA_SIZE                       cvD16                           
00205 #define CVT_V792_AAD_DATA_SIZE                                          cvD16                           
00206 #define CVT_V792_BAD_DATA_SIZE                                          cvD16                           
00207 #define CVT_V792_THRESHOLD_DATA_SIZE                            cvD16                           
00208 #define CVT_V792_ROM_OUI_MSB_DATA_SIZE                          cvD16                           
00209 #define CVT_V792_ROM_OUI_DATA_SIZE                                      cvD16                           
00210 #define CVT_V792_ROM_OUI_LSB_DATA_SIZE                          cvD16                           
00211 #define CVT_V792_ROM_VERSION_DATA_SIZE                          cvD16                           
00212 #define CVT_V792_ROM_BOARD_ID_MSB_DATA_SIZE                     cvD16                           
00213 #define CVT_V792_ROM_BOARD_ID_DATA_SIZE                         cvD16                           
00214 #define CVT_V792_ROM_BOARD_ID_LSB_DATA_SIZE                     cvD16                           
00215 #define CVT_V792_ROM_REVISION_DATA_SIZE                         cvD16                           
00216 #define CVT_V792_ROM_SERIAL_MSB_DATA_SIZE                       cvD16                           
00217 #define CVT_V792_ROM_SERIAL_LSB_DATA_SIZE                       cvD16                           
00219 
00220 // Registers address modifiers
00221 
00222 #define CVT_V792_OUT_BUFFER_AM                                          cvA32_S_MBLT    
00223 #define CVT_V792_FW_REV_AM                                                      cvA32_S_DATA    
00224 #define CVT_V792_GEO_ADDRESS_AM                                         cvA32_S_DATA    
00225 #define CVT_V792_MCST_CBLT_ADDRESS_AM                           cvA32_S_DATA    
00226 #define CVT_V792_BIT_SET_1_AM                                           cvA32_S_DATA    
00227 #define CVT_V792_BIT_CLEAR_1_AM                                         cvA32_S_DATA    
00228 #define CVT_V792_INT_LEVEL_AM                                           cvA32_S_DATA    
00229 #define CVT_V792_INT_VECTOR_AM                                          cvA32_S_DATA    
00230 #define CVT_V792_STATUS_1_AM                                            cvA32_S_DATA    
00231 #define CVT_V792_CONTROL_1_AM                                           cvA32_S_DATA    
00232 #define CVT_V792_ADER_HIGH_AM                                           cvA32_S_DATA    
00233 #define CVT_V792_ADER_LOW_AM                                            cvA32_S_DATA    
00234 #define CVT_V792_SINGLE_SHOT_RESET_AM                           cvA32_S_DATA    
00235 #define CVT_V792_MCST_CBLT_CTRL_AM                                      cvA32_S_DATA    
00236 #define CVT_V792_EVENT_TRG_AM                                           cvA32_S_DATA    
00237 #define CVT_V792_STATUS_2_AM                                            cvA32_S_DATA    
00238 #define CVT_V792_EVENT_COUNTER_LOW_AM                           cvA32_S_DATA    
00239 #define CVT_V792_EVENT_COUNTER_HIGH_AM                          cvA32_S_DATA    
00240 #define CVT_V792_INC_EVENT_AM                                           cvA32_S_DATA    
00241 #define CVT_V792_INC_OFFSET_AM                                          cvA32_S_DATA    
00242 #define CVT_V792_LOAD_TEST_AM                                           cvA32_S_DATA    
00243 #define CVT_V792_FCLR_WND_AM                                            cvA32_S_DATA    
00244 #define CVT_V792_BIT_SET_2_AM                                           cvA32_S_DATA    
00245 #define CVT_V792_BIT_CLEAR_2_AM                                         cvA32_S_DATA    
00246 #define CVT_V792_W_MEMORY_TEST_ADDRESS_AM                       cvA32_S_DATA    
00247 #define CVT_V792_MEMORY_TEST_WORD_HIGH_AM                       cvA32_S_DATA    
00248 #define CVT_V792_MEMORY_TEST_WORD_LOW_AM                        cvA32_S_DATA    
00249 #define CVT_V792_CRATE_SELECT_AM                                        cvA32_S_DATA    
00250 #define CVT_V792_TEST_EVENT_WRITE_AM                            cvA32_S_DATA    
00251 #define CVT_V792_EVENT_COUNT_RESET_AM                           cvA32_S_DATA    
00252 #define CVT_V792_IPED_AM                                                        cvA32_S_DATA    
00253 #define CVT_V792_R_TEST_ADDRESS_AM                                      cvA32_S_DATA    
00254 #define CVT_V792_SW_COMM_AM                                                     cvA32_S_DATA    
00255 #define CVT_V792_SLIDE_CONSTANT_AM                                      cvA32_S_DATA    
00256 #define CVT_V792_AAD_AM                                                         cvA32_S_DATA    
00257 #define CVT_V792_BAD_AM                                                         cvA32_S_DATA    
00258 #define CVT_V792_THRESHOLD_AM                                           cvA32_S_DATA    
00259 #define CVT_V792_ROM_OUI_MSB_AM                                         cvA32_S_DATA    
00260 #define CVT_V792_ROM_OUI_AM                                                     cvA32_S_DATA    
00261 #define CVT_V792_ROM_OUI_LSB_AM                                         cvA32_S_DATA    
00262 #define CVT_V792_ROM_VERSION_AM                                         cvA32_S_DATA    
00263 #define CVT_V792_ROM_BOARD_ID_MSB_AM                            cvA32_S_DATA    
00264 #define CVT_V792_ROM_BOARD_ID_AM                                        cvA32_S_DATA    
00265 #define CVT_V792_ROM_BOARD_ID_LSB_AM                            cvA32_S_DATA    
00266 #define CVT_V792_ROM_REVISION_AM                                        cvA32_S_DATA    
00267 #define CVT_V792_ROM_SERIAL_MSB_AM                                      cvA32_S_DATA    
00268 #define CVT_V792_ROM_SERIAL_LSB_AM                                      cvA32_S_DATA    
00270 
00271 // Registers indexes
00272 
00273 
00275 
00280 
00281 typedef enum
00282 {
00283         CVT_V792_OUT_BUFFER_INDEX,                                      
00284         CVT_V792_FW_REV_INDEX,                                          
00285         CVT_V792_GEO_ADDRESS_INDEX,                                     
00286         CVT_V792_MCST_CBLT_ADDRESS_INDEX,                       
00287         CVT_V792_BIT_SET_1_INDEX,                                       
00288         CVT_V792_BIT_CLEAR_1_INDEX,                                     
00289         CVT_V792_INT_LEVEL_INDEX,                                       
00290         CVT_V792_INT_VECTOR_INDEX,                                      
00291         CVT_V792_STATUS_1_INDEX,                                        
00292         CVT_V792_CONTROL_1_INDEX,                                       
00293         CVT_V792_ADER_HIGH_INDEX,                                       
00294         CVT_V792_ADER_LOW_INDEX,                                        
00295         CVT_V792_SINGLE_SHOT_RESET_INDEX,                       
00296         CVT_V792_MCST_CBLT_CTRL_INDEX,                          
00297         CVT_V792_EVENT_TRG_INDEX,                                       
00298         CVT_V792_STATUS_2_INDEX,                                        
00299         CVT_V792_EVENT_COUNTER_LOW_INDEX,                       
00300         CVT_V792_EVENT_COUNTER_HIGH_INDEX,                      
00301         CVT_V792_INC_EVENT_INDEX,                                       
00302         CVT_V792_INC_OFFSET_INDEX,                                      
00303         CVT_V792_LOAD_TEST_INDEX,                                       
00304         CVT_V792_FCLR_WND_INDEX,                                        
00305         CVT_V792_BIT_SET_2_INDEX,                                       
00306         CVT_V792_BIT_CLEAR_2_INDEX,                                     
00307         CVT_V792_W_MEMORY_TEST_ADDRESS_INDEX,           
00308         CVT_V792_MEMORY_TEST_WORD_HIGH_INDEX,           
00309         CVT_V792_MEMORY_TEST_WORD_LOW_INDEX,            
00310         CVT_V792_CRATE_SELECT_INDEX,                            
00311         CVT_V792_TEST_EVENT_WRITE_INDEX,                        
00312         CVT_V792_EVENT_COUNT_RESET_INDEX,                       
00313         CVT_V792_IPED_INDEX,                                            
00314         CVT_V792_R_TEST_ADDRESS_INDEX,                          
00315         CVT_V792_SW_COMM_INDEX,                                         
00316         CVT_V792_SLIDE_CONSTANT_INDEX,                          
00317         CVT_V792_AAD_INDEX,                                                     
00318         CVT_V792_BAD_INDEX,                                                     
00319         CVT_V792_THRESHOLD_0_INDEX,                                     
00320         CVT_V792_THRESHOLD_1_INDEX,                                     
00321         CVT_V792_THRESHOLD_2_INDEX,                                     
00322         CVT_V792_THRESHOLD_3_INDEX,                                     
00323         CVT_V792_THRESHOLD_4_INDEX,                                     
00324         CVT_V792_THRESHOLD_5_INDEX,                                     
00325         CVT_V792_THRESHOLD_6_INDEX,                                     
00326         CVT_V792_THRESHOLD_7_INDEX,                                     
00327         CVT_V792_THRESHOLD_8_INDEX,                                     
00328         CVT_V792_THRESHOLD_9_INDEX,                                     
00329         CVT_V792_THRESHOLD_10_INDEX,                            
00330         CVT_V792_THRESHOLD_11_INDEX,                            
00331         CVT_V792_THRESHOLD_12_INDEX,                            
00332         CVT_V792_THRESHOLD_13_INDEX,                            
00333         CVT_V792_THRESHOLD_14_INDEX,                            
00334         CVT_V792_THRESHOLD_15_INDEX,                            
00335         CVT_V792_THRESHOLD_16_INDEX,                            
00336         CVT_V792_THRESHOLD_17_INDEX,                            
00337         CVT_V792_THRESHOLD_18_INDEX,                            
00338         CVT_V792_THRESHOLD_19_INDEX,                            
00339         CVT_V792_THRESHOLD_20_INDEX,                            
00340         CVT_V792_THRESHOLD_21_INDEX,                            
00341         CVT_V792_THRESHOLD_22_INDEX,                            
00342         CVT_V792_THRESHOLD_23_INDEX,                            
00343         CVT_V792_THRESHOLD_24_INDEX,                            
00344         CVT_V792_THRESHOLD_25_INDEX,                            
00345         CVT_V792_THRESHOLD_26_INDEX,                            
00346         CVT_V792_THRESHOLD_27_INDEX,                            
00347         CVT_V792_THRESHOLD_28_INDEX,                            
00348         CVT_V792_THRESHOLD_29_INDEX,                            
00349         CVT_V792_THRESHOLD_30_INDEX,                            
00350         CVT_V792_THRESHOLD_31_INDEX,                            
00351         CVT_V792_ROM_OUI_MSB_INDEX,                                     
00352         CVT_V792_ROM_OUI_INDEX,                                         
00353         CVT_V792_ROM_OUI_LSB_INDEX,                                     
00354         CVT_V792_ROM_VERSION_INDEX,                                     
00355         CVT_V792_ROM_BOARD_ID_MSB_INDEX,                        
00356         CVT_V792_ROM_BOARD_ID_INDEX,                            
00357         CVT_V792_ROM_BOARD_ID_LSB_INDEX,                        
00358         CVT_V792_ROM_REVISION_INDEX,                            
00359         CVT_V792_ROM_SERIAL_MSB_INDEX,                          
00360         CVT_V792_ROM_SERIAL_LSB_INDEX,                          
00361 } CVT_V792_REG_INDEX;
00362 
00364 
00367 
00368 typedef enum 
00369 {
00370         CVT_V792_THRESHOLD_ALL= -1,                                             
00371         CVT_V792_THRESHOLD_0= 0,                                                
00372         CVT_V792_THRESHOLD_1,                                                   
00373         CVT_V792_THRESHOLD_2,                                                   
00374         CVT_V792_THRESHOLD_3,                                                   
00375         CVT_V792_THRESHOLD_4,                                                   
00376         CVT_V792_THRESHOLD_5,                                                   
00377         CVT_V792_THRESHOLD_6,                                                   
00378         CVT_V792_THRESHOLD_7,                                                   
00379         CVT_V792_THRESHOLD_8,                                                   
00380         CVT_V792_THRESHOLD_9,                                                   
00381         CVT_V792_THRESHOLD_10,                                                  
00382         CVT_V792_THRESHOLD_11,                                                  
00383         CVT_V792_THRESHOLD_12,                                                  
00384         CVT_V792_THRESHOLD_13,                                                  
00385         CVT_V792_THRESHOLD_14,                                                  
00386         CVT_V792_THRESHOLD_15,                                                  
00387         CVT_V792_THRESHOLD_16,                                                  
00388         CVT_V792_THRESHOLD_17,                                                  
00389         CVT_V792_THRESHOLD_18,                                                  
00390         CVT_V792_THRESHOLD_19,                                                  
00391         CVT_V792_THRESHOLD_20,                                                  
00392         CVT_V792_THRESHOLD_21,                                                  
00393         CVT_V792_THRESHOLD_22,                                                  
00394         CVT_V792_THRESHOLD_23,                                                  
00395         CVT_V792_THRESHOLD_24,                                                  
00396         CVT_V792_THRESHOLD_25,                                                  
00397         CVT_V792_THRESHOLD_26,                                                  
00398         CVT_V792_THRESHOLD_27,                                                  
00399         CVT_V792_THRESHOLD_28,                                                  
00400         CVT_V792_THRESHOLD_29,                                                  
00401         CVT_V792_THRESHOLD_30,                                                  
00402         CVT_V792_THRESHOLD_31,                                                  
00403         // TODO: add other command id here
00404 } cvt_V792_threshold_id;
00405                                                                                                 
00406 #define CVT_V792_MAX_THRESHOLD_A                32                      
00407 #define CVT_V792_MAX_THRESHOLD_N                16                      
00409 
00410 
00413 
00414 typedef enum
00415 {
00416         CVT_V792_THRESHOLD_VALUE_MSK    = 0x00FF,               
00417         CVT_V792_THRESHOLD_KILL_MSK     = 0x0100,               
00418 } CVT_V792_THRESHOLD_MSK;
00419 
00421 
00425 
00426 typedef enum
00427 {
00428         CVT_V792_BSC1_BERR_FLAG_MSK             = 0x0008,               
00429         CVT_V792_BSC1_SEL_ADDR_MSK              = 0x0010,               
00430         CVT_V792_BSC1_SOFT_RESET_MSK    = 0x0080,               
00431 } CVT_V792_BIT_SET_CLEAR_1_MSK;
00432 
00434 
00438 
00439 typedef enum
00440 {
00441         CVT_V792_STS1_DREADY_MSK                = 0x0001,               
00442         CVT_V792_STS1_GLOBAL_DREADY_MSK = 0x0002,               
00443         CVT_V792_STS1_BUSY_MSK                  = 0x0004,               
00444         CVT_V792_STS1_GLOBAL_BUSY_MSK   = 0x0008,               
00445         CVT_V792_STS1_AMNESIA_MSK               = 0x0010,               
00446         CVT_V792_STS1_PURGED_MSK                = 0x0020,               
00447         CVT_V792_STS1_TERM_ON_MSK               = 0x0040,               
00448         CVT_V792_STS1_TERM_OFF_MSK              = 0x0080,               
00449         CVT_V792_STS1_EVREADY_MSK               = 0x0100,               
00453 } CVT_V792_STATUS_1_MSK;
00454 
00456 
00460 
00461 typedef enum
00462 {
00463         CVT_V792_CTRL1_BLKEND_MSK               = 0x0004,               
00464         CVT_V792_CTRL1_PROG_RESET_MSK   = 0x0010,               
00465         CVT_V792_CTRL1_BERR_ENABLE_MSK  = 0x0020,               
00466         CVT_V792_CTRL1_ALIGN64_MSK              = 0x0040,               
00467 } CVT_V792_CONTROL_1_MSK;
00468 
00470 
00474 
00475 typedef enum
00476 {
00477         CVT_V792_MCCTRL_DISABLED_BOARD_MSK      = 0x0000,               
00478         CVT_V792_MCCTRL_LAST_BOARD_MSK          = 0x0001,               
00479         CVT_V792_MCCTRL_FIRST_BOARD_MSK         = 0x0002,               
00480         CVT_V792_MCCTRL_MID_BOARD_MSK           = 0x0003,               
00481 } CVT_V792_MCST_CBLT_CTRL_MSK;
00482 
00484 
00488 
00489 typedef enum
00490 {
00491         CVT_V792_STS2_BUFFER_EMPTY_MSK          = 0x0002,               
00492         CVT_V792_STS2_BUFFER_FULL_MSK           = 0x0004,               
00493         CVT_V792_STS2_DSEL_0_MSK                        = 0x0010,               
00494         CVT_V792_STS2_DSEL_1_MSK                        = 0x0020,               
00495         CVT_V792_STS2_CSEL_0_MSK                        = 0x0040,               
00496         CVT_V792_STS2_CSEL_1_MSK                        = 0x0080,               
00497 } CVT_V792_STATUS_2_MSK;
00498 
00499 #define CVT_V792_STS2_PIGGY_BACK_TYPE_MSK               0x00F0                                                                                                                                                                                                                          
00500 #define CVT_V792_GET_PIGGY_BACK_TYPE( reg)              ((((UINT16)reg)& CVT_V792_STS2_PIGGY_BACK_TYPE_MSK)>> 4)                                                                                                                        
00501 #define CVT_V792_SET_PIGGY_BACK_TYPE( reg)              reg= (((UINT16)reg)& ~CVT_V792_STS2_PIGGY_BACK_TYPE_MSK)| ((((UINT16)value)<< 4)&CVT_V792_STS2_PIGGY_BACK_TYPE_MSK) 
00503 
00504 
00507 
00508 typedef enum
00509 {
00510         CVT_V792_BSC2_TEST_MEM_MSK      = 0x0001,               
00511         CVT_V792_BSC2_OFFLINE_MSK       = 0x0002,               
00512         CVT_V792_BSC2_CLEAR_DATA_MSK    = 0x0004,               
00513         CVT_V792_BSC2_OVER_RANGE_DIS_MSK= 0x0008,               
00514         CVT_V792_BSC2_LOW_THR_DIS_MSK   = 0x0010,               
00515         CVT_V792_BSC2_TEST_ACQ_MSK      = 0x0040,               
00516         CVT_V792_BSC2_SLIDE_EN_MSK      = 0x0080,               
00517         CVT_V792_BSC2_STEP_TH_MSK       = 0x0100,               
00518         CVT_V792_BSC2_AUTO_INC_MSK      = 0x0800,               
00519         CVT_V792_BSC2_EMPTY_EN_MSK      = 0x1000,               
00520         CVT_V792_BSC2_SLIDE_SUB_EN_MSK  = 0x2000,               
00521         CVT_V792_BSC2_ALL_TRG_MSK       = 0x4000,               
00522 } CVT_V792_BIT_SET_CLEAR_2_MSK;
00523 
00525 // Global variables declaration
00527 
00529 // Global methods declaration
00531 
00533 //
00534 //     B O A R D S   H A N D L I N G
00535 //
00537 
00539 
00551 
00552 BOOL cvt_V792_open( cvt_V792_data* p_data, UINT16 base_address, long vme_handle, CVT_V792_TYPES type);
00553 
00555 
00563 
00564 BOOL cvt_V792_close( cvt_V792_data* p_data);
00565 
00567 //
00568 //     L E V E L   0   A P I s
00569 //
00571 
00572 
00574 //
00575 //     L E V E L   1   A P I s
00576 //
00578 
00580 
00588 
00589 BOOL cvt_V792_set_geo_address( cvt_V792_data* p_data, UINT8 value);
00590 
00592 
00600 
00601 BOOL cvt_V792_get_geo_address( cvt_V792_data* p_data, UINT8 *p_value);
00602 
00604 
00613 
00614 BOOL cvt_V792_set_MCST_CBLT_address( cvt_V792_data* p_data, UINT8 value);
00615 
00617 
00626 
00627 BOOL cvt_V792_get_MCST_CBLT_address( cvt_V792_data* p_data, UINT8 *p_value);
00628 
00630 
00638 
00639 BOOL cvt_V792_set_bit_set_1( cvt_V792_data* p_data, UINT16 value);
00640 
00642 
00650 
00651 BOOL cvt_V792_set_bit_clear_1( cvt_V792_data* p_data, UINT16 value);
00652 
00654 
00662 
00663 BOOL cvt_V792_set_interrupt_level( cvt_V792_data* p_data, UINT8 value);
00664 
00666 
00674 
00675 BOOL cvt_V792_get_interrupt_level( cvt_V792_data* p_data, UINT8 *p_value);
00676 
00678 
00686 
00687 BOOL cvt_V792_set_interrupt_vector( cvt_V792_data* p_data, UINT8 value);
00688 
00690 
00698 
00699 BOOL cvt_V792_get_interrupt_vector( cvt_V792_data* p_data, UINT8 *p_value);
00700 
00702 
00710 
00711 BOOL cvt_V792_get_status_1( cvt_V792_data* p_data, UINT16 *p_value);
00712         
00714 
00723 
00724 BOOL cvt_V792_set_control_1( cvt_V792_data* p_data, UINT16 value);
00725 
00727 
00735 
00736 BOOL cvt_V792_get_control_1( cvt_V792_data* p_data, UINT16 *p_value);
00737 
00739 
00748 
00749 BOOL cvt_V792_clear_bitmask_control_1( cvt_V792_data* p_data, CVT_V792_CONTROL_1_MSK value);
00750 
00752 
00761 
00762 BOOL cvt_V792_set_bitmask_control_1( cvt_V792_data* p_data, CVT_V792_CONTROL_1_MSK value);
00763 
00765 
00774 
00775 BOOL cvt_V792_clear_bitmask_control_1( cvt_V792_data* p_data, CVT_V792_CONTROL_1_MSK value);
00776 
00778 
00786 
00787 BOOL cvt_V792_set_ader_high( cvt_V792_data* p_data, UINT8 value);
00788 
00790 
00798 
00799 BOOL cvt_V792_get_ader_high( cvt_V792_data* p_data, UINT8 *p_value);
00800 
00802 
00810 
00811 BOOL cvt_V792_set_ader_high( cvt_V792_data* p_data, UINT8 value);
00812 
00814 
00822 
00823 BOOL cvt_V792_get_ader_low( cvt_V792_data* p_data, UINT8 *p_value);
00824 
00826 
00836 
00837 BOOL cvt_V792_single_shot_reset( cvt_V792_data* p_data);
00838 
00840 
00848 
00849 BOOL cvt_V792_set_MCST_CBLT_control( cvt_V792_data* p_data, UINT8 value);
00850 
00852 
00860 
00861 BOOL cvt_V792_get_MCST_CBLT_control( cvt_V792_data* p_data, UINT8 *p_value);
00862 
00864 
00872 
00873 BOOL cvt_V792_set_event_trigger( cvt_V792_data* p_data, UINT8 value);
00874 
00876 
00884 
00885 BOOL cvt_V792_get_event_trigger( cvt_V792_data* p_data, UINT8 *p_value);
00886 
00888 
00896 
00897 BOOL cvt_V792_get_status_2( cvt_V792_data* p_data, UINT16 *p_value);
00898         
00900 
00911 
00912 BOOL cvt_V792_set_threshold( cvt_V792_data* p_data, cvt_V792_threshold_id threshold_id, UINT16 value);
00913 
00915 
00923 
00924 BOOL cvt_V792_set_bit_set_2( cvt_V792_data* p_data, UINT16 value);
00925 
00927 
00935 
00936 BOOL cvt_V792_set_bit_clear_2( cvt_V792_data* p_data, UINT16 value);
00937         
00939 //
00940 //     L E V E L   2   A P I s
00941 //
00943 
00945 
00954 
00955 BOOL cvt_V792_set_sliding_scale( cvt_V792_data* p_data, BOOL enable, UINT8 sliding_constant);
00956 
00958 
00969 
00970 BOOL cvt_V792_set_zero_suppression( cvt_V792_data* p_data, BOOL enable, BOOL step_threshold, const UINT16* thresholds_buff);
00971 
00973 
00981 
00982 BOOL cvt_V792_set_overflow_suppression( cvt_V792_data* p_data, BOOL enable);
00983 
00985 
00994 
00995 BOOL cvt_V792_set_MEB( cvt_V792_data* p_data, BOOL empty_enable, BOOL auto_incr_enable);
00996 
00998 
01007 
01008 BOOL cvt_V792_set_event_counter( cvt_V792_data* p_data, BOOL count_all_events, BOOL reset_count);
01009 
01011 
01022 
01023 BOOL cvt_V792_read_MEB( cvt_V792_data* p_data, void* p_buff, UINT32* p_buff_size);
01024 
01026 
01034 
01035 BOOL cvt_V792_set_fast_clear_window( cvt_V792_data* p_data, UINT16 value);
01036 
01038 
01050 
01051 BOOL cvt_V792_set_acquisition_mode( cvt_V792_data* p_data, BOOL sliding_scale_enable, BOOL zero_suppression_enable, BOOL overflow_suppression_enable, BOOL empty_enable, BOOL count_all_events);
01052 
01054 
01064 
01065 BOOL cvt_V792_set_interrupt( cvt_V792_data* p_data, UINT8 level, UINT8 vector, UINT8 event_number);
01066 
01068 
01079 
01080 BOOL cvt_V792_set_readout_mode( cvt_V792_data* p_data, BOOL bus_error_enable, BOOL block_end_enable, BOOL align64_enable);
01081 
01083 
01093 
01094 BOOL cvt_V792_get_status( cvt_V792_data* p_data, BOOL *p_is_data_ready, BOOL *p_is_busy, BOOL *p_is_term_on, BOOL *p_is_buffer_full);
01095 
01097 
01107 
01108 BOOL cvt_V792_set_thresholds( cvt_V792_data* p_data, BOOL step_threshold, const UINT8* thresholds_value_buff);
01109 
01111 
01120 
01121 BOOL cvt_V792_set_channel_enable( cvt_V792_data* p_data, UINT32 enable_msk);
01122 
01124 
01131 
01132 BOOL cvt_V792_set_crate_number( cvt_V792_data* p_data, UINT8 crate_number);
01133         
01135 
01143 
01144 BOOL cvt_V792_set_pedestal( cvt_V792_data* p_data, UINT8 value);
01145 
01147 
01155 
01156 BOOL cvt_V792_get_event_counter( cvt_V792_data* p_data, UINT32* p_counter);
01157 
01159 
01169 
01170 BOOL cvt_V792_get_system_info( cvt_V792_data* p_data, UINT16 *p_firmware_rev, UINT8 *p_piggy_back_type, UINT16 *p_serial_number);
01171 
01173 
01180 
01181 BOOL cvt_V792_software_reset( cvt_V792_data* p_data);
01182 
01184 
01192 
01193 BOOL cvt_V792_data_clear( cvt_V792_data* p_data);
01194 
01195 #ifdef CVT_V792_USE_DATA_QUEUE
01196 
01198 
01213 
01214 BOOL cvt_V792_peek_event( cvt_V792_data *p_data, UINT32 *out_buff, long *p_out_buff_size, UINT32 *p_event_count);
01215 
01217 
01227 
01228 BOOL cvt_V792_inqueue( cvt_V792_data* p_data, const UINT32* in_buff, UINT32 in_buff_size);
01229 
01231 
01241 
01242 BOOL cvt_V792_dequeue( cvt_V792_data* p_data, UINT32 *out_buff, UINT32 out_buff_size);
01243 
01245 
01251 
01252 long cvt_V792_get_queue_free( cvt_V792_data* p_data);
01253 
01255 
01261 
01262 long cvt_V792_get_queue_length( cvt_V792_data* p_data);
01263 
01264 #endif  // CVT_V792_USE_DATA_QUEUE
01265 
01267 
01277 
01278 BOOL cvt_V792_set_MCST_CBLT( cvt_V792_data* p_data, UINT8 address, MCST_CBLT_board_pos pos);
01279 
01280 #endif  // __CVT_V792_DEF_H

Generated on Wed Oct 18 12:36:55 2006 for CAEVMEToolLib by  doxygen 1.4.6-NO