00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #include "mvmestd.h"
00012
00013 #ifndef V1190B_INCLUDE_H
00014 #define V1190B_INCLUDE_H
00015
00016 #
00017
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
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