v1729.h

Go to the documentation of this file.
00001 /*********************************************************************
00002 
00003   Name:         v1729.h
00004   Created by:   Pierre-Andre Amaudruz
00005 
00006   Contents:     V1729 4channel /12 bit sampling ADC (1,2Gsps)
00007 
00008   $Log: v1729.h,v $
00009 *********************************************************************/
00010 #ifndef  V1729_INCLUDE_H
00011 #define  V1729_INCLUDE_H
00012 
00013 #include <stdio.h>
00014 #include <string.h>
00015 
00016 #include "mvmestd.h"
00017 
00018 #define  V1729_SUCCESS                      1
00019 #define  V1729_ERROR                       -1
00020 
00021 #define  V1729_MAX_CHANNELS     (DWORD) 4
00022 #define  V1729_MAX_CHANNEL_SIZE (DWORD) 2560
00023 #define  V1729_RAM_SIZE         (DWORD) (4*2563)
00024 #define  V1729_RESET_W          (DWORD) (0x0800)
00025 #define  V1729_PRETRIG_LSB      (DWORD) (0x1800)
00026 #define  V1729_PRETRIG_MSB      (DWORD) (0x1900)
00027 #define  V1729_POSTTRIG_LSB     (DWORD) (0x1A00)
00028 #define  V1729_POSTTRIG_MSB     (DWORD) (0x1B00)
00029 
00030 #define  V1729_TRIGTYPE         (DWORD) (0x1D00)
00031 #define  V1729_SOFT_TRIGGER      (DWORD)   (0x0)
00032 #define  V1729_TRIG_ON_DISCR     (DWORD)   (0x1)
00033 #define  V1729_EXTERNAL_TRIGGER  (DWORD)   (0x2)
00034 #define  V1729_SOFT_OR_DISCR     (DWORD)   (0x3)
00035 #define  V1729_RISING_EDGE       (DWORD)   (0x0)
00036 #define  V1729_FALLING_EDGE      (DWORD)   (0x4)
00037 #define  V1729_INHIBIT_RANDOM    (DWORD)   (0x0)
00038 #define  V1729_AUTHORIZE_RANDOM  (DWORD)   (0x8)
00039 #define  V1729_NORMAL_TRIGGER    (DWORD)   (0x0)
00040 #define  V1729_EXT_TRIGG_NO_MASK (DWORD)  (0x10)
00041 
00042 #define  V1729_TRIGCHAN         (DWORD) (0x1E00)
00043 #define  V1729_DISABLE_ALL       (DWORD)   (0x0)
00044 #define  V1729_ENABLE_CH1        (DWORD)   (0x1)
00045 #define  V1729_ENABLE_CH2        (DWORD)   (0x2)
00046 #define  V1729_ENABLE_CH3        (DWORD)   (0x4)
00047 #define  V1729_ENABLE_CH4        (DWORD)   (0x8)
00048 #define  V1729_ALL_FOUR          (DWORD)   (0xF)
00049 
00050 #define  V1729_ACQ_START_W      (DWORD) (0x1700)
00051 #define  V1729_SOFT_TRIGGER_W   (DWORD) (0x1C00)
00052 #define  V1729_DATA_FIFO_R      (DWORD) (0x0D00)
00053 #define  V1729_TRIGREC_R        (DWORD) (0x2000)
00054 #define  V1729_FAST_READ_MODES  (DWORD) (0x2100)
00055 #define  V1729_N_COL            (DWORD) (0x2200)
00056 #define  V1729_CHANMASK         (DWORD) (0x2300)
00057 #define  V1729_INTERRUPT_REG    (DWORD) (0x8000)
00058 #define  V1729_FRQ_SAMPLING     (DWORD) (0x8100)
00059 
00060 #define  V1729_1GSPS            (DWORD)  2
00061 #define  V1729_2GSPS            (DWORD)  1
00062 
00063 #define  V1729_VERSION_R        (DWORD) (0x8200)
00064 #define  V1729_INTERRUPT_ENABLE (DWORD) (0x8300)   //
00065 
00066 void v1729_AcqStart(MVME_INTERFACE *mvme, DWORD base);
00067 void v1729_Reset(MVME_INTERFACE *mvme, DWORD base);
00068 int  v1729_Setup(MVME_INTERFACE *mvme, DWORD base, int mode);
00069 int  v1729_Status(MVME_INTERFACE *mvme, DWORD base);
00070 int  v1729_isTrigger(MVME_INTERFACE *mvme, DWORD base);
00071 void v1729_SoftTrigger(MVME_INTERFACE *mvme, DWORD base);
00072 void v1729_PreTrigSet(MVME_INTERFACE *mvme, DWORD base, int value);
00073 void v1729_PostTrigSet(MVME_INTERFACE *mvme, DWORD base, int value);
00074 void v1729_TriggerTypeSet(MVME_INTERFACE *mvme, DWORD base, int value);
00075 void v1729_ChannelSelect(MVME_INTERFACE *mvme, DWORD base, int value);
00076 void v1729_FrqSamplingSet(MVME_INTERFACE *mvme, DWORD base, int value);
00077 void v1729_NColsSet(MVME_INTERFACE *mvme, DWORD base, int value);
00078 int  v1729_NColsGet(MVME_INTERFACE *mvme, DWORD base);
00079 int  v1729_TimeCalibrationRun(MVME_INTERFACE *mvme, DWORD base, int flag);
00080 int  v1729_PedestalRun(MVME_INTERFACE *mvme, DWORD base, int loop, int flag);
00081 void v1729_DataRead(MVME_INTERFACE *mvme, DWORD base, WORD *pdest, int nch, int npt);
00082 int  v1729_OrderData(MVME_INTERFACE *mvme, DWORD base, WORD *psrce, int *pdest, int nch, int ch, int npt);
00083 
00084 #endif   // V1729_INCLUDE_H

Midas DOC Version 2.0.2 ---- PSI Stefan Ritt ----
Contributions: Pierre-Andre Amaudruz - Sergio Ballestrero - Suzannah Daviel - Doxygen - Peter Green - Qing Gu - Greg Hackman - Gertjan Hofman - Paul Knowles - Exaos Lee - Rudi Meier - Glenn Moloney - Dave Morris - John M O'Donnell - Konstantin Olchanski - Renee Poutissou - Tamsen Schurman - Andreas Suter - Jan M.Wouters - Piotr Adam Zolnierczuk