Overview of the
Linux PCI - pciada
to
VME - VMEMM
(Wiener)
This hardware works with both Root and CODA.
You must first install the pcivme Driver.
Download
Notes on Libraries
The libraries are based on the same code from WEINER. In the case of the
general/CODA libraries, these are c-functions. In the Root Librbary,
there is a class called TVMEmm, and all the calls are methods
within that class. A list of c-functions / c++ methods is below.
- int VMEopen(const char *cszDeviceName, unsigned char ubAddressModifier, int *pnHandle);
- int VMEinit(const char *cszDeviceName, unsigned short nVMEMM, unsigned char ubAddressModifier, int *pnHandle);
- int setAccessProperties(int nHandle, unsigned char bModifier, unsigned char bAccessType);
- int VMEread(int nHandle, unsigned long ulAddress, unsigned char ubAccessWidth, unsigned long ulElementCount, void *pvBuffer);
- int VMEwrite(int nHandle, unsigned long ulAddress, unsigned char ubAccessWidth, unsigned long ulElementCount, void *pvBuffer);
- int VMEaccessVIC(int nHandle, unsigned char ubAccessMode, unsigned short uwAddress, unsigned char *ubContent);
- int VMEreset(int nHandle);
- int VMETAS(int nHandle, unsigned long ulAddress, unsigned char *ubResult);
- int VMEcontrolInterrupt(int nHandle, BOOLEAN *bEnable);
- int VMEinterrupt(int nHandle, unsigned char *ubVector);
- int VMEsysfailGet(int nHandle, BOOLEAN *bResult);
- int VMEsysfailSet(int nHandle, BOOLEAN bForce);
- int VMEerror(int nHandle);
- int VMEclose(int nHandle);
- int GetLastError(int nHandle);