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  |