diff --git a/RELEASE_NOTES.html b/RELEASE_NOTES.html
index 8c3b5bfa6..136bee5fb 100644
--- a/RELEASE_NOTES.html
+++ b/RELEASE_NOTES.html
@@ -1,202 +1,395 @@
-
- EPICS Release baseR3.13.0.beta11
+
+
+ EPICS Release baseR3.13.0.beta12
-
-EPICS Release baseR3.13.0.beta11
-
-July 17, 1997
-
-All major functionality that will be in R3.13 is now in place. It has
-been build on solaris, sunos, HPUX, alpha, SG, and winXX.
-There are still some c++ related problems. In particular c++ code
-does not build properly on SGI. Thus we are not yet ready for the
-first official 3.13 release. Since none of the c++ code is necessary
-for IOC applications this should not stop anyone from upgrading to 3.13.
+
+EPICS Release baseR3.13.0.beta12
+
+Feb 19, 1998
+All major functionality that will be in R3.13 is now in place. It has been
+build on solaris, sunos, HPUX, alpha, SG, and winXX. There are still some
+c++ related problems. In particular c++ code does not build properly on
+SGI. Thus we are not yet ready for the first official 3.13 release. Since
+none of the c++ code is necessary for IOC applications this should not
+stop anyone from upgrading to 3.13.
The Application Developer's Guide is a major revision of the 3.12 edition.
All Application Developer's should get a hard copy (from the postscript
version) and read it. It describes the features in the latest release.
-The latest version is for beta11 base release.
+The latest version is for beta11 base release.
LANL has a revision of the Record Reference Manual available. See the
-LANL EPICS documentation.
+LANL EPICS documentation.
-The document "EPICS
-IOC Applications: Building and Source/Release Control" provides
-guidlines for developing applications with 3.13.
+The document "EPICS
+IOC Applications: Building and Source/Release Control" provides guidlines
+for developing applications with 3.13.
+
+Changes between beta11 and beta12
-Changes between beta4 and beta11
+
+IOC Applications: Building
+The config.CONFIG_APP file must be edited. Remove the following lines:
+ifndef T_A
+T_A = $(HOST_ARCH)
+endif #ifndef T_A
-Support for win95 and winNT
+
+aoRecord
+This did not work properly if DOL is a channel access link that fails.
+
+Access Security
+Previously it was possible to crash an IOC if access security was restarted
+after iocInit. This is now fixed. Two major changes were made.
+
+-
+asCaTask is no ]longer deleted and restarted. Instead it just clears all
+channels and than adds the new channels
-Epics base now builds on windows platforms
+-
+The locking mechanism was changed and made more roibust and easier to understand.
-GDD and Portable Channel Access Server
+-
+Fixed bug that caused asRegisterClientCallback to fail on UNIX.
-The gdd library and the portable channel access server now build on
-all platforms, except SGI and cygwin32, listed above.
-This also means that C++ is supported on these platforms.
+-
+asLib_lex.l changed to allow more characters(like dbLoadxxx)
+
+Access Security now supports macro substitutions. A new vxWorks shell command
+is:
+
+asSetSubstitutions("var1=sub1,var2=sub2,..."
+The Application developer's Guide was updated.
+
+tsdefs.h and tsSubr.c
+tsTextToStamp and tsTimeTextToStamp no longer modify the pointer or the
+string referenced by pText.
-Application Developer's Guide
+The nextField routines used by tsSubr were moved inside tsSubr.c
+and made static routines.
+
+drvTS
+Checked for Y2K complience. It turns out it was even ok when NTP time overflows
+in 2036. However it was modified so that no overflows should occur while
+converting between NTP, UNIX, and EPICS epochs. In addition the conversion
+of fractions of a second to nanaoseconds was changed and formatting was
+changed so that interesting code does not run off right side of page. Hopefully
+EPICS base is now fine for Y2K. In fact it should be fine (as far as time
+is converned) until the Unix epoch overflows a 32 unsigned integer in the
+year 2106.
+
+
+nextFieldSubr.c
+Removed from base.
+
+vxWorks
+Base now builds with either vxWorks 5.2 or vxWorks 5.3. The default is
+to build vxWorks 5.3. In CONFIG_COMMON a new definition "VX_IS_TORNADO
+= 1" is present. If this statemant is commented out then vxWorks 5.2 is
+assumed.
+
+makeBaseApp
+Only the perl version is now supported. Due to encouragement from Rozelle
+Wright (LANL) and the developers at BESSY, makeBaseApp now uses template
+files instead of being one huge ugly perl script. It is now executed as
+<base>/bin/<arch>/makeBaseApp.pl -e
+or
+<base>/bin/<arch>/makeBaseApp.pl -i ioc ...
+or
+<base>/bin/<arch>/makeBaseApp.pl app ...
-The chapter "Building IOC Applications" is gone. It is replaced
-by the document "EPICS IOC Applications, Building and Source/Release
-Control". Other changes are minor. Following is a brief list:
+
+See the new WWW documentation on Application Source Release for details
+
+
+dbStaticLib
+The include path now supports the unix convention that an empty directory
+name means the current directory. Thus the following are OK
+-I nnn::mmm # Current directory is between nnn and mmm
+-I :nnn # Current directiry is first
+-I nnn: # Current directiry is last
+The lex grammer was changed so that it for quoted strings can contain any
+ascii character except a quote. A quote itself can be given as the escape
+sequence \". This same change was made to dbLoadRecords and dbLoadTemplates.
+
+For all fields in a .db file, a non null string is considered as not
+the default.
+
+
For winNT the path seperator is a ;
+
+
Field attributes (psuedo fields) are now supported. In particular RTYP
+(record type) and VERS (verssion) mare now supported. In addition a new
+request type DBR_CLASS is supported. See Application Developer's guide
+for details.
+
+base.dbd
-- Database Definition: General Rules describes escape sequences
+-
+Soft raw device support is uncommenmted
-- Record Support: All record support methods that accept DBADDDR * now
-use the routine dbGetFieldIndex instead of comparing addresses.
-IOn addition the get_enum_str routines now use paddr->pfield
-as the field address instead of the field in the record.
-
-- Runtime Database Access: Gives brief description of DBR_PUT_ACKT and
-DBR_PUT_ACKS. Also describes new routine dbGetPdbaddrFromLink
-- The chapter "IOC Initialization" describes how to configure the
-error message logger.
+
Device support for the Allen Bradley SLC is changed.It is now:
+#device(ai,AB_IO,devAiAbSlcDcm,"AB-SLC500DCM")
+#device(ai,AB_IO,devAiAbSlcDcmSigned,"AB-SLC500DCM-Signed")
+#device(ao,AB_IO,devAoAbSlcDcm,"AB-SLC500DCM")
+#device(longin,AB_IO,devLiAbSlcDcm,"AB-SLC500DCM")
+#device(longout,AB_IO,devLoAbSlcDcm,"AB-SLC500DCM")
-NOTE: The initHooks described in the appDevGuide is not in beta11.
+
+initHooks
+Changed to support initHookRegister. See Application Developer's Guide
+for details. The 3.13.0beta11 version explains the new method. Note that
+to use the new the startup file must contain the statement:
+ld < bin/initHooks.o
+
+If you have your own version of initHooks.c it should be changed to support
+the new features. At a minumum the statement
+
+void initHooks( int state)
+
+must be changed to
+
+ void initHooks( initHookState state)
+
+
+menuAlarmStat.dbd
+The no alarm string changed from "" to "NO_ALARM"
+
+Linear Conversion for ai and ao records:
+Before beginning it should be stated that the previous linear conversion
+method is still valid.
+
+The following, which is designed by Benjamin Franksen at BESSY, is now
+the recommended method:
+
+
A new field EOFF exists. The new linear conversion algorithm is
+now
+
VAL = AVAL * ESLO + EOFF
+
+AVAL is the raw value adjusted by ASLO and AOFF.
+
+Thus device support should now compute ESLO and EOFF instead of ESLO
+and ROFF.
+
+
For example let an ADC be a 16 bits adc with raw values between -32767
+and 32767.
+
ESLO = (EGUH - EGUL)/65535.0;
+EOFF = 0.0;
+
+NOTES:
+
+-
+Device support may compute either ROFF or EOFF but not both.
+
+-
+Record support sets EOFF = EGUL before calling the device init_record.
+This is done so that for old device supports (those that do not set the
+EOFF field) the above formula becomes:
+
+
VAL = AVAL * ESLO + EGUL
+
+The original bi-polar adc device support modules added a "bias" to
+the raw value so that the raw value is >= 0. When they were written neither
+RVAL or EOFF existed.
+
+
+64 bit architectures
+Some changes were made to build on 64 bit architectures. A new include
+and source file (adjustment.h and adjustment.c) were created to aid this
+support. We can thank Peregrine McGehee for this new support.
+
+errlog
+This is a replacement for the old code that implemented errMessage, errPrintf,
+and epicsPrintf. It provides for multiple system wide error loggers. The
+existing iocLog has been modified to use the new code. The new code supports
+the old calls and adds some new calls. See Application Developer's guide
+for details.
+
+
+devABSLCDCM
+Changed Scl to Slc wherever this occured. Added support for signed 16 bit
+analog values. Stephanie Allison (SLAC) made these changes.
+
+
+devMpc
+Removed from base.
+
+devVXStats
+Major rewrite of this routine. It computes the cpu usage via a low priority
+taks rather than using spy. It reports file descriptor usage rather than
+tcp connections (this is what is actually measures). The format of the
+INP ,and OUT fields has changed since the previous version. The new
+device definitions are:
+device(ai,INST_IO,devAiVXStats,"VX stats")
+device(ao,INST_IO,devAoVXStats,"VX stats")
+
+The INP fields now have the form
+field(INP,"@memory")
+field(INP,"@cpu")
+field(INP,"@fd")
+
+The OUT fields now have the form
+field(OUT,"@memoryScanRate")
+field(OUT,"@fdScanRate")
+field(OUT,"@cpuScanRate")
+
+The source file has comments showing a sample database.
+
+devSymb
+This has been drastically changed. ??????? what to say
+
+Changes between beta4 and beta11
+
+
+Support for win95 and winNT
+Epics base now builds on windows platforms
+
+GDD and Portable Channel Access Server
+The gdd library and the portable channel access server now build on all
+platforms, except SGI and cygwin32, listed above. This also means that
+C++ is supported on these platforms.
+
+Application Developer's Guide
+The chapter "Building IOC Applications" is gone. It is replaced by the
+document "EPICS IOC Applications, Building and Source/Release Control".
+Other changes are minor. Following is a brief list:
+
+-
+Database Definition: General Rules describes escape sequences
+
+-
+Record Support: All record support methods that accept DBADDDR * now use
+the routine dbGetFieldIndex instead of comparing addresses. IOn addition
+the get_enum_str routines now use paddr->pfield as the field address instead
+of the field in the record.
+
+-
+Runtime Database Access: Gives brief description of DBR_PUT_ACKT and DBR_PUT_ACKS.
+Also describes new routine dbGetPdbaddrFromLink
+
+-
+The chapter "IOC Initialization" describes how to configure the error message
+logger.
+
+NOTE: The initHooks described in the appDevGuide is not in beta11.
In beta11 initHooks is the same as previous releases. The new version will
-be in the next release.
-
-
Compiler warning messages:
-
-All of base except drv/old is now being built with
+be in the next release.
+
+
+Compiler warning messages:
+All of base except drv/old is now being built with
VX_WARN_YES = -Wall -pedantic -ansi
-
-Most warning messages have now been eliminated. The remaining messages
-should not be removed without looking hard at code.
-
-recSubArray
-
-get_control_double routine returned incorrect values for fields INDX
-and NELM.
-
-devAiStats
-
-This is now renamed devVXStats. The new device definitions are:
-
-device(ai,VME_IO,devAiVXStats,"VX stats")
-device(ao,VME_IO,devAoVXStats,"VX stats")
-
-Thus if an application has an old base.dbd and baseLIBOBJS
-including definitions for this device support they must be modified.
-
-SysMon device support
-
-This is removed from base. It is for APS designed and build
-VME create system monitoring. The support code is available
-from APS if needed. NOTE: In some beta releases baseLIBOBJS,
-had an include for devSysmon.o. Applications using
-an old version of baseLIBOBJS will not build until this statement is
-deleted.
-
-dbToRecordtypeH
-
-The enums for menus had a comma after last item.
-
-pulseTrainRecord
-
-recGblInitConstantLink for sgl was referencing wrong field.
-
-gphLib
-
-This did not properly support multiple clients in multi-thread environment.
-
-
-dbPvdLib
-
-Modified to be faster.
-
-devMz8311
-
-Use maxCards from module_types.h instead of a #define
-
-calcRecord
-
-Allow CALC to be 40 characters. Increase rpbuf from 184 to 200
-
-mbbiDirectRecord
-
-Add call to refresh_bits.
-
-mbbxDirectRecord
-
-Bx becomes no prompt for mbbi and prompt for mbbo. It was the reverse
-before.
-
-calcoutRecord
-
-A new record type that replaces old wait record. It is like a calc record
-with an output and a delay. It makes the wait record obsolete.
-
-dbAccess
-
-dbGetPdbAddrFromLink is a new routine. It returns NULL for all except
-LINK_DB links, for which it returns the address of the associated DB_ADDR
-structure.
-
-escape characters in database files
-
-dbLoadDatabase, dbLoadRecords, and dbLoadTemplate all allow the standard
+Most warning messages have now been eliminated. The remaining messages
+should not be removed without looking hard at code.
+
+recSubArray
+get_control_double routine returned incorrect values for fields INDX and
+NELM.
+
+devAiStats
+This is now renamed devVXStats. The new device definitions are:
+device(ai,VME_IO,devAiVXStats,"VX stats")
+device(ao,VME_IO,devAoVXStats,"VX stats")
+Thus if an application has an old base.dbd and baseLIBOBJS including definitions
+for this device support they must be modified.
+
+SysMon device support
+This is removed from base. It is for APS designed and build VME create
+system monitoring. The support code is available from APS if needed. NOTE:
+In some beta releases baseLIBOBJS, had an include for devSysmon.o. Applications
+using an old version of baseLIBOBJS will not build until this statement
+is deleted.
+
+dbToRecordtypeH
+The enums for menus had a comma after last item.
+
+pulseTrainRecord
+recGblInitConstantLink for sgl was referencing wrong field.
+
+gphLib
+This did not properly support multiple clients in multi-thread environment.
+
+dbPvdLib
+Modified to be faster.
+
+devMz8311
+Use maxCards from module_types.h instead of a #define
+
+calcRecord
+Allow CALC to be 40 characters. Increase rpbuf from 184 to 200
+
+mbbiDirectRecord
+Add call to refresh_bits.
+
+mbbxDirectRecord
+Bx becomes no prompt for mbbi and prompt for mbbo. It was the reverse before.
+
+calcoutRecord
+A new record type that replaces old wait record. It is like a calc record
+with an output and a delay. It makes the wait record obsolete.
+
+dbAccess
+dbGetPdbAddrFromLink is a new routine. It returns NULL for all except LINK_DB
+links, for which it returns the address of the associated DB_ADDR structure.
+
+escape characters in database files
+dbLoadDatabase, dbLoadRecords, and dbLoadTemplate all allow the standard
C escape sequences in quoted strings. For example a string can contain:
-"\x00 \27 \t" Thus these sequences pass though the lexical analyzer
-.
-
-dbTranslateEscape
-
-A new routine in libCom. It is used to translate escape sequences. It
-is defined in file epicsString.h. It typical place to use this is on parm
-fields that contain escape sequences like "\x00 \27 \t".
-
-Slow booting
-
-iocs with big databases were taking a long time to boot. It was discovered
+"\x00 \27 \t" Thus these sequences pass though the lexical analyzer .
+
+dbTranslateEscape
+A new routine in libCom. It is used to translate escape sequences. It is
+defined in file epicsString.h. It typical place to use this is on parm
+fields that contain escape sequences like "\x00 \27 \t".
+
+Slow booting
+iocs with big databases were taking a long time to boot. It was discovered
that allocating and then freeing small amounts of memeory frequently resulted
-in a VERY long memory free list. This is now fixed.
+in a VERY long memory free list. This is now fixed.
+
+boRecord, mbboRecord
+init_record now initialized the RVAL field.
+
+ProcessCallback
+Benjamin Franksen at BESSY reported a serious bug in the routine ProcessCallback
+(not used in base). It has been fixed.
+
+CALC fields
+postfix and calcPerform (used by calcRecord) have been changed so that
+a 0 byte now ends the postfix expression. Also if postfix detects an illegal
+expression it generates a 0 length postfix string. When calcPerform is
+given a 0 length string it returns a error status. Thus calcRecord no longer
+causes the IOC to crash if an illegal CALC fields is loaded.
+
+Etc.
+Many other minor problems, bugs, etc. were fixed.
+
+
+
+Notes for Release 3.13 of EPICS Base
-boRecord, mbboRecord
-
-init_record now initialized the RVAL field.
-
-ProcessCallback
-
-Benjamin Franksen at BESSY reported a serious bug in the routine
-ProcessCallback (not used in base). It has been fixed.
-
-CALC fields
-
-postfix and calcPerform (used by calcRecord) have been changed
-so that a 0 byte now ends the postfix expression. Also if postfix
-detects an illegal expression it generates a 0 length postfix string.
-When calcPerform is given a 0 length string it returns a error status.
-Thus calcRecord no longer causes the IOC to crash if an illegal
-CALC fields is loaded.
-
-
Etc.
-
-Many other minor problems, bugs, etc. were fixed.
-
-
-
-Notes for Release 3.13 of EPICS Base
-
-
For Release 3.13 major changes have been made to EPICS base. The IOC
Application Developer's Guide has been extensively modified and now describes
release 3.13. If you are upgrading for a 3.12.xxx or earlier release you
-must obtain and read the new App Dev Guide.
+must obtain and read the new App Dev Guide.
In porting EPICS to multiple architectures, the previous method of using
utilities to convert the database definition files to a binary file (default.dctsdr)
@@ -204,78 +397,87 @@ caused problems. The problem is that the binary file is created on one
architecture and used on another. This has worked so far for sun4 and hp
hosts combined with motorola 68xxx processors. As support for more host
and more ioc architectures is developed problems are appearing. This paper
-describes changes that solve the problems.
+describes changes that solve the problems.
Because the changes result in extensive changes to database access,
other changes are also made. The file syntax is changed. The internal database
structures are simplified and also changed to make it easier to support
-runtime add/delete of record types and record instances.
-
-Goals
+runtime add/delete of record types and record instances.
+
+Goals
-- Allow database definition without an EPICS generated binary file.
+-
+Allow database definition without an EPICS generated binary file.
-- Change internal database structures so that runtime add/delete of record
-types and record instances is possible.
+-
+Change internal database structures so that runtime add/delete of record
+types and record instances is possible.
-- Allow each ioc to load and initialize only the record, device, and
-driver support it actually uses.
+-
+Allow each ioc to load and initialize only the record, device, and driver
+support it actually uses.
-Backward Compatibility
+
+Backward Compatibility
-- Minimal changes to existing record/device/driver support. A section
-below describes necessary changes.
+-
+Minimal changes to existing record/device/driver support. A section below
+describes necessary changes.
-- Provide tools to generate new database files from existing default.dctsdr
-
+-
+Provide tools to generate new database files from existing default.dctsdr
-- No or almost no incompatible changes to the dbStatic API. New capabilities
-are of course allowed.
+-
+No or almost no incompatible changes to the dbStatic API. New capabilities
+are of course allowed.
-Incompatibilities
+
+Incompatibilities
-- DCT is no longer supported. A TCL/TK replacement is now available.
-
+-
+DCT is no longer supported. A TCL/TK replacement is now available.
-- The sdr file format (.database files) is no longer supported.
+-
+The sdr file format (.database files) is no longer supported.
-- The old DCT short form format is no longer supported.
+-
+The old DCT short form format is no longer supported.
-- The only way to load record instance definitions into an ioc is the
-record instance format, which is exactly the same as the GDCT .db format.
-
+-
+The only way to load record instance definitions into an ioc is the record
+instance format, which is exactly the same as the GDCT .db format.
-- Any user written code that accesses internal database structures, i.e.
+
-
+Any user written code that accesses internal database structures, i.e.
any code that uses anything described in Chapter 11 (Database Structures)
-of the old Application Developers Guide will have to be changed.
+of the old Application Developers Guide will have to be changed.
-Overview of new database support
-
-EPICS defines a set of database file formats. In addition any of these
+
+Overview of new database support
+EPICS defines a set of database file formats. In addition any of these
files can contain include statements. For each ioc, the application developer
will create a set of files specifying the record types, devices, and drivers
needed for that ioc. Normally a master file will be created which consists
of include statements that bring in record, device, and driver definitions.
Default configurations can be provided for new users or for particular
-applications.
+applications.
Database configuration and utility tools access the database via the
static database access library. This library reads the files. It provides
routines for reading the information in the database and for creating and
modifying record instances. Database definition files can be read incrementally.
-
Other database configuration tools (capfast, relational database systems,
object oriented databases, etc.) can also be used as long as they generate
record instances in the format described below. In this case, however,
it is still necessary to generate the other files because they are needed
-by database access and for record and device support modules.
+by database access and for record and device support modules.
Tools are provided that generate C code from the database files. Header
files are generated for menu and record type definitions. These header
@@ -283,698 +485,706 @@ files are used by record and device support. In addition the record type
definitions contain code which computes field offsets and sizes and record
sizes. This code is compiled by the same cross compiler that is used to
compile other ioc code. Thus cross platform compatibility is achieved.
-
In order to initialize an ioc, all files needed by that ioc have to
be loaded. It is also necessary to load the record/device/driver support
-modules.
-
-Everything is designed so that the following are possible:
+modules.
+Everything is designed so that the following are possible:
-- It is easy to tailor record/device/driver support individually for
-each ioc.
+-
+It is easy to tailor record/device/driver support individually for each
+ioc.
-- It is possible to incrementally add definitions. For example database
-configuration tools do NOT have to load all definitions at startup. New
-definitions can be read at any time. The underlying structures are designed
-so that it is possible to add new definitions after an ioc is initialized.
-Note however that additional changes will be needed after this project
-is complete before on-line add and delete are possible.
+-
+It is possible to incrementally add definitions. For example database configuration
+tools do NOT have to load all definitions at startup. New definitions can
+be read at any time. The underlying structures are designed so that it
+is possible to add new definitions after an ioc is initialized. Note however
+that additional changes will be needed after this project is complete before
+on-line add and delete are possible.
-- It is possible to completely unbundle record support, device support,
-and driver support. Again work will remain before this is a reality.
+-
+It is possible to completely unbundle record support, device support, and
+driver support. Again work will remain before this is a reality.
-
-An additional feature is that, for database configuration tools, record
+An additional feature is that, for database configuration tools, record
instance numeric fields and menu fields are stored as character strings.
-This solves the following problems.
-
+This solves the following problems.
-- Rounding problems caused by converting from string to float and then
-back to string disappear.
+-
+Rounding problems caused by converting from string to float and then back
+to string disappear.
-- For integer fields the user can use the standard c conventions of preceding
+
-
+For integer fields the user can use the standard c conventions of preceding
the value with 0x for hex or 0 for octal. Since the string itself is stored,
-the value will always appear with the prefix.
+the value will always appear with the prefix.
-- Macro definitions are allowed.
+-
+Macro definitions are allowed.
+Another feature is is that it is now possible to distinguish link constants
+with a value of 0 from links that have never been given a value.
-Another feature is is that it is now possible to distinguish link constants
-with a value of 0 from links that have never been given a value.
-
-Other changes have been made while the opportunity was available.
-
+Other changes have been made while the opportunity was available.
-- The config files have been changed considerably. Base now has it's
-own config directory. Extensions (not implemented) can use the config from
+
-
+The config files have been changed considerably. Base now has it's own
+config directory. Extensions (not implemented) can use the config from
the version of base against which it is built as well as supply additional
-config files.
+config files.
-- Field names are no longer limited to four characters. It is NOT a good
+
-
+Field names are no longer limited to four characters. It is NOT a good
idea to use this feature until it has been checked against existing channel
-access clients. If fact it has not been tested at all.
+access clients. If fact it has not been tested at all.
-- The record support modules have been renamed from recXxx.c to xxxRecord.c.
+
-
+The record support modules have been renamed from recXxx.c to xxxRecord.c.
This the name of the database file, include file, and source file are the
-same. Only the extensions are different.
+same. Only the extensions are different.
-- All files in base/include have been moved to an appropriate base/src
-directory. These files are now installed into base/include.
+-
+All files in base/include have been moved to an appropriate base/src directory.
+These files are now installed into base/include.
-Database Definition File format
-
-Formats are defined for the following:
-
+
+Database Definition File format
+Formats are defined for the following:
-- Menu choices.
+-
+Menu choices.
-- Record type description
+-
+Record type description
-- Device choice
+-
+Device choice
-- Driver choice
+-
+Driver choice
-- Breakpoint Conversion Table
+-
+Breakpoint Conversion Table
-- Record Instance.
+-
+Record Instance.
-
-See the Application Developer's Guide for details.
+See the Application Developer's Guide for details.
The menu choices replace the existing global, record, and conversion
choices. The global and record choices are very similar and thus are easy
to combine. The method of handling the old conversion choices is described
-below. That section also describes the breakpoint tables.
+below. That section also describes the breakpoint tables.
The record type description format has been completely changed. It now
-has a "real" syntax. It should be MUCH easier to generate new
-definitions.
+has a "real" syntax. It should be MUCH easier to generate new definitions.
The device choice and driver support definitions are defined so that
-it is easy to provide incremental definitions.
+it is easy to provide incremental definitions.
The record instance format is an extension of the 3.12.beta13 and later
-GDCT .db format.
+GDCT .db format.
Path and include statements are supported. This provides a powerful
tool for combining definitions from many sources. The path is a unix style
-path, i.e. a colon separated list of directory names.
-
-default.dctsdr conversion tools
-
-NOTES
-
+path, i.e. a colon separated list of directory names.
+
+default.dctsdr conversion tools
+NOTES
-- In the following default.dctsdr is optional. If not given the tool
-just looks for the file "default.dctsdr" in the current directory.
-
+-
+In the following default.dctsdr is optional. If not given the tool just
+looks for the file "default.dctsdr" in the current directory.
-- All output files are placed in the directory from which the tool is
-executed.
+-
+All output files are placed in the directory from which the tool is executed.
-
-The following tools are provided:
-
+The following tools are provided:
-- sdr2gblmenu [default.dctsdr]
-All global menus are written as separate files.
+-
+sdr2gblmenu [default.dctsdr]
-- sdr2recordtype record_type record_type.h [default.dctsdr]
-A record type definition file is generated.
+
All global menus are written as separate files.
+-
+sdr2recordtype record_type record_type.h [default.dctsdr]
-- sdr2device [default.dctsdr]
-All device definitions are placed in a file called device.dbd
+
A record type definition file is generated.
+-
+sdr2device [default.dctsdr]
-- sdr2driver [default.dctsdr]
-All driver definitions are placed in a file called driver.dbd
-
+
All device definitions are placed in a file called device.dbd
+
+sdr2driver [default.dctsdr]
-For all utilities the required database definition files are generated
+
All driver definitions are placed in a file called driver.dbd
+For all utilities the required database definition files are generated
from a dctsdr file from a previous epics release. A dctsdr file can be
specified or else the utilities can be run in a directory which contains
default.dctsdr (or a soft link with that name). sdr2recordtype also requires
-the header file generated by a previous epics release.
-
-Conversions - replacement for DBF_CVTCHOICE
-
-Let's briefly review database conversion, i.e. the LINR field for ai
-and ao records.
-
-The allowed conversions are:
+the header file generated by a previous epics release.
+
+Conversions - replacement for DBF_CVTCHOICE
+Let's briefly review database conversion, i.e. the LINR field for ai and
+ao records.
+The allowed conversions are:
-- None
+-
+None
-- Linear
+-
+Linear
-- Breakpoint Tables
+-
+Breakpoint Tables
-
-The main complication results from the breakpoint tables. Previously
-EPICS handled breakpoint tables as follows:
+The main complication results from the breakpoint tables. Previously EPICS
+handled breakpoint tables as follows:
The user prepares files in one of two formats: The first is just a list
-of "raw value, eng units value". The second format is a file
-with a header line followed by a table of raw data values that represent
-data at equally spaced engineering unit values. In either case the ascii
-data is converted to an internal binary format containing breakpoint tables.
-This data is part of default.dctsdr.
-
-Here is how breakpoint table are now handled.
+of "raw value, eng units value". The second format is a file with a header
+line followed by a table of raw data values that represent data at equally
+spaced engineering unit values. In either case the ascii data is converted
+to an internal binary format containing breakpoint tables. This data is
+part of default.dctsdr.
+Here is how breakpoint table are now handled.
-- A new file format is defined for breakpoint tables.
+-
+A new file format is defined for breakpoint tables.
-- A conversion tool, makeBpt, takes as input the second format described
-above and creates the breakpoint table in the new file format.
+-
+A conversion tool, makeBpt, takes as input the second format described
+above and creates the breakpoint table in the new file format.
-- Previously EPICS automatically provided breakpoint tables for TypeJdegC,
+
-
+Previously EPICS automatically provided breakpoint tables for TypeJdegC,
TypeJdegF, TypeKdegC, and TypeKdegF thermocouples. These breakpoint tables
are part of the new epics base. However there are only loaded into an ioc
-if the user includes their definitions.
+if the user includes their definitions.
-- A regular menu definition file menuConvert contains the same definitions
+
-
+A regular menu definition file menuConvert contains the same definitions
as choices as that provided by the 3.12.2 version of epics. The menu includes
-definitions for the epics supplied breakpoint tables.
+definitions for the epics supplied breakpoint tables.
-- The ai and ao records call a routine cvtRawToEngBpt to perform breakpoint
+
-
+The ai and ao records call a routine cvtRawToEngBpt to perform breakpoint
conversions. This routine has been rewritten to to look for breakpoint
-tables obtained from the new breakpoint file format.
+tables obtained from the new breakpoint file format.
-
-One other comment needs to be made about conversions. The Allen Bradley
+One other comment needs to be made about conversions. The Allen Bradley
device support for the IXE module uses the LINR field in a non standard
way. This was a mistake but compatibility must be maintained. Thus menuConvert
-contains a lot of choices used only by the IXE device support.
+contains a lot of choices used only by the IXE device support.
+
+Converting existing applications
-Converting existing applications
+
+Database Configuration Tools
-Database Configuration Tools
+
+DCT - Rather than making major changes to DCT, a TCL/TK replacement has
+been written. The executable is named DCT313.
-DCT - Rather than making major changes to DCT, a TCL/TK replacement
-has been written. The executable is named DCT313.
+
+GDCT - A new version is provided that supports 3.13. The executable is
+named GDCT313.
-GDCT - A new version is provided that supports 3.13. The executable
-is named GDCT313.
-
-CAPFAST
+
+CAPFAST
-- The filter that converts record instance definitions must generate
-the new record instance file format rather than the old short form report.
-Contact Roselle Wright at LANL for details.
+-
+The filter that converts record instance definitions must generate the
+new record instance file format rather than the old short form report.
+Contact Roselle Wright at LANL for details.
-- A tool should be developed that, using static database access, automatically
+
-
+A tool should be developed that, using static database access, automatically
generates the record type description files used by capfast. My guess is
-that this should be easy to do.
+that this should be easy to do.
-Application Source/Release Control
-
-At the present time There are at least three Application Source/Release
+
+Application Source/Release Control
+At the present time There are at least three Application Source/Release
Control Systems in active use. The old technique of having cat_ascii and
replace_ascii directories no longer work. In addition makesdr no longer
exists. The new system offers developers far more flexibility but it also
means that each Application Source/Release Control system has to be modified
to take advantage of the new capabilities. Again the changes in RULES and
-makeBaseApp should make this task easier.
+makeBaseApp should make this task easier.
-The document "EPICS
-IOC Applications: Building and Source/Release Control" describes
-a utility makeBaseApp which can be used for small applications. It also
-provides guidlines that can be used for large applications.
-
-Locally developed Record/Device support
+The document "EPICS
+IOC Applications: Building and Source/Release Control" describes a
+utility makeBaseApp which can be used for small applications. It also provides
+guidlines that can be used for large applications.
+
+Locally developed Record/Device support
-- The dctsdr file and any header files for locally developed record types
-must be saved before performing a getrel to a new version of base.
+-
+The dctsdr file and any header files for locally developed record types
+must be saved before performing a getrel to a new version of base.
-- Any global menus, not supplied with epics, have to be converted via
-the sdr2gblmenu tool. The generated file must be edited to extract the
-locally developed menus.
+-
+Any global menus, not supplied with epics, have to be converted via the
+sdr2gblmenu tool. The generated file must be edited to extract the locally
+developed menus.
-- Any locally developed record type definitions have to be converted
-to the new ascii file format via the sdr2recordtype tool. Note that the
-generated file also contains definitions for any record specific menus.
-
+-
+Any locally developed record type definitions have to be converted to the
+new ascii file format via the sdr2recordtype tool. Note that the generated
+file also contains definitions for any record specific menus.
-- New definitions for locally developed device support must be generated
+
-
+New definitions for locally developed device support must be generated
via the sdr2device tool. The generated file must be edited so that only
-locally developed device support remains.
+locally developed device support remains.
-- New definitions for locally developed driver support must be generated
+
-
+New definitions for locally developed driver support must be generated
via the sdr2driver tool. The generated file must be edited so that only
-locally developed drive support remains.
+locally developed drive support remains.
-- If breakpoint tables have been locally developed. The following should
-be done.
+-
+If breakpoint tables have been locally developed. The following should
+be done.
-- The menuConvert file should be copied from epics and new entries for
-the local breakpoint tables added to the end.
+-
+The menuConvert file should be copied from epics and new entries for the
+local breakpoint tables added to the end.
-- If raw breakpoint tables were previously used, convert them to the
-new breakpoint format (easy to do). If equally spaced data files were used
-the makeBpt tool can be used to create new breakpoint tables.
+-
+If raw breakpoint tables were previously used, convert them to the new
+breakpoint format (easy to do). If equally spaced data files were used
+the makeBpt tool can be used to create new breakpoint tables.
-- The following changes must be made to the record support modules:
+-
+The following changes must be made to the record support modules:
-- The include statement for the record type h file must be surrounded
-by the statements:
+-
+The include statement for the record type h file must be surrounded by
+the statements:
#define GEN_SIZE_OFFSET
-#undef GEN_SIZE_OFFSET
-
+#undef GEN_SIZE_OFFSET
-Any statements that initialize a field from constant links must be
-changed. Such statements always contain the characters "value.value".
-For example:
+
+Any statements that initialize a field from constant links must be changed.
+Such statements always contain the characters "value.value". For example:
- pai->simm = pai->siml.value.value;
+ pai->simm = pai->siml.value.value;
is changed to
- recGblInitConstantLink(&pai->siml,DBF_USHORT,&pai->simm);
-
-
-NOTE: This change also has to be made to any device support that manipulates
-constant links. Normally this is only soft device support.
+ recGblInitConstantLink(&pai->siml,DBF_USHORT,&pai->simm);
+NOTE: This change also has to be made to any device support that manipulates
+constant links. Normally this is only soft device support.
Because it is now possible to distinguish between null links (links
that were never given a value) and CONSTANT links with the value 0, the
code now handles initialization of constant links in a uniform manner.
Several record types in previous versions had special code to handle the
-case of the value 0 for constant links. These have been changed.
-
-If record support uses menus it should be modified to use the enum
-definitions in the generated header files.
+case of the value 0 for constant links. These have been changed.
+
+If record support uses menus it should be modified to use the enum definitions
+in the generated header files.
-dbStaticLib - Some routines have a new name:
+
+dbStaticLib - Some routines have a new name:
-OLD ROUTINE REPLACEMENT
-
-dbFindRecdes dbFindRecordType
-dbFirstRecdes dbFirstRecordType
-dbNextRecdes dbNextRecordType
-dbGetRecdesName dbGetRecordTypeName
-dbGetNRecdes dbGetNRecordTypes
-dbFirstFielddes dbFirstField
-dbNextFielddes dbNextField
-dbGetChoices dbGetMenuChoices
+OLD ROUTINE REPLACEMENT
+
+dbFindRecdes dbFindRecordType
+dbFirstRecdes dbFirstRecordType
+dbNextRecdes dbNextRecordType
+dbGetRecdesName dbGetRecordTypeName
+dbGetNRecdes dbGetNRecordTypes
+dbFirstFielddes dbFirstField
+dbNextFielddes dbNextField
+dbGetChoices dbGetMenuChoices
+For now the old version will be supported. After one release they will
+go away.
+
+New vxWorks CONFIG rules are available to generate menu and record type
+include files from ascii files. The rules are:
-
+ MENUS += menuXXX.h
+ RECTYPES += xxxRecord.h
-For now the old version will be supported. After one release they will
-go away.
-
-New vxWorks CONFIG rules are available to generate menu and record
-type include files from ascii files. The rules are:
-
- MENUS += menuXXX.h
- RECTYPES += xxxRecord.h
-
-
-Changes to recGbl and database access link routines.
+
+Changes to recGbl and database access link routines.
-- recGblInitFastInLink
-recGblInitFastOutLink
-
-All code calling these should be removed. They are no longer needed.
+-
+recGblInitFastInLink
-- recGblGetFastLink
-recGblPutFastLink
-dbFastLinkGet
-dbFastLinkPut
-recGblGetLinkValue
-recGblPutLinkValue
-
-These are replaced by
-dbGetLink dbPutLink
+
recGblInitFastOutLink
+All code calling these should be removed. They are no longer needed.
+
-
+recGblGetFastLink
+
+
recGblPutFastLink
+
dbFastLinkGet
+
dbFastLinkPut
+
recGblGetLinkValue
+
recGblPutLinkValue
+
+These are replaced by
+
dbGetLink dbPutLink
long dbGetLink(struct db_link *,short dbrType,
- void *pbuffer,long *options,long *nRequest);
-
-
-The last two arguments can be 0. options=0 means no options. nRequest=0
-means scalar, i.e. retrieve one value.
-
+ void *pbuffer,long *options,long *nRequest);
+The last two arguments can be 0. options=0 means no options. nRequest=0
+means scalar, i.e. retrieve one value.
long dbPutLink(struct db_link *,short dbrType,
- void *pbuffer,long nRequest);
-
+ void *pbuffer,long nRequest);
-dbCaAddInLink
-dbCaAddOutlink
-dbCaGetLink
-dbCaPutLink
-
-The Add routines are no longer needed. The Get/Put routines are replaced
-by dbGetLink/dbPutLink.
-
+
+dbCaAddInLink
-link.h
-All parm fields are now declared char * parm rather than char parm[]
+
dbCaAddOutlink
+
dbCaGetLink
+
dbCaPutLink
+
+The Add routines are no longer needed. The Get/Put routines are replaced
+by dbGetLink/dbPutLink.
+
+
+link.h
+
+
All parm fields are now declared char * parm rather than char parm[]
In addition the defines INSTIO_FLD_SZ to VXI_PARAM_SZ no longer exist.
-This is done so that unused links now use less storage.
-
+This is done so that unused links now use less storage.
-Record Instance Definitions
+
+Record Instance Definitions
-Convert to proper format
-
-All record instances must be capable of being loaded into an ioc via
-dbLoadDatabase, dbLoadRecords, or dbLoadTemplate. This is the same format
-that dbLoadRecords and dbLoadTemplate used in 3.12 releases. Note that
-if any files contain the statements:
-
- database(x) { nowhere() {
- }
- }
+
+Convert to proper format
+All record instances must be capable of being loaded into an ioc via dbLoadDatabase,
+dbLoadRecords, or dbLoadTemplate. This is the same format that dbLoadRecords
+and dbLoadTemplate used in 3.12 releases. Note that if any files contain
+the statements:
+ database(x) { nowhere() {
+ }
+ }
or
- database(x) {
- }
-
-
-These statements must be removed. They were in pre 3.12 releases.
-
-CONSTANT Links with value "0"
-
-Release 3.13 is now capably of distingushing between a null link (a
-link that is not given any value at all) and a constant link with the value
+ database(x) {
+ }
+These statements must be removed. They were in pre 3.12 releases.
+
+CONSTANT Links with value "0"
+Release 3.13 is now capably of distingushing between a null link (a link
+that is not given any value at all) and a constant link with the value
0. This cause problems for some old record instance files. For example
-if a record instance is defined as:
-
- record(fanout,name) {
- field(SELN,"1")
- field(SELL,"0")
- }
-
-
-Such definitions can be fixed by either completly removing the link
-definition or changing the value from "0" to "".
+if a record instance is defined as:
+ record(fanout,name) {
+ field(SELN,"1")
+ field(SELL,"0")
+ }
+Such definitions can be fixed by either completly removing the link definition
+or changing the value from "0" to "".
here is a complete list of record types and fields that may have this
-problem:
+problem:
+
+-
+fanoutRecord
-- fanoutRecord
-
-
-- SELL -> SELN Note SELN is not a prompt field.
+-
+SELL -> SELN Note SELN is not a prompt field.
-
-pulseCounterRecord
-
+pulseCounterRecord
-- SGL -> SGV
+-
+SGL -> SGV
-
-pulseDelayRecord
-
+pulseDelayRecord
-- STL -> STV
+-
+STL -> STV
-- GLNK -> GATE
+-
+GLNK -> GATE
-
-pulseTrainRecord
-
+pulseTrainRecord
-- SGL -> HGV
-NOTE: This is a bug. The field should be SGV. Fixed 3.13.beta5.
+-
+SGL -> HGV
+
+
NOTE: This is a bug. The field should be SGV. Fixed 3.13.beta5.
+selRecord
+
+-
+INPA -> A NOTE A is not a prompt field
+
+-
+INPB -> B NOTE B is not a prompt field
+
+-
+... for all INP links
-
-selRecord
-
+seqRecord
-- INPA -> A NOTE A is not a prompt field
-
-- INPB -> B NOTE B is not a prompt field
-
-- ... for all INP links
+-
+SELL -> SELN NOTE SELN is not a prompt field
-
-seqRecord
-
+stringinRecord
-- SELL -> SELN NOTE SELN is not a prompt field
+-
+SIOL -> SVAL NOTE SVAL is not a prompt field
-
-stringinRecord
-
+stringoutRecord
-- SIOL -> SVAL NOTE SVAL is not a prompt field
-
-
-stringoutRecord
-
-
-- DOL -> VAL
+-
+DOL -> VAL
+A good way to find these problems is to use grep. For example:
+
grep SELL */*.db
+This assumes that you are in directory that contains subdirectorys containing
+.db files.
+
+IOC Startup files
+The command dbLoad is no longer supported. The new method is to issue one
+or more dbLoadDatabase commands and any combination of dbLoadRecords and
+dbLoadTemplate commands.
+
+Other Release Notes
-A good way to find these problems is to use grep. For example:
-
- grep SELL */*.db
-
-
-This assumes that you are in directory that contains subdirectorys containing
-.db files.
-
-IOC Startup files
-
-The command dbLoad is no longer supported. The new method is to issue
-one or more dbLoadDatabase commands and any combination of dbLoadRecords
-and dbLoadTemplate commands.
-
-Other Release Notes
-
-IOC Test routines
-
-Many changes have been made to the EPICS ioc test routines, i.e., routines
-given to the vxWorks shell. Please read the chapter "IOC Test Facilities"
-in the Application Developer's Guide for details.
-
-Changes to Record and Device Support
+
+IOC Test routines
+Many changes have been made to the EPICS ioc test routines, i.e., routines
+given to the vxWorks shell. Please read the chapter "IOC Test Facilities"
+in the Application Developer's Guide for details.
+
+Changes to Record and Device Support
-- Changes to record support modules (caused by looking for UDF problems)
-
+-
+Changes to record support modules (caused by looking for UDF problems)
-- aaiRecord, aaoRecord - The siol field, which was never used in record
-processing, has been removed from aaiRecord.dbd and aaoRecord.dbd files.
-Old style, pre R3.12, c code in init_record was updated.
+-
+aaiRecord, aaoRecord - The siol field, which was never used in record processing,
+has been removed from aaiRecord.dbd and aaoRecord.dbd files. Old style,
+pre R3.12, c code in init_record was updated.
-- compressRecord - Now allows Channel Access links for INP. It also sets
-READ_ALARM if it has bad or no input.
+-
+compressRecord - Now allows Channel Access links for INP. It also sets
+READ_ALARM if it has bad or no input.
-- dfanoutRecord, longoutRecord - In process the udf field is set to false
-when dbGetLink returns success only if dol is not a constant link.
+-
+dfanoutRecord, longoutRecord - In process the udf field is set to false
+when dbGetLink returns success only if dol is not a constant link.
-- fanoutRecord - Now supports CA links. Same rules as FLNK.
+-
+fanoutRecord - Now supports CA links. Same rules as FLNK.
-- biRecord, mbbiRecord - Udf now set to false in put_enum_string when
-val is initialized.
+-
+biRecord, mbbiRecord - Udf now set to false in put_enum_string when val
+is initialized.
-- mbbiDirectRecord - Udf now set to false in process when val is initialized.
-
+-
+mbbiDirectRecord - Udf now set to false in process when val is initialized.
-- mbbiDirectRecord, mbboDirectRecord, waitRecord - Old style, pre R3.12,
-c code in init_record was updated.
+-
+mbbiDirectRecord, mbboDirectRecord, waitRecord - Old style, pre R3.12,
+c code in init_record was updated.
-- pidRecord - Changes made to modify DB_LINK test on cvl field to allow
-type CA_LINK.
+-
+pidRecord - Changes made to modify DB_LINK test on cvl field to allow type
+CA_LINK.
-- pulseDelayRecord - Removed code that called recGblSetSevr is status
-non zero just before return. process always returns 0.
+-
+pulseDelayRecord - Removed code that called recGblSetSevr is status non
+zero just before return. process always returns 0.
-- pulseTrainRecord - process always returns 0.
+-
+pulseTrainRecord - process always returns 0.
-- seqRecord - Changes made to modify DB_LINK tests on the lnk and dol
-fields to allow type CA_LINK.
+-
+seqRecord - Changes made to modify DB_LINK tests on the lnk and dol fields
+to allow type CA_LINK.
-- steppermotorRecord - In process the udf field is now set to false if
-dol is not a constant link and dbGetLink returns success. Changes made
-to modify DB_LINK test on rdbl field to allow type CA_LINK.
+-
+steppermotorRecord - In process the udf field is now set to false if dol
+is not a constant link and dbGetLink returns success. Changes made to modify
+DB_LINK test on rdbl field to allow type CA_LINK.
-- stringoutRecord - In process the udf field is now set to false if dol
-is not a constant link and dbGetLink returns success.
+-
+stringoutRecord - In process the udf field is now set to false if dol is
+not a constant link and dbGetLink returns success.
-- waveform record - While processing the udf field is now set to false
-if simulation mode is TRUE and siol is not a constant link and dbGetLink
-returns success.
+-
+waveform record - While processing the udf field is now set to false if
+simulation mode is TRUE and siol is not a constant link and dbGetLink returns
+success.
-- Device Support Changes
+-
+Device Support Changes
-- devAiSoft, devBiSoft, devEventSoft, devLiSoft, devMbbiDirectSoft devMbbiSoft,devSiSoft
+
-
+devAiSoft, devBiSoft, devEventSoft, devLiSoft, devMbbiDirectSoft devMbbiSoft,devSiSoft
- In init_record the udf field is set to false only if inp is a constant
link and recGblInitConstantLink returns success. In read_xxx the udf field
is set to false only if inp is not a constant link and dbGetLink returns
-success.
+success.
-- devAiSoftRaw, devBiSoftRaw, devMbbiDirectSoftRaw, devMbbiSoftRaw -
-In init_record the udf field is no longer set to false if inp is a constant
-link and recGblInitConstantLink returns success (rval, not val, was successfully
-initialized).
+-
+devAiSoftRaw, devBiSoftRaw, devMbbiDirectSoftRaw, devMbbiSoftRaw - In init_record
+the udf field is no longer set to false if inp is a constant link and recGblInitConstantLink
+returns success (rval, not val, was successfully initialized).
-- devLoSoft, devLoSymb, devMbboDirectSoft, devMbboSoft, devPtSoft, devSoSymb
-- The udf field is no longer set to false in write_xxx.
+-
+devLoSoft, devLoSymb, devMbboDirectSoft, devMbboSoft, devPtSoft, devSoSymb
+- The udf field is no longer set to false in write_xxx.
-- devHistogramSoft, devHistogramTestAsyn - In init_record the udf field
-is set to false only if svl is a constant link and recGblInitConstantLink
-returns success.
+-
+devHistogramSoft, devHistogramTestAsyn - In init_record the udf field is
+set to false only if svl is a constant link and recGblInitConstantLink
+returns success.
-Make rules and config files
-
-The config environment has been extensively changed. BASE now has its
-own set of config files. Extensions will be able to use the base config
-files (for the version of base it is built against) and add it's own definitions.
-Changes to extensions will come at a future time.
-
-GNU C++ for base
-
-It is now possible to compile 3.13 EPICS base with the gnu C and C++
-compilers. A C++ compiler that properly supports templates is required
-to build the new ca server and the gdd library.
-
-log server
-
-Thanks to William Lupton at KECK the log server will now (under the
-latest EPICS 3.13) obtain a new directory for the log file in response
-to SIGHUP.
-
-CA repeater fix
-
-Thanks to Kim Gillies, Bret Goodrich, and others at NOAO a problem has
-been discovered and fixed in the 3.12 CA repeater under solaris.
-
-Portable CA server
-
-A new CA server C++ class library is available. The server library is
-in libcas.a. The API is described in casdef.h. Doc is in progress. An example
+
+Make rules and config files
+The config environment has been extensively changed. BASE now has its own
+set of config files. Extensions will be able to use the base config files
+(for the version of base it is built against) and add it's own definitions.
+Changes to extensions will come at a future time.
+
+GNU C++ for base
+It is now possible to compile 3.13 EPICS base with the gnu C and C++ compilers.
+A C++ compiler that properly supports templates is required to build the
+new ca server and the gdd library.
+
+log server
+Thanks to William Lupton at KECK the log server will now (under the latest
+EPICS 3.13) obtain a new directory for the log file in response to SIGHUP.
+
+CA repeater fix
+Thanks to Kim Gillies, Bret Goodrich, and others at NOAO a problem has
+been discovered and fixed in the 3.12 CA repeater under solaris.
+
+Portable CA server
+A new CA server C++ class library is available. The server library is in
+libcas.a. The API is described in casdef.h. Doc is in progress. An example
server tool can be found at base/src/cas/example. The server has been tested
under sunos4 and solaris. A multi-threaded version of the new server for
-vxWorks is in progress.
-
-Macro Substitution Library
-
-The macro substitution library discussed in tech-talk is now part of
-epics base. Thus was contributed by Bill Lupton. The static database library
-uses this library. dbLoadRecords and dvbLoadTemplate also use it.
-
-VXI Resource Manager fix
-
-Thanks to Ric Claus of SLAC a bug has been isolated in the VXI resource
-manager.
-Symptom: correct slot isnt located when EPICS_VXI_LA_BASE is set to something
-other than zero.
-
-Access Security
-
-If asSetFile has been set in a startup file and access security initialization
-fails, then iocInit returns -1 so that startup file does not finish.
-
-errPrintf
-
-On Unix this now calls fprintf(stderr instead of printf
-
-iocLogClient.c
-
-This now calls printf instead of epicsPrintf to prevent deadlocks.
-
-Native type for DBF_USHORT
-
-Formerlly old database access, which does not have unsigned short called
-the native type DBR_FLOAT. It now calls it DBF_LONG
-
-Allen Bradley Driver
-
-Analog Output Block Transfers were being requested too frequently
+vxWorks is in progress.
+
+Macro Substitution Library
+The macro substitution library discussed in tech-talk is now part of epics
+base. Thus was contributed by Bill Lupton. The static database library
+uses this library. dbLoadRecords and dvbLoadTemplate also use it.
+
+VXI Resource Manager fix
+Thanks to Ric Claus of SLAC a bug has been isolated in the VXI resource
+manager.
+
Symptom: correct slot isnt located when EPICS_VXI_LA_BASE is set to
+something other than zero.
+
+Access Security
+If asSetFile has been set in a startup file and access security initialization
+fails, then iocInit returns -1 so that startup file does not finish.
+
+errPrintf
+On Unix this now calls fprintf(stderr instead of printf
+
+iocLogClient.c
+This now calls printf instead of epicsPrintf to prevent deadlocks.
+
+Native type for DBF_USHORT
+Formerlly old database access, which does not have unsigned short called
+the native type DBR_FLOAT. It now calls it DBF_LONG
+
+Allen Bradley Driver
+Analog Output Block Transfers were being requested too frequently
If link_status command fails (3 times in succession) adapters are now
-immediatly declared down.
+immediatly declared down.
For btRead and btWrite, The driver now enforces a timeout of 5 seconds
which is 1 second more than scanner itself enforces. This is so that if
-scanner throws away a BT request it will still timeout.
+scanner throws away a BT request it will still timeout.
For btRead and btWrite is is no longer permissible to issue a new btRead
-or btWrite from tha callback routine.
-
-The on line doc has the following two changes:
+or btWrite from tha callback routine.
+The on line doc has the following two changes:
-- abConfigBaud has arguments (link,number) (Old doc was wrong)
+-
+abConfigBaud has arguments (link,number) (Old doc was wrong)
-- Now states that new btRead/btWrite can NOT be ussued from callback.
-
+-
+Now states that new btRead/btWrite can NOT be ussued from callback.
-vmic2534
+
+vmic2534
+Support has been added by LBL. It still needs to be ansified.
+
+New options for links
-Support has been added by LBL. It still needs to be ansified.
+
+FWDLINK
-New options for links
+
A forward link now works between IOCs but only if the field is PROC.
+When recGblFwdLink is executed, a 1 is written.
+
+OUTLINK new option CA (In addition to PP and NPP)
-FWDLINK
-A forward link now works between IOCs but only if the field is PROC. When
-recGblFwdLink is executed, a 1 is written.
-
-OUTLINK new option CA (In addition to PP and NPP)
-CA means always make it channel access link
-
-INLINK new options CA CP CPP (In addition to PP and NPP)
+
CA means always make it channel access link
+
+INLINK new options CA CP CPP (In addition to PP and NPP)
-- CA means always make it a channel access link
+-
+CA means always make it a channel access link
-- CP means CA + process when monitor occurs
+-
+CP means CA + process when monitor occurs
-- CPP means CA + process passive records when monitor occurs
+-
+CPP means CA + process passive records when monitor occurs
-
-dbAccess (dbGetField dbPutField) make sure that link field strings are
-not longer than 39 characters. They allow M for MS and N for NMS
-
-callback and scan task names
-
-The task names have been changed to make them unique
-
-dbPutString
-
-If the strlen of the new field is >= field_size an error is returned.
-
-
-event scanned records
-
-Multiple priorities are now supported.
-WARNING: Default PRIO is low thus old event scanned records may be executed
-at a lower priority then previous release.
-
-Allen Bradley Stepper Motor Support (Ric Claus SLAC)
-
-Support for the allen bradley stepper motor is available. See the APS
-EPICS Hardware Support page for details.
-
-initHooks
-
-INITHOOKafterCaLinkInit1 is replaced by INITHOOKafterCaLinkInit
-INITHOOKafterCaLinkInit2 no longer exists
-
+dbAccess (dbGetField dbPutField) make sure that link field strings are
+not longer than 39 characters. They allow M for MS and N for NMS
+
+callback and scan task names
+The task names have been changed to make them unique
+
+dbPutString
+If the strlen of the new field is >= field_size an error is returned.
+
+event scanned records
+Multiple priorities are now supported.
+
WARNING: Default PRIO is low thus old event scanned records may be
+executed at a lower priority then previous release.
+
+Allen Bradley Stepper Motor Support (Ric Claus SLAC)
+Support for the allen bradley stepper motor is available. See the APS EPICS
+Hardware Support page for details.
+
+initHooks
+INITHOOKafterCaLinkInit1 is replaced by INITHOOKafterCaLinkInit
+
INITHOOKafterCaLinkInit2 no longer exists