2.0.11 notes.
Annotate for file NOTESbyMRK
2004-04-30 Marty 1 The following breifly describes changes to the existing SEQ documentation
19:39:33 ' 2 in order to built sequence programs with the EPICS base 3.14 releases.
' 3
' 4 New Compiler Option
' 5
' 6 +i Code will be generated to automatically register sequence functions
' 7 and state programs. This is the default
' 8
' 9 -i Do not generate registration code. Only useful on vxWorks to save a small amount of memory.
' 10
' 11 Compiling and linking a state program under Unix.
' 12
' 13 The exampleApp supplied with base demonstrates how to build sequence programs
' 14 that work with epics databases.
' 15 It also shows how to build a sequence program that runs without databases.
2005-02-25 Marty 16 When you run a standalone sequencer the -s option provides iocsh.
16:32:34 ' 17 If the -s option is not given no shell is started.
' 18 For example
' 19 ./sncProgram -s "user=mrkHost"
' 20 epics>
' 21 The iocsh shell provides a help command to see what commands are available.
' 22
' 23
2004-04-30 Marty 24
19:39:33 ' 25 test/simple also shows how to build a sequence program that runs
' 26 without databases running in the same process.
' 27
' 28 Release History for releases that work with EPICS base 3.14.
2003-09-12 Andrew 29 --------------
18:09:59 ' 30
2006-03-30 Andrew 31 Version 2.0.11 contains the following changes:
21:28:38 ' 32
' 33 A bugfix in src/seq/seq_ca.c found by Stephanie Allison and Till Straumann.
' 34
' 35 Moved the PV build configuration variables from configure/RELEASE to the new
' 36 CONFIG_SITE file, and moved CONFIG_APP functionality into CONFIG. Also set
' 37 CHECK_RELEASE to YES by default in configure/Makefile.
' 38
2005-01-31 Marty 39 Version 2.0.10 contains the new diagnostic
13:59:34 ' 40
' 41 seqcar(verbosity)
' 42
' 43 This produces report about all the channel access connections from sequence
' 44 programs.
' 45
2004-04-30 Marty 46 Version 2.0.9 contains the following changes
19:39:33 ' 47
' 48 seq_connect now initializes assignCount and numMonitoredChans BEFORE connecting
' 49 to the PVs. With the previous versions it was possible to signal that everything
' 50 was connected and the first monitor received before it actually happened.
' 51
' 52 Version 2.0.8 contains the following changes
' 53
' 54 seq_main.c was casting a pointer to an int. On some architectures this caused
' 55 a warning message.
' 56
' 57 Support for cygwin32 om windows was added.
' 58
' 59 test/pv/ was still still using osiThread.h. This is replaced bt epicsThread.
' 60
' 61 test/simple and test/validate now use EPICS_BASE_IOC_LIBS instead
' 62 of EPICS_BASE_HOST_LIBS.
' 63
2003-10-06 Marty 64 Version 2.0.7 contains the following changes
16:20:12 ' 65
' 66 A sequence program could wait up to 20 seconds before all PVs connect and
' 67 the first monitor occurs for each monitored PV. This could happen even
' 68 if all PVs are local. This is now fixed.
' 69
2003-09-24 Marty 70 Version 2.0.6 contains the following changes.
18:35:42 ' 71
' 72 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
' 73 value of a PV before it is given a value.
' 74
2003-09-12 Andrew 75 Version 2.0.5 of the sequencer contains the following changes:
18:09:59 ' 76
' 77 Replaced the C++ static constructor used for command registration with a
' 78 generated registrar routine that must be listed in an IOC's xxxInclude.dbd file
' 79 for use on on non-vxWorks systems. This approach permits sequence programs to
' 80 be placed in an external support library and pulled in automatically by adding
' 81 the registrar() statement in the xxxInclude.dbd and linking the IOC application
' 82 against that library. For a sequence program that starts:
' 83 program demo ...
' 84 the dbd file should contain the statement
' 85 registrar(demoRegistrar)
' 86 This is only required for applications that use the iocshell, vxWorks IOCs will
' 87 work as before.
' 88
' 89
' 90 Modifications to the demo/test programs needed to run these under Base
' 91 R3.14.3.
2003-08-07 Marty 92
14:37:14 ' 93 The config directory has been removed.
' 94
' 95 Replaced devSequencer.c with version supplied by Kukhee Kim, SLAC
' 96
2003-05-21 Marty 97 Version seq-2-0-4 of the sequencer
19:05:08 ' 98
' 99 Changes have been made to follow the R3.14.2 build rules.
' 100 Generate an example application to see how to build sequencer applications.
' 101 Note that this version requires R3.14.2 of base.
' 102
' 103
2001-04-09 Marty 104 Version 2.0.1 of the Sequencer
2001-03-19 Marty 105
2001-04-09 Marty 106 Marty Kraimer
2001-03-19 Marty 107
21:33:30 ' 108
2001-04-09 Marty 109 Eric Norum, Janet Anderson, and I spent some time making the sequencer work
15:42:39 ' 110 with EPICS release 3.14.0alpha2. We are NOT responsible for the sequencer.
' 111 Version 2.0.1 should be considered an interim release until
' 112 Greg White and Ron Chestnut have time to become familiar with
' 113 the changes we made.
2001-03-19 Marty 114
2001-04-09 Marty 115 We did not update the SNL/SEQ manual. The following breifly describes
15:42:39 ' 116 documentation changes needed for the 2.0.0 reference manual.
2001-03-19 Marty 117
2001-04-09 Marty 118 New Compiler Option
2001-03-19 Marty 119
21:33:30 ' 120 +i Code will be generated to automatically register sequence functions
' 121 and state programs. This is the default
' 122
' 123 -i Do not generate registration code. Only useful on vxWorks to save a small amount of memory.
' 124
' 125 Compiling and linking a state program under Unix.
' 126
' 127 The exampleApp supplied with base demonstrates how to build sequence programs
' 128 that work with epics databases.
2001-04-09 Marty 129 It also shows how to build a sequence program that runs without databases.
2001-03-19 Marty 130
2001-04-09 Marty 131 test/simple also shows how to build a sequence program that runs
2001-03-19 Marty 132 without databases running in the same process.
21:33:30 ' 133
' 134 The main program generated by the +m compiler options looks like.
' 135
' 136 int main(int argc,char *argv[]) {
' 137 char * macro_def;
' 138 epicsThreadId threadId;
2001-05-17 W. 139 int callIocsh = 0;
2001-03-19 Marty 140 if(argc>1 && strcmp(argv[1],"-s")==0) {
2001-05-17 W. 141 callIocsh=1;
2001-03-19 Marty 142 --argc; ++argv;
21:33:30 ' 143 }
' 144 macro_def = (argc>1)?argv[1]:NULL;
' 145 threadId = seq((void *)&snctest, macro_def, 0);
2001-05-17 W. 146 if(callIocsh) {
18:25:17 ' 147 iocsh(0);
2001-03-19 Marty 148 } else {
21:33:30 ' 149 epicsThreadExitMain();
' 150 }
' 151 return(0);
' 152 }
' 153
' 154
2001-04-09 Marty 155 Such a program is invoked via the call like
2001-03-19 Marty 156
2001-04-09 Marty 157 <name> -s "xxx=xxx,..."
2001-03-19 Marty 158
21:33:30 ' 159 If the -s option is specified iocsh is started. This allows the user
' 160 to issue sequence commands like seqShow. If the -s option is not given,
2001-04-09 Marty 161 the shell is not started. If a program is started as a background process
15:42:39 ' 162 the -s option should not be specified.
2001-03-19 Marty 163
21:33:30 ' 164 The other option argument is macro substitutions.
2001-04-09 Marty 165
15:42:39 ' 166 Comments about changes made for release 2.0.1
' 167
' 168 I think config should be removed. Just require 3.14 and later
' 169
' 170
' 171 in test/simple and test/validate
' 172 assign v to "grw:xxxExample";
' 173 changed to
' 174 assign v to "{user}:xxxExample";
' 175
' 176 in src/dev
' 177 dev.c renamed to devSequencer.c
' 178 seq.dbd renamed to devSequencer.dbd
' 179
' 180 in src/snc
' 181 The generated main program is different. See below
' 182 New option -i. See above
' 183 Made many changes to get rid of warning messages.
' 184
' 185 in src/seq
' 186 seq now returns an epicsThreadId
' 187 all addesses now printed with %p
' 188 several epicsPrintf replaced with printf.
' 189 Got rid of simple shell supplied by seq. No longer needed.
' 190
' 191 in src/pv
' 192
' 193 Only LIBRARY = pv is generated. It includes the stuff
' 194 that was in pvKtl, pvCa, and pvFile if they are requested.
' 195 This was done because the old way caused a circircular dependency
' 196 that is not accepted by windows.
' 197