EPICS sequencer update - PowerPoint PPT Presentation

About This Presentation
Title:

EPICS sequencer update

Description:

... in the last year. Various minor bug fixes. applied in parallel to 'base' and 'local' ... 'Local' version converted to work with makeBaseApp. in ANL CVS but not ... – PowerPoint PPT presentation

Number of Views:15
Avg rating:3.0/5.0
Slides: 11
Provided by: william579
Category:

less

Transcript and Presenter's Notes

Title: EPICS sequencer update


1
EPICS sequencer update
  • Greg White / William Lupton
  • greg_at_slac.stanford.edu /
  • wlupton_at_keck.hawaii.edu
  • EPICS 99
  • SLAC, May 27, 1999

2
Changes made in the last year
  • Various minor bug fixes
  • applied in parallel to base and local
    versions
  • Local version converted to work with
    makeBaseApp
  • in ANL CVS but not yet released to community
  • Good progress on conversion to use Marty
    Kraimers OSI (operating system independent)
    layer
  • Greg White (SLAC) will be working on syntax
    extensions

3
Local version
  • In use at Keck for 3 years
  • Major change is support for monitor queues
  • dont miss events, even when posted in rapid
    succession
  • useful for subsystem coordination and command
    completion
  • Details at 1997 EPICS collaboration meeting

4
makeBaseApp version
  • Contains the local version
  • NB, question mark over sequencer deletion (may be
    broken in base version too?)
  • Includes Andy Kozubals v1.9 manual
  • will be updated to describe new features
  • Standard version will remain in base for some
    time? (eventually unbundled)
  • individual sites will be able to choose version

5
Running sequencers under Unix
  • Sequencer run-time support code has been
    converted to use Marty Kraimers OSI layer
  • OSI has been implemented for POSIX under Solaris
    and Linux
  • Can run an EPICS sequence (with multiple
    state-sets) as a single Unix task
  • can debug and test using Unix tools
  • can deploy in either environment

6
Further details
  • In sequencer run-time support code,
  • taskXxx() calls become OSIthreadXxx() calls
  • semXxx() calls become OSIsemXxx() calls (etc.)
  • Under Unix, xxx.st becomes executable xxx
  • main thread supports command line input (seqShow
    etc.)
  • Code contains no ifdef SOLARIS tests

7
To be done
  • Tidy up loose ends, e.g.
  • Unix version of taskwd routines (in OSI?)
  • ca_import(), ca_import_cancel()
  • remove libCom.a dependence?
  • Add CDEV support (c.f. medm and alh)
  • Add ability for sequencer to serve its own
    channels?
  • larger issue with OSI, entire IOC functionality
    (except hardware access?) can be replaced by a
    single Unix task
  • Document and make available to community

8
SNL syntax extensions (1)
  • Entry and exit actions
  • entry action before first when
  • exit action after last when
  • Option not to reset delay timer on transition to
    same state
  • when enabled, delay is always measured from
    initial entry to the state

state fred entry / when clauses
/ exit
state fred option t / affects state
/ / reverts to default /
9
SNL syntax extensions (2)
  • Subroutines
  • if no args, can use macro
  • if no PV-assigned names, can use regular C
    routine
  • so only interesting case is where there at least
    one argument is a PV-assigned name
  • Will require pre-declaration of such routines
  • For exampleint xxx( pv, int )
  • implies args are PV-assigned name and int
  • code for xxx() must reside within same SNL module
  • IS THIS WORTH IT?
  • IS IT WHAT IS WANTED?

10
Other SNL additions (from 1997)
  • snc error-reporting improvement
  • ca_put_callback() support
  • support more of C language (init, locals, ?
    etc.)
  • several state-sets to share single task
  • permit hierarchical states
  • hooks for external C code to set and test event
    flags (from ISRs too)
  • comprehensive test suite
  • more?
Write a Comment
User Comments (0)
About PowerShow.com