Release History for releases that work with EPICS base 3.14. -------------- Version 2.0.12 contains the following changes: Directory dependencies to permit building with the parallel make option -j. Library dependencies changes to match EPICS Base R3.14.10. Added the routine seqcaStats to src/seq/seq_qry.c Cleaned up compiler warnings in src/snc Version 2.0.11 contains the following changes: A bugfix in src/seq/seq_ca.c found by Stephanie Allison and Till Straumann. Moved the PV build configuration variables from configure/RELEASE to the new CONFIG_SITE file, and moved CONFIG_APP functionality into CONFIG. Also set CHECK_RELEASE to YES by default in configure/Makefile. Version 2.0.10 contains the new diagnostic seqcar(verbosity) This produces report about all the channel access connections from sequence programs. Version 2.0.9 contains the following changes seq_connect now initializes assignCount and numMonitoredChans BEFORE connecting to the PVs. With the previous versions it was possible to signal that everything was connected and the first monitor received before it actually happened. Version 2.0.8 contains the following changes seq_main.c was casting a pointer to an int. On some architectures this caused a warning message. Support for cygwin32 om windows was added. test/pv/ was still still using osiThread.h. This is replaced bt epicsThread. test/simple and test/validate now use EPICS_BASE_IOC_LIBS instead of EPICS_BASE_HOST_LIBS. Version 2.0.7 contains the following changes A sequence program could wait up to 20 seconds before all PVs connect and the first monitor occurs for each monitored PV. This could happen even if all PVs are local. This is now fixed. Version 2.0.6 contains the following changes. When looking to see if all PVs have connected it now looks for first monitor coming back as well as all PVs connecting. This prevents the chance of using the value of a PV before it is given a value. Version 2.0.5 of the sequencer contains the following changes: Replaced the C++ static constructor used for command registration with a generated registrar routine that must be listed in an IOC's xxxInclude.dbd file for use on on non-vxWorks systems. This approach permits sequence programs to be placed in an external support library and pulled in automatically by adding the registrar() statement in the xxxInclude.dbd and linking the IOC application against that library. For a sequence program that starts: program demo ... the dbd file should contain the statement registrar(demoRegistrar) This is only required for applications that use the iocshell, vxWorks IOCs will work as before. Modifications to the demo/test programs needed to run these under Base R3.14.3. The config directory has been removed. Replaced devSequencer.c with version supplied by Kukhee Kim, SLAC Version seq-2-0-4 of the sequencer Changes have been made to follow the R3.14.2 build rules. Generate an example application to see how to build sequencer applications. Note that this version requires R3.14.2 of base. Version 2.0.1 of the Sequencer Marty Kraimer Eric Norum, Janet Anderson, and I spent some time making the sequencer work with EPICS release 3.14.0alpha2. We are NOT responsible for the sequencer. Version 2.0.1 should be considered an interim release until Greg White and Ron Chestnut have time to become familiar with the changes we made. We did not update the SNL/SEQ manual. The following breifly describes documentation changes needed for the 2.0.0 reference manual. New Compiler Option +i Code will be generated to automatically register sequence functions and state programs. This is the default -i Do not generate registration code. Only useful on vxWorks to save a small amount of memory. Compiling and linking a state program under Unix. The exampleApp supplied with base demonstrates how to build sequence programs that work with epics databases. It also shows how to build a sequence program that runs without databases. test/simple also shows how to build a sequence program that runs without databases running in the same process. The main program generated by the +m compiler options looks like. int main(int argc,char *argv[]) { char * macro_def; epicsThreadId threadId; int callIocsh = 0; if(argc>1 && strcmp(argv[1],"-s")==0) { callIocsh=1; --argc; ++argv; } macro_def = (argc>1)?argv[1]:NULL; threadId = seq((void *)&snctest, macro_def, 0); if(callIocsh) { iocsh(0); } else { epicsThreadExitMain(); } return(0); } Such a program is invoked via the call like -s "xxx=xxx,..." If the -s option is specified iocsh is started. This allows the user to issue sequence commands like seqShow. If the -s option is not given, the shell is not started. If a program is started as a background process the -s option should not be specified. The other option argument is macro substitutions. Comments about changes made for release 2.0.1 I think config should be removed. Just require 3.14 and later in test/simple and test/validate assign v to "grw:xxxExample"; changed to assign v to "{user}:xxxExample"; in src/dev dev.c renamed to devSequencer.c seq.dbd renamed to devSequencer.dbd in src/snc The generated main program is different. See below New option -i. See above Made many changes to get rid of warning messages. in src/seq seq now returns an epicsThreadId all addesses now printed with %p several epicsPrintf replaced with printf. Got rid of simple shell supplied by seq. No longer needed. in src/pv Only LIBRARY = pv is generated. It includes the stuff that was in pvKtl, pvCa, and pvFile if they are requested. This was done because the old way caused a circircular dependency that is not accepted by windows.