StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
cbdCamac.h
1 #ifndef _CBD_CAMAC_H_
2 #define _CBD_CAMAC_H_
3 
4 #define CBD_BASE 0xFB800000
5 
6 #define CBD_LAM_VME_IRQ 3
7 #define CBD_IT2_VME_IRQ 2
8 #define CBD_IT4_VME_IRQ 4
9 
10 
11 
12 #define BCNAF16(b,c,n,a,f) (CBD_BASE | ((b)<<19) | ((c)<<16) | ((n)<<11) | ((a)<<7) | ((f)<<2) | 2)
13 #define BCNAF24(b,c,n,a,f) (CBD_BASE | ((b)<<19) | ((c)<<16) | ((n)<<11) | ((a)<<7) | ((f)<<2))
14 
15 extern inline UINT32 cam24r(int b, int c, int n, int a, int f)
16 {
17  UINT32 ret ;
18 
19  // hi first
20  ret = (*(UINT16 *)BCNAF24(b,c,n,a,f))<<16 ;
21  // lo second
22  ret |= *(UINT16 *)BCNAF16(b,c,n,a,f) ;
23 
24  return ret ;
25 }
26 
27 extern inline void cam24w(int b, int c, int n, int a, int f, UINT32 data)
28 {
29  // hi first
30  *(UINT16 *)BCNAF24(b,c,n,a,f) = data >> 16 ;
31  // lo second
32  *(UINT16 *)BCNAF16(b,c,n,a,f) = data & 0xFFFF ;
33 
34  return ;
35 }
36 
37 
38 extern int cbdCrate[8] ;
39 extern int cbdCrateCou ;
40 
41 
42 #endif