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         // TODO: add other variables here
00038 } cvt_V812_data;
00039 
00041 // Registers address
00043 #define CVT_V812_THRESHOLD_0_ADD                                0x0000                  
00044 #define CVT_V812_THRESHOLD_1_ADD                                0x0002                  
00045 #define CVT_V812_THRESHOLD_2_ADD                                0x0004                  
00046 #define CVT_V812_THRESHOLD_3_ADD                                0x0006                  
00047 #define CVT_V812_THRESHOLD_4_ADD                                0x0008                  
00048 #define CVT_V812_THRESHOLD_5_ADD                                0x000A                  
00049 #define CVT_V812_THRESHOLD_6_ADD                                0x000C                  
00050 #define CVT_V812_THRESHOLD_7_ADD                                0x000E                  
00051 #define CVT_V812_THRESHOLD_8_ADD                                0x0010                  
00052 #define CVT_V812_THRESHOLD_9_ADD                                0x0012                  
00053 #define CVT_V812_THRESHOLD_10_ADD                               0x0014                  
00054 #define CVT_V812_THRESHOLD_11_ADD                               0x0016                  
00055 #define CVT_V812_THRESHOLD_12_ADD                               0x0018                  
00056 #define CVT_V812_THRESHOLD_13_ADD                               0x001A                  
00057 #define CVT_V812_THRESHOLD_14_ADD                               0x001C                  
00058 #define CVT_V812_THRESHOLD_15_ADD                               0x001E                  
00059 #define CVT_V812_OUT_WIDTH_0_7_ADD                              0x0040                  
00060 #define CVT_V812_OUT_WIDTH_8_15_ADD                             0x0042                  
00061 #define CVT_V812_DEAD_TIME_0_7_ADD                              0x0044                  
00062 #define CVT_V812_DEAD_TIME_8_15_ADD                             0x0046                  
00063 #define CVT_V812_MAJORITY_ADD                                   0x0048                  
00064 #define CVT_V812_PATTERN_INHIBIT_ADD                    0x004A                  
00065 #define CVT_V812_TEST_PULSE_ADD                                 0x004C                  
00066 #define CVT_V812_FIXED_CODE_ADD                                 0x00FA                  
00067 #define CVT_V812_MANUFACTURER_ADD                               0x00FC                  
00068 #define CVT_V812_VERSION_ADD                                    0x00FD                  
00070 #define CVT_V812_THRESHOLD_ADD_STEP                             2                               
00072 
00073 // Registers data size
00074 
00075 #define CVT_V812_THRESHOLD_DATA_SIZE                    cvD16                   
00076 #define CVT_V812_OUT_WIDTH_0_7_DATA_SIZE                cvD16                   
00077 #define CVT_V812_OUT_WIDTH_8_15_DATA_SIZE               cvD16                   
00078 #define CVT_V812_DEAD_TIME_0_7_DATA_SIZE                cvD16                   
00079 #define CVT_V812_DEAD_TIME_8_15_DATA_SIZE               cvD16                   
00080 #define CVT_V812_MAJORITY_DATA_SIZE                             cvD16                   
00081 #define CVT_V812_PATTERN_INHIBIT_DATA_SIZE              cvD16                   
00082 #define CVT_V812_TEST_PULSE_DATA_SIZE                   cvD16                   
00083 #define CVT_V812_FIXED_CODE_DATA_SIZE                   cvD16                   
00084 #define CVT_V812_MANUFACTURER_DATA_SIZE                 cvD16                   
00085 #define CVT_V812_VERSION_DATA_SIZE                              cvD16                   
00087 
00088 // Registers address modifiers
00089 
00090 #define CVT_V812_THRESHOLD_AM                                   cvA32_S_DATA    
00091 #define CVT_V812_OUT_WIDTH_0_7_AM                               cvA32_S_DATA    
00092 #define CVT_V812_OUT_WIDTH_8_15_AM                              cvA32_S_DATA    
00093 #define CVT_V812_DEAD_TIME_0_7_AM                               cvA32_S_DATA    
00094 #define CVT_V812_DEAD_TIME_8_15_AM                              cvA32_S_DATA    
00095 #define CVT_V812_MAJORITY_AM                                    cvA32_S_DATA    
00096 #define CVT_V812_PATTERN_INHIBIT_AM                             cvA32_S_DATA    
00097 #define CVT_V812_TEST_PULSE_AM                                  cvA32_S_DATA    
00098 #define CVT_V812_FIXED_CODE_AM                                  cvA32_S_DATA    
00099 #define CVT_V812_MANUFACTURER_AM                                cvA32_S_DATA    
00100 #define CVT_V812_VERSION_AM                                             cvA32_S_DATA    
00102 
00103 
00108 
00109 typedef enum
00110 {
00111         CVT_V812_THRESHOLD_0_INDEX,                             
00112         CVT_V812_THRESHOLD_1_INDEX,                             
00113         CVT_V812_THRESHOLD_2_INDEX,                             
00114         CVT_V812_THRESHOLD_3_INDEX,                             
00115         CVT_V812_THRESHOLD_4_INDEX,                             
00116         CVT_V812_THRESHOLD_5_INDEX,                             
00117         CVT_V812_THRESHOLD_6_INDEX,                             
00118         CVT_V812_THRESHOLD_7_INDEX,                             
00119         CVT_V812_THRESHOLD_8_INDEX,                             
00120         CVT_V812_THRESHOLD_9_INDEX,                             
00121         CVT_V812_THRESHOLD_10_INDEX,                    
00122         CVT_V812_THRESHOLD_11_INDEX,                    
00123         CVT_V812_THRESHOLD_12_INDEX,                    
00124         CVT_V812_THRESHOLD_13_INDEX,                    
00125         CVT_V812_THRESHOLD_14_INDEX,                    
00126         CVT_V812_THRESHOLD_15_INDEX,                    
00127         CVT_V812_OUT_WIDTH_0_7_INDEX,                   
00128         CVT_V812_OUT_WIDTH_8_15_INDEX,                  
00129         CVT_V812_DEAD_TIME_0_7_INDEX,                   
00130         CVT_V812_DEAD_TIME_8_15_INDEX,                  
00131         CVT_V812_MAJORITY_INDEX,                                
00132         CVT_V812_PATTERN_INHIBIT_INDEX,                 
00133         CVT_V812_TEST_PULSE_INDEX,                              
00134         CVT_V812_FIXED_CODE_INDEX,                              
00135         CVT_V812_MANUFACTURER_INDEX,                    
00136         CVT_V812_VERSION_INDEX,                                 
00137 } CVT_V812_REG_INDEX;
00138 
00139 
00140 #define CVT_V812_FIXED_CODE_VALUE                               0xFAF5                  
00141 #define CVT_V812_MANUFACTURER_NUMBER_VALUE              0x02                    
00142 #define CVT_V812_MODULE_TYPE_VALUE                              0x0051                  
00144 
00145 
00148 
00149 typedef enum 
00150 {
00151         CVT_V812_THRESHOLD_ALL= -1,                                             
00152         CVT_V812_THRESHOLD_0= 0,                                                
00153         CVT_V812_THRESHOLD_1,                                                   
00154         CVT_V812_THRESHOLD_2,                                                   
00155         CVT_V812_THRESHOLD_3,                                                   
00156         CVT_V812_THRESHOLD_4,                                                   
00157         CVT_V812_THRESHOLD_5,                                                   
00158         CVT_V812_THRESHOLD_6,                                                   
00159         CVT_V812_THRESHOLD_7,                                                   
00160         CVT_V812_THRESHOLD_8,                                                   
00161         CVT_V812_THRESHOLD_9,                                                   
00162         CVT_V812_THRESHOLD_10,                                                  
00163         CVT_V812_THRESHOLD_11,                                                  
00164         CVT_V812_THRESHOLD_12,                                                  
00165         CVT_V812_THRESHOLD_13,                                                  
00166         CVT_V812_THRESHOLD_14,                                                  
00167         CVT_V812_THRESHOLD_15,                                                  
00168         // TODO: add other command id here
00169         CVT_V812_MAX_THRESHOLD                                                  
00170 } cvt_V812_threshold_id ;
00171 
00172 #define CVT_V812_THRESHOLD_ADD_STEP                                     2                                       
00174 
00175 // Global variables declaration
00176 
00177 
00179 // Global methods declaration
00181 
00183 //
00184 //     B O A R D S   H A N D L I N G
00185 //
00187 
00188 
00190 
00200 
00201 BOOL cvt_V812_open( cvt_V812_data* p_data, UINT16 base_address, long vme_handle);
00202 
00204 
00212 
00213 BOOL cvt_V812_close( cvt_V812_data* p_data);
00214 
00216 //
00217 //     L E V E L   0   A P I s
00218 //
00220 
00221 
00223 //
00224 //     L E V E L   1   A P I s
00225 //
00227 
00229 
00240 
00241 BOOL cvt_V812_set_threshold( cvt_V812_data* p_data, cvt_V812_threshold_id threshold_id, UINT16 value);
00242 
00244 
00252 
00253 BOOL cvt_V812_set_output_width( cvt_V812_data* p_data, UINT8 value);
00254 
00256 
00264 
00265 BOOL cvt_V812_set_dead_time( cvt_V812_data* p_data, UINT8 value);
00266 
00268 
00276 
00277 BOOL cvt_V812_set_majority_threshold( cvt_V812_data* p_data, UINT8 value);
00278         
00280 
00288 
00289 BOOL cvt_V812_set_pattern_inhibit( cvt_V812_data* p_data, UINT16 value);
00290 
00292 
00299 
00300 BOOL cvt_V812_set_test_pulse( cvt_V812_data* p_data);
00301         
00303 
00312 
00313 BOOL cvt_V812_get_fixed_code( cvt_V812_data* p_data, UINT16 *p_value);
00314 
00316 
00325 
00326 BOOL cvt_V812_get_manufacturer_number( cvt_V812_data* p_data, UINT8 *p_value);
00327 
00329 
00338 
00339 BOOL cvt_V812_get_module_type( cvt_V812_data* p_data, UINT16 *p_value);
00340 
00342 
00350 
00351 BOOL cvt_V812_get_version( cvt_V812_data* p_data, UINT8 *p_value);
00352 
00354 
00363 
00364 BOOL cvt_V812_get_serial_number( cvt_V812_data* p_data, UINT16 *p_value);
00365 
00367 //
00368 //     L E V E L   2   A P I s
00369 //
00371 
00372 #endif 

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