Presentation is loading. Please wait.

Presentation is loading. Please wait.

EPICS sequencer update Greg White / William Lupton / EPICS ‘99 SLAC, May 27, 1999.

Similar presentations


Presentation on theme: "EPICS sequencer update Greg White / William Lupton / EPICS ‘99 SLAC, May 27, 1999."— Presentation transcript:

1 EPICS sequencer update Greg White / William Lupton greg@slac.stanford.edu / wlupton@keck.hawaii.edu EPICS ‘99 SLAC, May 27, 1999

2 27-May-99EPICS sequencer update2 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 Kraimer’s OSI (operating system independent) layer Greg White (SLAC) will be working on syntax extensions

3 27-May-99EPICS sequencer update3 “Local” version In use at Keck for 3+ years Major change is support for monitor queues –don’t miss events, even when posted in rapid succession –useful for subsystem coordination and command completion Details at 1997 EPICS collaboration meeting

4 27-May-99EPICS sequencer update4 makeBaseApp version Contains the “local” version –NB, question mark over sequencer deletion (may be broken in “base” version too?) Includes Andy Kozubal’s 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 27-May-99EPICS sequencer update5 Running sequencers under Unix Sequencer run-time support code has been converted to use Marty Kraimer’s 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 27-May-99EPICS sequencer update6 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 27-May-99EPICS sequencer update7 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 27-May-99EPICS sequencer update8 SNL syntax extensions (1) Entry and exit actions entry action before first “when” exit action after last “when” state fred { entry { } /* when clauses */ exit { } 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 { option +t; /* affects state */ } /* reverts to default */

9 27-May-99EPICS sequencer update9 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 example int 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 27-May-99EPICS sequencer update10 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?


Download ppt "EPICS sequencer update Greg White / William Lupton / EPICS ‘99 SLAC, May 27, 1999."

Similar presentations


Ads by Google