00001
00002
00010
00011 #ifndef __N957TYPES_H
00012 #define __N957TYPES_H
00013
00018
00020
00022
00024
00026 #if defined (WIN32)
00027 #if defined( N957LIB_EXPORTS)
00028 #define N957_DLL_API __declspec( dllexport )
00029 #else
00030 #define N957_DLL_API __declspec( dllimport )
00031 #endif
00032 #elif defined (LINUX)
00033 #define N957_DLL_API
00034 #endif
00035
00036 #define N957_INVALID_HANDLE_VALUE (-1)
00038 #ifdef WIN32
00039 typedef INT32 int32_t;
00040 typedef UINT32 uint32_t;
00041 typedef INT64 int64_t;
00042 typedef UINT64 uint64_t;
00043 #elif defined (LINUX)
00044 #include <stdint.h>
00045 #endif
00046
00047 typedef unsigned char N957_BYTE;
00048 typedef unsigned short N957_UINT16;
00049 typedef uint32_t N957_UINT32;
00050 typedef short N957_INT16;
00051 typedef int32_t N957_INT32;
00052 typedef int N957_BOOL;
00053 #define N957_TRUE (-1)
00054 #define N957_FALSE (0)
00057
00058
00063
00064 typedef enum _N957ErrorCodes
00065 {
00066 N957Success = 0,
00067 N957CommError = -1,
00068 N957GenericError = -2,
00069 N957InvalidParam = -3
00070 } N957ErrorCodes;
00071
00072
00074
00079
00080 typedef enum _N957Registers
00081 {
00082 N957StatusReg = 0x0000,
00083 N957ControlReg = 0x0001,
00084 N957FwRelReg = 0x0002,
00085 N957FwDwnldReg = 0x0003,
00086 N957FlashEnaReg = 0x0004,
00087 N957PulserReg = 0x0005,
00088 N957DACReg = 0x0006,
00089 N957BlDimReg = 0x0007,
00090 N957PotCtrlReg = 0x0008,
00091 N957CalSetReg = 0x0009,
00092 N957CalClearReg = 0x000a,
00093 N957ScratchReg = 0x000b,
00094 N957BuffOccReg = 0x000c,
00095 N957ScalerLSWReg = 0x000d,
00096 N957ScalerMSWReg = 0x000e,
00097 N957TimerLSWReg = 0x000f,
00098 N957TimerMSWReg = 0x0010,
00099 N957LiveTimeLSWReg = 0x0011,
00100 N957LiveTimeMSWReg = 0x0012,
00101 N957SwClearReg = 0x0013,
00102 N957SwResetReg = 0x0014,
00103 } N957Registers;
00104
00106
00111
00112 typedef enum _N957StatusRegMsks
00113 {
00114 N957StatusRegUSBHiSpeedMsk= 0x0001,
00115 N957StatusRegMemEmptyMsk = 0x0002,
00116 N957StatusRegMemFullMsk = 0x0004,
00117 N957StatusRegFlashBusyMsk = 0x0008,
00118 } N957StatusRegMsks;
00119
00120
00122
00127
00128 typedef enum _N957ControlRegMsks
00129 {
00130 N957ControlRegAcqModeMsk = 0x0001,
00131 N957ControlRegADCRateMsk = 0x000e,
00144 N957ControlRegSLSOnMsk = 0x0010,
00145 N957ControlRegConvEnMsk = 0x0040,
00146 N957ControlRegSwConvMsk = 0x0080,
00147 N957ControlRegPUREnMsk = 0x0100,
00148 N957ControlRegModeMsk = 0x0600,
00157 N957ControlRegDACTestEnMsk= 0x0800,
00158 N957ControlRegSLSTypeMsk = 0x1000,
00159 N957ControlRegOUTPModeMsk = 0x6000,
00168 N957ControlRegOUTPLevelMsk= 0x8000,
00169 } N957ControlRegMsks;
00170
00172
00177
00178 typedef enum _N957ControlADCRates
00179 {
00180 N957ControlADCRate600SPS= 0,
00181 N957ControlADCRate70KSPS,
00182 N957ControlADCRate140KSPS,
00183 N957ControlADCRate250KSPS,
00184 N957ControlADCRate420KSPS,
00185 N957ControlADCRate635KSPS,
00186 N957ControlADCRate850KSPS,
00187 N957ControlADCRate1MSPS,
00188 } N957ControlADCRates;
00189
00191
00196
00197 typedef enum _N957ControlADCRatesMsks
00198 {
00199 N957ControlADCRate600SPSMsk = 0x0000,
00200 N957ControlADCRate70KSPSMsk = 0x0002,
00201 N957ControlADCRate140KSPSMsk= 0x0004,
00202 N957ControlADCRate250KSPSMsk= 0x0006,
00203 N957ControlADCRate420KSPSMsk= 0x0008,
00204 N957ControlADCRate635KSPSMsk= 0x000a,
00205 N957ControlADCRate850KSPSMsk= 0x000c,
00206 N957ControlADCRate1MSPSMsk = 0x000e,
00207 } N957ControlADCRatesMsks;
00208
00210
00215
00216 typedef enum _N957ControlModes
00217 {
00218 N957ControlModeExtGate= 0,
00221 N957ControlModeAuto,
00224 } N957ControlModes;
00225
00227
00232
00233 typedef enum _N957ControlModesMsks
00234 {
00235 N957ControlModeExtGateMsk= 0x0000,
00236 N957ControlModeAutoMsk= 0x0200,
00237 } N957ControlModesMsk;
00238
00240
00245
00246 typedef enum _N957ControlOUTPModeMsks
00247 {
00248 N957OUTPModeMemFullMsk= 0x00,
00249 N957OUTPModePeakMsk= 0x01,
00250 N957OUTPModeLevelMsk= 0x10,
00251 N957OUTPModePulseMsk= 0x11,
00252 } N957ControlOUTPModeMsks;
00253
00255
00259
00260 typedef enum _N957FlashEnaRegMsks
00261 {
00262 N957FlashEnaRegFCSMsk = 0x0001,
00263 } N957FlashEnaRegMsks;
00264
00265
00266 #define N957_FLASH_PAGE_SIZE 264
00268
00269
00274
00275 typedef enum _N957FlashPageTypes
00276 {
00277 N957FlashPageStandard,
00278 N957FlashPageBackup,
00279 } N957FlashPageTypes;
00280
00282
00287
00288 typedef struct _N957_ConfigROM
00289 {
00290 N957_BYTE m_chksum;
00291 N957_BYTE m_version;
00292 N957_UINT32 m_board_id;
00293 N957_UINT32 m_revision;
00294 N957_UINT16 m_serial;
00295 N957_BYTE m_stretch_rev;
00296 N957_BYTE m_wiper_sls;
00297 N957_BYTE m_figure_sls;
00298 N957_BYTE m_wiper_lld;
00299 } N957_ConfigROM;
00300
00302
00304
00306
00308
00310 #endif // __N957TYPES_H