Table of Contents Previous Chapter Chapter 2: EPICS Introduction
An EPICS "release" is defined as a Tar file that contains the source code for EPICS base along with a set of configuration files (called "config") for building base and extensions. Since base and config are distributed in the same Tar file, the current EPICS revision number is associated with both of these directories.
The EPICS release number consists of a major, minor, and bug fix release number. In EPICS R3.12, for example, 3 is the major release number and 12 is the minor release number. Bug fix releases would be named R3.12.1, etc. A change in the major release number indicates a change in the channel access protocol, whereas a change in the minor release number indicates a minor change, such as an improvement to database processing. Since the channel access protocol does not change very often, it is usually possible to use older versions of unbundled extension software against newer versions of base and config. This is not always guaranteed, however.
Extension developers must provide release notes that indicate which versions of EPICS base their products are compatible with.
EPICS base contains the following UNIX and VxWorks components:
- atdb / dbta: Short report to binary database translation (UNIX)
- Channel access: Communication layer between
- dbLoadRecords/dbLoadTemplates: Support for loading ASCII database files directly (VxWorks)
- Record support: The basic building blocks of EPICS applications (VxWorks)
- Device support: Glue layer between record and driver support (VxWorks)
- Driver support: Hardware interface (VxWorks)
- State notation compiler: Compiler for state-based programs (UNIX)
- Sequencer: Run-time environment for state-based programs (VxWorks)
- ASCII files: A set of files that describe EPICS databases and hardware
- getrel / makesdr: Application directory support (UNIX)
- libCom: Common libraries for base and extensions (UNIX / VxWorks)
An EPICS extension may be obtained from the site that developed it. Here is a partial list of extensions and where to obtain them:
- alh: Alarm handler (ANL)
- applSR: Application source/release control system (ANL)
- applSetupDir: Simple application directory environment (LANL)
- archiver: Archiver and TCL/TK based data extraction tools (LANL)
- burt: Backup and restore tool (ANL)
- ca Simple channel access library and programs (ANL)
- cau: Channel access utility (ANL)
- condition: Programs for degaussing and standardizing magnets (ANL)
- dalib: Device access library (ANL)
- dp: Graphical Motif-based parameter display page (ANL)
- edif2sr: EDIF database representation to EPICS short report translator (LANL)
- gvxi: vxi support library (LANL)
- km: Knob manager (ANL)
- knobconfig: Knob configurer (ANL)
- libUnix: Unix utilities library (ANL)
- math: EPICS interface to Mathematica (ANL)
- mdct: Graphical Motif-based database editor (ANL)
- medm: Motif-based operator interface, OPI (ANL)
- opi: edd / dm: OPI editor and run-time environment (LANL)
- orbitscreen: Graphical Motif-based display of arrays of channel access data (ANL)
- probe: Graphical Motif-based display and modification of channel access data (ANL)
- pvwave: EPICS interface to PV-WAVE (ANL)
- rampload: Program for loading ramp tables into ramptable records (ANL)
- sdds: Self Describing Data Sets toolkit (ANL)
- snaps: Channel access data snapshot facility (ANL)
- stripTool: Channel access data stripchart tool (ANL)
- wingz: EPICS interface to Wingz (ANL)
- xmca: Motif-based X-window Monitoring of Channel Access data (ANL)
- xmseq: Motif-based run-time sequencer development environment (ANL)
Jim Kowalkowski (ANL) and John Winans (ANL) developed the first set of config files to replace the original imake files. This first set provided support to build extension products for a single architecture. Janet Anderson (ANL) took over this responsibility and, working with the various tools developers, unbundled the tools that now reside in extensions (the original version used the term add_on products rather than extensions).
Matthew Needes (LANL) and Mike Bordua (LBL) then completely revised the config files in order to address portability concerns and support multiple architectures simultaneously in EPICS base. In addition they took time to greatly simplify the structure of individual makefiles as well as make them more consistent. The configuration files now support single host and multiple target architectures simultaneously. Janet Anderson made further changes to fix what Matt Needes broke in the extensions. She added support for make depends and added refinements to the make environment.
Matt Bickley and Johnny Tang of CEBAF developed the HP architecture specific config files. In addition, Pratik Gupta (CEBAF) made extensive changes in the source code, increasing its portability. Mark Anderson (ANL) developed DEC alpha/OSF configuration files.
Table of Contents Next Chapter