Rev 5 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
5 | f9daq | 1 | /********************\ |
2 | VMEModule.hh |
||
3 | |||
4 | update: 04/01/28 |
||
5 | |||
6 | \********************/ |
||
7 | |||
8 | #ifndef VMEMODULE_HH |
||
9 | #define VMEMODULE_HH |
||
10 | |||
11 | |||
12 | |||
13 | #include <stdio.h> |
||
14 | #include <sys/types.h> |
||
15 | #include "pcivme_ni.h" |
||
16 | |||
17 | #define VMEA24 (unsigned short)0x39 |
||
18 | #define VMEA32 (unsigned short)0x09 |
||
19 | #define VMEA16 (unsigned short)0x29 |
||
20 | class VMEModule { |
||
21 | protected: |
||
22 | int m_fd; |
||
23 | int m_vmeptr; |
||
24 | caddr_t m_vmeaddr; |
||
25 | size_t m_size; |
||
26 | unsigned long m_baseaddress; |
||
27 | public: |
||
28 | VMEModule(int device, caddr_t vmeaddr, size_t size); |
||
29 | ~VMEModule(); |
||
30 | unsigned long getBaseAddress() { return (unsigned long) m_baseaddress; } |
||
31 | caddr_t getVmeAddress() { return m_vmeaddr; } |
||
32 | void write32(unsigned long address, unsigned long value); |
||
33 | unsigned long read32(unsigned long address); |
||
34 | |||
35 | void write16(unsigned long address, unsigned short value); |
||
36 | unsigned short read16(unsigned long address); |
||
37 | }; |
||
38 | |||
39 | #endif |