MIDAS
Loading...
Searching...
No Matches
mvmestd.h
Go to the documentation of this file.
1/*********************************************************************
2
3 Name: mvmestd.h
4 Created by: Stefan Ritt
5
6 Cotents: Midas VME standard routines (MVMESTD) supplying an
7 abstract layer to all supported VME interfaces.
8
9 $Id$
10
11*********************************************************************/
12
13#ifndef MVMESTD_H
14#define MVMESTD_H
15
32#ifndef DOXYGEN_SHOULD_SKIP_THIS
33
34/*---- replacements if not running under MIDAS ---------------------*/
35
36#ifndef MIDAS_TYPE_DEFINED
37#define MIDAS_TYPE_DEFINED
38
39typedef unsigned short int WORD;
40
41#ifndef _MSC_VER
42typedef unsigned int DWORD;
43#endif
44
45#define SUCCESS 1
46
47#endif /* MIDAS_TYPE_DEFINED */
48
49/* make functions under WinNT dll exportable */
50#if defined(_MSC_VER) && defined(MIDAS_DLL)
51#define EXPRT __declspec(dllexport)
52#else
53#define EXPRT
54#endif
55
57#endif /* DOXYGEN_SHOULD_SKIP_THIS */
58
59/*---- status codes ------------------------------------------------*/
60
61#define MVME_SUCCESS 1
62#define MVME_NO_INTERFACE 2
63#define MVME_NO_CRATE 3
64#define MVME_UNSUPPORTED 4
65#define MVME_INVALID_PARAM 5
66#define MVME_NO_MEM 6
67#define MVME_ACCESS_ERROR 7
68
69/*---- types -------------------------------------------------------*/
70
71typedef unsigned int mvme_addr_t;
72typedef unsigned int mvme_locaddr_t;
73typedef unsigned int mvme_size_t;
74
75/*---- constants ---------------------------------------------------*/
76
80#define MVME_DMODE_D8 1
81#define MVME_DMODE_D16 2
82#define MVME_DMODE_D32 3
83#define MVME_DMODE_D64 4
84#define MVME_DMODE_RAMD16 5
85#define MVME_DMODE_RAMD32 6
86#define MVME_DMODE_LM 7
88#define MVME_DMODE_DEFAULT MVME_DMODE_D32
89
90/* block transfer modes */
91
92#define MVME_BLT_NONE 1
93#define MVME_BLT_BLT32 2
94#define MVME_BLT_MBLT64 3
95#define MVME_BLT_2EVME 4
96#define MVME_BLT_2ESST 5
97#define MVME_BLT_BLT32FIFO 6
98#define MVME_BLT_MBLT64FIFO 7
99#define MVME_BLT_2EVMEFIFO 8
101/* vme bus address modifiers */
102
103#define MVME_AM_A32_SB (0x0F)
104#define MVME_AM_A32_SP (0x0E)
105#define MVME_AM_A32_SD (0x0D)
106#define MVME_AM_A32_NB (0x0B)
107#define MVME_AM_A32_NP (0x0A)
108#define MVME_AM_A32_ND (0x09)
109#define MVME_AM_A32_SMBLT (0x0C)
110#define MVME_AM_A32_NMBLT (0x08)
112#define MVME_AM_A32 MVME_AM_A32_SD
113#define MVME_AM_A32_D64 MVME_AM_A32_SMBLT
114
115#define MVME_AM_A24_SB (0x3F)
116#define MVME_AM_A24_SP (0x3E)
117#define MVME_AM_A24_SD (0x3D)
118#define MVME_AM_A24_NB (0x3B)
119#define MVME_AM_A24_NP (0x3A)
120#define MVME_AM_A24_ND (0x39)
121#define MVME_AM_A24_SMBLT (0x3C)
122#define MVME_AM_A24_NMBLT (0x38)
124#define MVME_AM_A24 MVME_AM_A24_SD
125#define MVME_AM_A24_D64 MVME_AM_A24_SMBLT
126
127#define MVME_AM_A16_SD (0x2D)
128#define MVME_AM_A16_ND (0x29)
130#define MVME_AM_A16 MVME_AM_A16_SD
131
132#define MVME_AM_DEFAULT MVME_AM_A32
133
134/*---- interface structure -----------------------------------------*/
135typedef struct {
137 int handle;
138 int index;
139 void *info;
140 int am;
141 int dmode;
143 void *table;
145
146/*---- function declarations ---------------------------------------*/
147
148/* make functions callable from a C++ program */
149#ifdef __cplusplus
150extern "C" {
151#endif
152
158/********************************************************************/
211
212/********************************************************************/
220
221/********************************************************************/
230
231/********************************************************************/
243
244/********************************************************************/
253
254/********************************************************************/
266
267/********************************************************************/
277
278/********************************************************************/
286
287/********************************************************************/
295
296/********************************************************************/
304
305/********************************************************************/
313
314/********************************************************************/
322
323/********************************************************************/
333 void (*isr)(int, void*, void *), void *info);
337
338#ifdef __cplusplus
339}
340#endif
341
/* end of mvmestdfunctionh */ /* end of mvmestdinclude */
346
347#endif // MVMESTD_H
int EXPRT mvme_get_dmode(MVME_INTERFACE *vme, int *dmode)
int EXPRT mvme_open(MVME_INTERFACE **vme, int idx)
int EXPRT mvme_sysreset(MVME_INTERFACE *vme)
int EXPRT mvme_interrupt_enable(MVME_INTERFACE *mvme, int level, int vector, void *info)
int EXPRT mvme_set_blt(MVME_INTERFACE *vme, int mode)
int EXPRT mvme_read(MVME_INTERFACE *vme, void *dst, mvme_addr_t vme_addr, mvme_size_t n_bytes)
int EXPRT mvme_interrupt_detach(MVME_INTERFACE *mvme, int level, int vector, void *info)
unsigned int EXPRT mvme_read_value(MVME_INTERFACE *vme, mvme_addr_t vme_addr)
int EXPRT mvme_write_value(MVME_INTERFACE *vme, mvme_addr_t vme_addr, unsigned int value)
int EXPRT mvme_get_blt(MVME_INTERFACE *vme, int *mode)
int EXPRT mvme_set_dmode(MVME_INTERFACE *vme, int dmode)
int EXPRT mvme_write(MVME_INTERFACE *vme, mvme_addr_t vme_addr, void *src, mvme_size_t n_bytes)
int EXPRT mvme_close(MVME_INTERFACE *vme)
int EXPRT mvme_get_am(MVME_INTERFACE *vme, int *am)
int EXPRT mvme_interrupt_generate(MVME_INTERFACE *mvme, int level, int vector, void *info)
int EXPRT mvme_interrupt_disable(MVME_INTERFACE *mvme, int level, int vector, void *info)
int EXPRT mvme_interrupt_attach(MVME_INTERFACE *mvme, int level, int vector, void(*isr)(int, void *, void *), void *info)
int EXPRT mvme_set_am(MVME_INTERFACE *vme, int am)
unsigned int mvme_size_t
Definition mvmestd.h:73
unsigned short int WORD
Definition mvmestd.h:39
unsigned int mvme_locaddr_t
Definition mvmestd.h:72
unsigned int mvme_addr_t
Definition mvmestd.h:71
unsigned int DWORD
Definition mvmestd.h:42
#define EXPRT
Definition mvmestd.h:53
void ** info
Definition fesimdaq.cxx:41
double value[100]
Definition odbhist.cxx:42
TH1X EXPRT * h1_book(const char *name, const char *title, int bins, double min, double max)
Definition rmidas.h:24
void * table
Definition mvmestd.h:143
void * info
Definition mvmestd.h:139