ICP  1
isisvme.h
Go to the documentation of this file.
1 #ifndef ISISVME_H
2 #define ISISVME_H
3 
4 #include "isisvme_types.h"
5 #include "IsisBase.h"
6 #include "DAEstatus.h"
7 
8 typedef int trigger_func_t(void* arg, time_t the_secs, unsigned short the_ms, int trig_id);
9 
10 
11 class ISISVME : public ISIS::Base
12 {
13  public:
14  enum { Error = 0, Success = 1 };
16  typedef uint32_t TransferProps;
17 
18  public: // all Block commands take len as the number of 32bit items
19  virtual int open(const char* device, DAEstatus& status) = 0;
20  virtual int openBackplane(const char* device_bp, DAEstatus& status) = 0;
21  virtual int lockDevice(int timeout, DAEstatus& dstatus) = 0;
22  virtual int unlockDevice(DAEstatus& dstatus) = 0;
23  virtual void lockInterface(int timeout, DAEstatus& dstatus) = 0;
24  virtual void unlockInterface(DAEstatus& dstatus) = 0;
25  virtual int readU16noRetry(unsigned long address, isisU16_t* data16, TransferProps props, DAEstatus& dstatus) = 0;
26  virtual int readU32noRetry(unsigned long address, isisU32_t* data32, TransferProps props, DAEstatus& dstatus) = 0;
27  virtual int readU16(unsigned long address, isisU16_t* data16, TransferProps props, DAEstatus& status) = 0;
28  virtual int readU32(unsigned long address, isisU32_t* data32, TransferProps props, DAEstatus& status) = 0;
29  virtual int readBlockU16(unsigned long address, isisU16_t* data16, long nitems, TransferProps props, DAEstatus& status) = 0;
30  virtual int readBlockU32(unsigned long address, isisU32_t* data32, long nitems, TransferProps props, DAEstatus& status) = 0;
31  virtual int writeU16(unsigned long address, isisU16_t data16, TransferProps props, DAEstatus& status) = 0;
32  virtual int writeU32(unsigned long address, isisU32_t data32, TransferProps props, DAEstatus& status) = 0;
33  virtual int writeBlockU16(unsigned long address, isisU16_t* data16, long nitems, TransferProps props, DAEstatus& status) = 0;
34  virtual int writeBlockU32(unsigned long address, isisU32_t* data32, long nitems, TransferProps props, DAEstatus& status) = 0;
35  virtual int writeBlock(unsigned long address, isisU32_t* data, long nitems, TransferProps props, DAEstatus& status) = 0;
36  virtual int writeBlock(unsigned long address, uint64_t* data, long nitems, TransferProps props, DAEstatus& status) = 0;
37  virtual int readBlock(unsigned long address, isisU32_t* data, long nitems, TransferProps props, DAEstatus& status) = 0;
38  virtual int readBlock(unsigned long address, uint64_t* data, long nitems, TransferProps props, DAEstatus& status) = 0;
39  virtual int close(DAEstatus& status) = 0;
40  virtual int scanBus(DAEstatus& status) = 0;
41  virtual bool initOK() = 0;
42  virtual bool resetBus(DAEstatus& status) = 0;
43  virtual const char* device() = 0;
44  virtual void setTriggerFunc(trigger_func_t* func, void* arg) = 0;
45 
46  virtual ~ISISVME() { }
47  //ISISVME() {}
48 };
49 
50 #endif /* ISISVME_H */
virtual int readU32noRetry(unsigned long address, isisU32_t *data32, TransferProps props, DAEstatus &dstatus)=0
uint32_t TransferProps
combination of TransferProp values
Definition: isisvme.h:16
virtual int openBackplane(const char *device_bp, DAEstatus &status)=0
TransferProp
Definition: isisvme.h:15
virtual int readU32(unsigned long address, isisU32_t *data32, TransferProps props, DAEstatus &status)=0
virtual bool resetBus(DAEstatus &status)=0
virtual int readBlock(unsigned long address, isisU32_t *data, long nitems, TransferProps props, DAEstatus &status)=0
virtual int writeBlockU32(unsigned long address, isisU32_t *data32, long nitems, TransferProps props, DAEstatus &status)=0
virtual void unlockInterface(DAEstatus &dstatus)=0
virtual bool initOK()=0
unsigned long isisU32_t
Definition: isisvme_types.h:8
virtual int writeBlock(unsigned long address, isisU32_t *data, long nitems, TransferProps props, DAEstatus &status)=0
virtual int readU16(unsigned long address, isisU16_t *data16, TransferProps props, DAEstatus &status)=0
virtual int writeU16(unsigned long address, isisU16_t data16, TransferProps props, DAEstatus &status)=0
virtual int writeBlockU16(unsigned long address, isisU16_t *data16, long nitems, TransferProps props, DAEstatus &status)=0
virtual ~ISISVME()
Definition: isisvme.h:46
virtual int writeU32(unsigned long address, isisU32_t data32, TransferProps props, DAEstatus &status)=0
virtual int readU16noRetry(unsigned long address, isisU16_t *data16, TransferProps props, DAEstatus &dstatus)=0
virtual int readBlockU32(unsigned long address, isisU32_t *data32, long nitems, TransferProps props, DAEstatus &status)=0
virtual int readBlockU16(unsigned long address, isisU16_t *data16, long nitems, TransferProps props, DAEstatus &status)=0
virtual int lockDevice(int timeout, DAEstatus &dstatus)=0
unsigned short isisU16_t
Definition: isisvme_types.h:7
virtual int scanBus(DAEstatus &status)=0
virtual int unlockDevice(DAEstatus &dstatus)=0
virtual int close(DAEstatus &status)=0
int trigger_func_t(void *arg, time_t the_secs, unsigned short the_ms, int trig_id)
Definition: isisvme.h:8
virtual void lockInterface(int timeout, DAEstatus &dstatus)=0
virtual const char * device()=0
virtual int open(const char *device, DAEstatus &status)=0
virtual void setTriggerFunc(trigger_func_t *func, void *arg)=0