EPICS GPIB Module
- Module Owner:
- Benjamin Franksen
This page is the home of the EPICS GPIB module, which provides GPIB support for EPICS. It contains a device independent generic driver, drivers for some commonly used interfaces devices, and a device support library that can be used to simplify writing device support modules.
This site gives access to the software source code, information on other modules which are needed to install and run it, and documentation on the how to include and use it in your EPICS applications. Please email any comments and bug reports to the module owner who is responsible for coordinating development and releases.
This page is only about the version for EPICS 3.13.x. If you are using EPICS R3.14 or later, please use the asyn package.
At the moment, the module can drive the following GPIB controllers:
Where to Find it
You can download the software directly from the links in the table below:
Warning: The low-level driver modules, are not yet thoroughly tested, except the one for the E2050A and E5810A.
Site Installation and Building
After obtaining a copy of the distribution, it must be installed and built for use at your site. These steps only need to be performed once for the site (unless versions of
the module running under different releases of EPICS and/or the other required modules are needed).
- Create an installation directory for the module, usually this will end with /support/bus/gpib.
- Unpacking the distribution tar file produces a <supporttop> directory named after the release number.
- Edit the config/RELEASE file and set the path to your installation of EPICS.
- If you wish to use only a subset of the supported hardware, edit the files gpibApp/gpib.dbd and/or gpibApp/gpib.LIBOBJS and comment out or delete the lines refering
to the hardware you don't want to have support for. These files contain comments that indicate which part corresponds to which hardware.
- Run gnumake in the top level directory and check for any compilation errors. If you feel overwhelmed by gnumake's output, try the option -s
- Please email me so I can keep track of which sites are using this software.
To use the installed and built support software in an <ioctop> application, make the following changes to the application:
- Edit the config/RELEASE file and add the line
before the EPICS_BASE entry.
If you used the makeBaseApp.pl from EPICS R3.13.9 or later to create the <ioctop> environment, step 2 will be done automatically by running gnumake inside the config directory. You can then go on with step 3.
Edit the config/CONFIG_APP file and add the lines
USR_INCLUDES += -I$(GPIB)/include
GPIB_BIN = $(GPIB)/bin/$(T_A)
USER_DBDFLAGS += -I $(GPIB)/dbd
- In the application source directory where the base object files are linked together, edit Makefile.Vx and add
LIBOJBS += $(GPIB_BIN)/gpibLib
- Ensure the following is included in the construction of the application's .dbd file
- Rebuild the application and use the newly installed support as desired. Be sure that your run-time system has RPC support included (with vxworks this is normally the case).
- For each GPIB controller in use, add an appropriate configuration command to the vxWorks startup file, after loading the binaries and before calling iocInit. See README and RELEASE_NOTES for which routine to call and with which parameters.
You may want to use this makeBaseApp template. It is designed to give you an easy start for writing gpib device supports. Extract this in your local $EPICS_MBA_TEMPLATE_TOP directory and move/rename devGpibApp/<release number> to devGpibApp. Then goto some <supporttop> directory where you want to build your device support and do
makeBaseApp.pl -t devGpib <Devicetype> which will create some skeleton for a new GPIB device support module with name dev<Devicetype>App.
Unfortunately there is no proper documentation available for this package yet. For an introduction on how to setup your system please refer to the README file (plain ascii) that is included in the package. A lot of the documentation for the previous version of this module is still valid and may serve as a kind of introduction until the new version has proper documentation.
If you have never before written GPIB device supports, it is recommended that you read the original GPIB Device Support documentation which contains (among other stuff) a description of the interface between the library devCommonGpib and the dedicated GPIB device support modules.