cvt_V812.h

Go to the documentation of this file.
00001 
00002 
00010 
00011 #ifndef __CVT_V812_DEF_H
00012 #define __CVT_V812_DEF_H
00013 
00015 // File includes
00017 #include "cvt_common_defs.h"
00018 #include "cvt_board_commons.h"
00020 // Global defines
00022 
00024 
00030 
00031 typedef struct
00032 {
00033         cvt_board_data  m_common_data;                          
00034         //
00035         // Board specific data
00036 
00037 } cvt_V812_data;
00038 
00040 // Registers address
00042 #define CVT_V812_THRESHOLD_0_ADD                                0x0000                  
00043 #define CVT_V812_THRESHOLD_1_ADD                                0x0002                  
00044 #define CVT_V812_THRESHOLD_2_ADD                                0x0004                  
00045 #define CVT_V812_THRESHOLD_3_ADD                                0x0006                  
00046 #define CVT_V812_THRESHOLD_4_ADD                                0x0008                  
00047 #define CVT_V812_THRESHOLD_5_ADD                                0x000A                  
00048 #define CVT_V812_THRESHOLD_6_ADD                                0x000C                  
00049 #define CVT_V812_THRESHOLD_7_ADD                                0x000E                  
00050 #define CVT_V812_THRESHOLD_8_ADD                                0x0010                  
00051 #define CVT_V812_THRESHOLD_9_ADD                                0x0012                  
00052 #define CVT_V812_THRESHOLD_10_ADD                               0x0014                  
00053 #define CVT_V812_THRESHOLD_11_ADD                               0x0016                  
00054 #define CVT_V812_THRESHOLD_12_ADD                               0x0018                  
00055 #define CVT_V812_THRESHOLD_13_ADD                               0x001A                  
00056 #define CVT_V812_THRESHOLD_14_ADD                               0x001C                  
00057 #define CVT_V812_THRESHOLD_15_ADD                               0x001E                  
00058 #define CVT_V812_OUT_WIDTH_0_7_ADD                              0x0040                  
00059 #define CVT_V812_OUT_WIDTH_8_15_ADD                             0x0042                  
00060 #define CVT_V812_DEAD_TIME_0_7_ADD                              0x0044                  
00061 #define CVT_V812_DEAD_TIME_8_15_ADD                             0x0046                  
00062 #define CVT_V812_MAJORITY_ADD                                   0x0048                  
00063 #define CVT_V812_PATTERN_INHIBIT_ADD                    0x004A                  
00064 #define CVT_V812_TEST_PULSE_ADD                                 0x004C                  
00065 #define CVT_V812_FIXED_CODE_ADD                                 0x00FA                  
00066 #define CVT_V812_MANUFACTURER_ADD                               0x00FC                  
00067 #define CVT_V812_VERSION_ADD                                    0x00FD                  
00069 #define CVT_V812_THRESHOLD_ADD_STEP                             2                               
00071 
00072 // Registers data size
00073 
00074 #define CVT_V812_THRESHOLD_DATA_SIZE                    cvD16                   
00075 #define CVT_V812_OUT_WIDTH_0_7_DATA_SIZE                cvD16                   
00076 #define CVT_V812_OUT_WIDTH_8_15_DATA_SIZE               cvD16                   
00077 #define CVT_V812_DEAD_TIME_0_7_DATA_SIZE                cvD16                   
00078 #define CVT_V812_DEAD_TIME_8_15_DATA_SIZE               cvD16                   
00079 #define CVT_V812_MAJORITY_DATA_SIZE                             cvD16                   
00080 #define CVT_V812_PATTERN_INHIBIT_DATA_SIZE              cvD16                   
00081 #define CVT_V812_TEST_PULSE_DATA_SIZE                   cvD16                   
00082 #define CVT_V812_FIXED_CODE_DATA_SIZE                   cvD16                   
00083 #define CVT_V812_MANUFACTURER_DATA_SIZE                 cvD16                   
00084 #define CVT_V812_VERSION_DATA_SIZE                              cvD16                   
00086 
00087 // Registers address modifiers
00088 
00089 #define CVT_V812_THRESHOLD_AM                                   cvA32_S_DATA    
00090 #define CVT_V812_OUT_WIDTH_0_7_AM                               cvA32_S_DATA    
00091 #define CVT_V812_OUT_WIDTH_8_15_AM                              cvA32_S_DATA    
00092 #define CVT_V812_DEAD_TIME_0_7_AM                               cvA32_S_DATA    
00093 #define CVT_V812_DEAD_TIME_8_15_AM                              cvA32_S_DATA    
00094 #define CVT_V812_MAJORITY_AM                                    cvA32_S_DATA    
00095 #define CVT_V812_PATTERN_INHIBIT_AM                             cvA32_S_DATA    
00096 #define CVT_V812_TEST_PULSE_AM                                  cvA32_S_DATA    
00097 #define CVT_V812_FIXED_CODE_AM                                  cvA32_S_DATA    
00098 #define CVT_V812_MANUFACTURER_AM                                cvA32_S_DATA    
00099 #define CVT_V812_VERSION_AM                                             cvA32_S_DATA    
00101 
00102 
00107 
00108 typedef enum
00109 {
00110         CVT_V812_THRESHOLD_0_INDEX,                             
00111         CVT_V812_THRESHOLD_1_INDEX,                             
00112         CVT_V812_THRESHOLD_2_INDEX,                             
00113         CVT_V812_THRESHOLD_3_INDEX,                             
00114         CVT_V812_THRESHOLD_4_INDEX,                             
00115         CVT_V812_THRESHOLD_5_INDEX,                             
00116         CVT_V812_THRESHOLD_6_INDEX,                             
00117         CVT_V812_THRESHOLD_7_INDEX,                             
00118         CVT_V812_THRESHOLD_8_INDEX,                             
00119         CVT_V812_THRESHOLD_9_INDEX,                             
00120         CVT_V812_THRESHOLD_10_INDEX,                    
00121         CVT_V812_THRESHOLD_11_INDEX,                    
00122         CVT_V812_THRESHOLD_12_INDEX,                    
00123         CVT_V812_THRESHOLD_13_INDEX,                    
00124         CVT_V812_THRESHOLD_14_INDEX,                    
00125         CVT_V812_THRESHOLD_15_INDEX,                    
00126         CVT_V812_OUT_WIDTH_0_7_INDEX,                   
00127         CVT_V812_OUT_WIDTH_8_15_INDEX,                  
00128         CVT_V812_DEAD_TIME_0_7_INDEX,                   
00129         CVT_V812_DEAD_TIME_8_15_INDEX,                  
00130         CVT_V812_MAJORITY_INDEX,                                
00131         CVT_V812_PATTERN_INHIBIT_INDEX,                 
00132         CVT_V812_TEST_PULSE_INDEX,                              
00133         CVT_V812_FIXED_CODE_INDEX,                              
00134         CVT_V812_MANUFACTURER_INDEX,                    
00135         CVT_V812_VERSION_INDEX,                                 
00136 } CVT_V812_REG_INDEX;
00137 
00138 
00139 #define CVT_V812_FIXED_CODE_VALUE                               0xFAF5                  
00140 #define CVT_V812_MANUFACTURER_NUMBER_VALUE              0x02                    
00141 #define CVT_V812_MODULE_TYPE_VALUE                              0x0051                  
00143 
00144 
00147 
00148 typedef enum 
00149 {
00150         CVT_V812_THRESHOLD_ALL= -1,                                             
00151         CVT_V812_THRESHOLD_0= 0,                                                
00152         CVT_V812_THRESHOLD_1,                                                   
00153         CVT_V812_THRESHOLD_2,                                                   
00154         CVT_V812_THRESHOLD_3,                                                   
00155         CVT_V812_THRESHOLD_4,                                                   
00156         CVT_V812_THRESHOLD_5,                                                   
00157         CVT_V812_THRESHOLD_6,                                                   
00158         CVT_V812_THRESHOLD_7,                                                   
00159         CVT_V812_THRESHOLD_8,                                                   
00160         CVT_V812_THRESHOLD_9,                                                   
00161         CVT_V812_THRESHOLD_10,                                                  
00162         CVT_V812_THRESHOLD_11,                                                  
00163         CVT_V812_THRESHOLD_12,                                                  
00164         CVT_V812_THRESHOLD_13,                                                  
00165         CVT_V812_THRESHOLD_14,                                                  
00166         CVT_V812_THRESHOLD_15,                                                  
00167         CVT_V812_MAX_THRESHOLD                                                  
00168 } cvt_V812_threshold_id ;
00169 
00170 #define CVT_V812_THRESHOLD_ADD_STEP                                     2                                       
00172 
00173 // Global variables declaration
00174 
00175 
00177 // Global methods declaration
00179 
00181 //
00182 //     B O A R D S   H A N D L I N G
00183 //
00185 
00186 
00188 
00198 
00199 BOOL cvt_V812_open( cvt_V812_data* p_data, UINT16 base_address, long vme_handle);
00200 
00202 
00210 
00211 BOOL cvt_V812_close( cvt_V812_data* p_data);
00212 
00214 //
00215 //     L E V E L   0   A P I s
00216 //
00218 
00219 
00221 //
00222 //     L E V E L   1   A P I s
00223 //
00225 
00227 
00238 
00239 BOOL cvt_V812_set_threshold( cvt_V812_data* p_data, cvt_V812_threshold_id threshold_id, UINT16 value);
00240 
00242 
00250 
00251 BOOL cvt_V812_set_output_width( cvt_V812_data* p_data, UINT8 value);
00252 
00254 
00262 
00263 BOOL cvt_V812_set_dead_time( cvt_V812_data* p_data, UINT8 value);
00264 
00266 
00274 
00275 BOOL cvt_V812_set_majority_threshold( cvt_V812_data* p_data, UINT8 value);
00276         
00278 
00286 
00287 BOOL cvt_V812_set_pattern_inhibit( cvt_V812_data* p_data, UINT16 value);
00288 
00290 
00297 
00298 BOOL cvt_V812_set_test_pulse( cvt_V812_data* p_data);
00299         
00301 
00310 
00311 BOOL cvt_V812_get_fixed_code( cvt_V812_data* p_data, UINT16 *p_value);
00312 
00314 
00323 
00324 BOOL cvt_V812_get_manufacturer_number( cvt_V812_data* p_data, UINT8 *p_value);
00325 
00327 
00336 
00337 BOOL cvt_V812_get_module_type( cvt_V812_data* p_data, UINT16 *p_value);
00338 
00340 
00348 
00349 BOOL cvt_V812_get_version( cvt_V812_data* p_data, UINT8 *p_value);
00350 
00352 
00361 
00362 BOOL cvt_V812_get_serial_number( cvt_V812_data* p_data, UINT16 *p_value);
00363 
00365 //
00366 //     L E V E L   2   A P I s
00367 //
00369 
00370 #endif 

Generated on Mon Mar 19 17:13:06 2007 for CAEVMEToolLib by  doxygen 1.4.6-NO