EPICS

EPICS Seq Module

Module Owner:
William Lupton
This page is the home of the EPICS Seq module, which provides a state notation compiler and run-time support for implementing state transition diagrams in an EPICS environment. Versions prior to 2.0.0 can only run under VxWorks. Versions 2.0.0 or later can run in any environment which implements the OSI layer (introduced at EPICS R3.14).

This site gives access to the software source code, information on other modules which are needed to install and run it, and documentation on how to include and use it in your EPICS applications.

Please email any comments and bug reports to William Lupton who is responsible for coordinating development and releases. Rozelle Wright and Greg White are also familiar with this module and may be willing to help with some problems.

Where to Find it

You can download the software by anonymous ftp from the W. M. Keck Observatory ftp site at ftp://ftp.keck.hawaii.edu/pub/epics/seq, or directly from the links in the table below:
 
Module Version EPICS Release Filename Notes
1.9.4
R3.13.x  seq-1.9.4.tar.gz
2.0.0 
R3.14.x seq-2.0.0.tar.gz Not yet available

Required Modules

Applications using this software will also need these other modules to be installed:
 
Seq Version  Requires module Release needed
1.9.4
EPICS base R3.13.x 
2.0.0 
EPICS base R3.14.x 

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).
  1. Create an installation directory for the module; usually this will be of the form /path/to/module/seq.
  2. Unpacking the distribution tar file produces a <supporttop> sub-directory named after the version number, e.g. seq-1.9.4.
  3. Edit the config/RELEASE file and set the paths to your installation of EPICS.
  4. Run gnumake in the top level directory and check for any compilation errors.
  5. Please email William Lupton so he can keep track of which sites are using this software.

Application Installation

To use the installed and built support software in an <ioctop> application, make the following changes to the application:
  1. Ensure that it is not using the version of snc from EPICS base (EPICS base does not contain a file called libSeq so this is not a problem)
  2. Edit the config/RELEASE file and add the line
    1. SEQ=/path/to/module/seq/version
  3. Edit the config/CONFIG_APP file and add the lines
    1. ifdef SEQ
      USR_INCLUDES += -I$(SEQ)/include
      SEQ_BIN = $(SEQ)/bin/$(T_A)
      endif
  4. In the application source directory if the EPICS base object files are linked together, edit Makefile.Vx and add
    1. ifdef SEQ
      LIBOJBS += $(SEQ_BIN)/seqLib
      endif
  5. Pending a better way of doing this, arrange to use the correct version of snc (state notation compiler) by editing config/CONFIG and adding
    1. ifdef SEQ
      SNC = $(SEQ)/bin/$(HOST_ARCH)/snc
      endif
  6. Rebuild the application and use the newly installed module as desired.

Documentation

The following documentation is available:

In Use

This software was originally developed by Andy Kozubal at Los Alamos National Laboratory (LANL). It has subsequently been developed by William Lupton at  the W. M. Keck Observatory (Keck), with contributions by Greg White of Stanford Linear Accelerator Center (SLAC). Versions up to 1.9.2 were part of EPICS base and were or are being used at most EPICS sites.

Version 1.9.3 has been used at various EPICS sites, including

Version 1.9.4 is the first version to be distributed as an unbundled module. It is being used at the following EPICS sites: Version 2.0.0 is the first version which runs under operating systems other than VxWorks. It is being used at the following EPICS sites:
William Lupton, 13-Oct-99