v1190B.h

Go to the documentation of this file.
00001 /*********************************************************************
00002 
00003   Name:         v1190B.h
00004   Created by:   Pierre-Andre Amaudruz
00005 
00006   Contents:     V1190B 64ch. TDC
00007 
00008   $Id: v1190B.h 3747 2007-07-10 08:30:09Z amaudruz $
00009 *********************************************************************/
00010 
00011 #include "mvmestd.h"
00012 
00013 #ifndef V1190B_INCLUDE_H
00014 #define V1190B_INCLUDE_H
00015 
00016 #
00017 /* V1190 Base address */
00018 #define  V1190_MAX_CHANNELS      (DWORD) 64
00019 #define  V1190_REG_BASE          (DWORD) (0x1000)
00020 #define  V1190_CR_RW             (DWORD) (0x1000)
00021 #define  V1190_SR_RO             (DWORD) (0x1002)
00022 #define  V1190_DATA_READY        (DWORD) (0x0001)
00023 #define  V1190_ALMOST_FULL       (DWORD) (0x0002)
00024 #define  V1190_FULL              (DWORD) (0x0004)
00025 #define  V1190_TRIGGER_MATCH     (DWORD) (0x0008)
00026 #define  V1190_HEADER_ENABLE     (DWORD) (0x0010)
00027 #define  V1190_GEO_REG_RW        (DWORD) (0x001E)
00028 #define  V1190_MODULE_RESET_WO   (DWORD) (0x1014)
00029 #define  V1190_SOFT_CLEAR_WO     (DWORD) (0x1016)
00030 #define  V1190_SOFT_EVT_RESET_WO (DWORD) (0x1018)
00031 #define  V1190_SOFT_TRIGGER_WO   (DWORD) (0x101A)
00032 #define  V1190_EVT_CNT_RO        (DWORD) (0x101C)
00033 #define  V1190_EVT_STORED_RO     (DWORD) (0x1020)
00034 #define  V1190_FIRM_REV_RO       (DWORD) (0x1026)
00035 #define  V1190_MICRO_HAND_RO     (DWORD) (0x1030)
00036 #define  V1190_MICRO_RW          (DWORD) (0x102E)
00037 /* Micro code IDs */
00038 #define  V1190_WINDOW_WIDTH_WO   (WORD) (0x1000)
00039 #define  V1190_WINDOW_OFFSET_WO  (WORD) (0x1100)
00040 #define  V1190_MICRO_WR_OK       (WORD) (0x0001)
00041 #define  V1190_MICRO_RD_OK       (WORD) (0x0002)
00042 #define  V1190_MICRO_TDCID       (WORD) (0x6000)
00043 #define  V1190_EDGE_DETECTION_WO (WORD) (0x2200)
00044 #define  V1190_LE_RESOLUTION_WO  (WORD) (0x2400)
00045 #define  V1190_LEW_RESOLUTION_WO (WORD) (0x2500)
00046 #define  V1190_RESOLUTION_RO     (WORD) (0x2600)
00047 #define  V1190_TRIGGER_MATCH_WO  (WORD) (0x0000)
00048 #define  V1190_CONTINUOUS_WO     (WORD) (0x0100)
00049 #define  V1190_ACQ_MODE_RO       (WORD) (0x0200)
00050 
00051 #define  LE_RESOLUTION_100       (WORD) (0x10)
00052 #define  LE_RESOLUTION_200       (WORD) (0x01)
00053 #define  LE_RESOLUTION_800       (WORD) (0x00)
00054 
00055 int  udelay(int usec);
00056 int  v1190_EventRead(MVME_INTERFACE *mvme, DWORD base, DWORD *pdest, int *nentry);
00057 int  v1190_DataRead(MVME_INTERFACE *mvme, DWORD base, DWORD *pdest, int nentry);
00058 void v1190_SoftReset(MVME_INTERFACE *mvme, DWORD base);
00059 void v1190_SoftClear(MVME_INTERFACE *mvme, DWORD base);
00060 void v1190_SoftTrigger(MVME_INTERFACE *mvme, DWORD base);
00061 void v1190_DataReset(MVME_INTERFACE *mvme, DWORD base);
00062 int  v1190_DataReady(MVME_INTERFACE *mvme, DWORD base);
00063 int  v1190_EvtCounter(MVME_INTERFACE *mvme, DWORD base);
00064 int  v1190_EvtStored(MVME_INTERFACE *mvme, DWORD base);
00065 int  v1190_MicroCheck(MVME_INTERFACE *mvme, const DWORD base, int what);
00066 int  v1190_MicroWrite(MVME_INTERFACE *mvme, DWORD base, WORD data);
00067 int  v1190_MicroRead(MVME_INTERFACE *mvme, const DWORD base);
00068 int  v1190_MicroFlush(MVME_INTERFACE *mvme, const DWORD base);
00069 void v1190_TdcIdList(MVME_INTERFACE *mvme, DWORD base);
00070 int  v1190_ResolutionRead(MVME_INTERFACE *mvme, DWORD base);
00071 void v1190_LEResolutionSet(MVME_INTERFACE *mvme, DWORD base, WORD le);
00072 void v1190_LEWResolutionSet(MVME_INTERFACE *mvme, DWORD base, WORD le, WORD width);
00073 void v1190_TriggerMatchingSet(MVME_INTERFACE *mvme, DWORD base);
00074 void v1190_AcqModeRead(MVME_INTERFACE *mvme, DWORD base);
00075 void v1190_ContinuousSet(MVME_INTERFACE *mvme, DWORD base);
00076 void v1190_WidthSet(MVME_INTERFACE *mvme, DWORD base, WORD width);
00077 void v1190_OffsetSet(MVME_INTERFACE *mvme, DWORD base, WORD offset);
00078 int  v1190_GeoWrite(MVME_INTERFACE *mvme, DWORD base, int geo);
00079 int  v1190_Setup(MVME_INTERFACE *mvme, DWORD base, int mode);
00080 int  v1190_Status(MVME_INTERFACE *mvme, DWORD base);
00081 void v1190_SetEdgeDetection(MVME_INTERFACE *mvme, DWORD base, int eLeading, int eTrailing);
00082 
00083 #endif // V1190B_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