From 55b72128e444b7a6d4f44dddcd2e1575197962a5 Mon Sep 17 00:00:00 2001
From: Andrew Johnson Database definition (.dbd) files can now contain declarations of simple
+static variables, a facility intended for driver debugging purposes. These
+ macEnvExpand Macro expansion using environment variables as macro definitions Macro expansion using environment variables as macro definitions. iocsh var command For simple applications such as controlling the value of debugging flags.
Devlopers with more complex expression handling requirements should consider
-use of the cexp package.
+use of the cexp package. The available variables are defined
+by the new iocshArgPersistentString Tell iocsh to make a copy of the argument string before passing it to the handler function. Tell iocsh to make a copy of the argument string before passing it to the
+handler function. epicsStrDup Operating-system independent replacement for strdup(). epicsMessageQueueChanges since 3.14.2
+New keyword
+
+variable() supported in dbd filesvariable(name) declarations are preserved by dbExpand, and will
+be converted by registerRecordDeviceDriver.pl into code that registers them
+with iocsh. The variables themselves must be defined in some existing C or
+C++ code and marked using the macro epicsExportAddress(type,
+name). The initial implementation only supports integers, but other
+types will be added soon.variable dbd file keyword.
A bug occurring only in Microsoft Windows port of the error message logging client was fixed. The symptoms were problems getting a Microsoft Windows based IOC to make entries in the log file.
@@ -150,12 +169,12 @@ macParseDefns was not correct.dbStaticLib and related programs now accept a new keyword in DBD files:
function(name)-
Where 'name' is the name of a -function with "C" linkage that is included in the IOC binary. This function -will be automatically registered with the registry at the same time as the -record/device/driver tables, and is intended to make using subroutine records -much easier on non-vxWorks systems.. Prior R3.14 releases required there to -be a static registration routine for such subroutines.
+Where name is the name of a function with "C" linkage that is
+included in the IOC binary. This function will be automatically registered
+with the registry at the same time as the record/device/driver tables, and is
+intended to make using subroutine records much easier on non-vxWorks
+systems.. Prior R3.14 releases required there to be a static registration
+routine for such subroutines.
dbStaticLib has two additional routines to support this, dbDumpFunction() and dbWriteFunctionFP(). dbDumpFunction has been added to the iocsh command @@ -169,8 +188,8 @@ errors are being reported.
Solaris build requirement
-uname must be defined for builds -on solaris hosts because it is used to determine the solaris version.
+uname must be defined for builds on solaris hosts because it
+is used to determine the solaris version.
Linux build note
@@ -182,13 +201,9 @@ such absolute paths to the new make variable SHRLIB_SEARCH_DIRSRULES.Db
-A *[nn].db file will be created from an *.template and a *[nn].substitutions file ,where nn has a value between 0 and 99.
+A *[nn].db file will be created from an
+*.template and a *[nn].substitutions file ,where
+nn has a value between 0 and 99.
Support for 64 bit long
@@ -426,9 +441,9 @@ value recGblSetSevr(psel,SOFT_ALARM,MAJOR_ALARM) is called.cdCommands file
Fixed a bug and revised the use of the IOCS_APPL_TOP setting in an
-application's
dbStaticLib
@@ -488,130 +503,140 @@ release. Build modifications in alpha2 require the following changes to existing R3.14 applications.+ ./configure/RULES.Db
+ ./configure/RULES.registerRecordDeviceDriver
change INSTALLDB - to DB
++ include $(TOP)/configure/RULES.registerRecordDeviceDriver+ +
change DBDINSTALL
- to DBD
-
+ @$(PERL) $(TOOLS)/makeConfigAppInclude.pl $(T_A) $@ $(TOP)+ to + +
+ @$(PERL) $(TOOLS)/makeConfigAppInclude.pl $(EPICS_HOST_ARCH) $(T_A) $@ + $(TOP)+ and add the line + +
+ depends: install+ to the bottom of the Makefile.
+ include $(TOP)/configure/RULES.Db+ to + +
+ include $(TOP)/configure/RULES+
+ DBDNAME = <name>App+ to + +
+ DBD += <name>+ and remove the line
+ DBDEXPAND = <name>Include.dbd+ NOTE: If any of your *App/*Db/Makefiles contain "DBDNAME =" lines you + should make these same changes in that *Db dirctory.
+ RECTYPES=<name>.h+ to + +
+ DBDINC+=<name>+ change + +
+ MENUS=<name>.h+ to + +
+ DBDINC+=<name>+ change + +
+ BPTS+ to + +
+ DBD+ change + +
+ INSTALLDB+ to + +
+ DB+ change + +
+ DBDINSTALL+ to + +
+ DBD+
+ example_SRCS_DEFAULT += registerRecordDeviceDriver.c+ to + +
+ example_SRCS_DEFAULT += <name>_registerRecordDeviceDriver.cpp ++ where <name> is the base name of a <name>.dbd file which was + created from a <name>Include.dbd file and which will be loaded in a + st.cmd or stcmd.host script (e.g. example).
+ dbLoadDatabase("dbd/exampleApp.dbd")+ to + +
+ dbLoadDatabase("dbd/example.dbd")
+ dbLoadDatabase("../../dbd/exampleApp.dbd",0,0)+ to + +
+ dbLoadDatabase("../../dbd/example.dbd",0,0)
GNU compiler builds are now determined by the value of EPICS_HOST_ARCH and +are no longer specified in CONFIG_SITE. All references to the ANSI (ACC/GCC) +and CPLUSPLUS (CCC/G++) macros have been removed.
Most of the library routines and files starting with the prefix osi have +been changed to start with epics. Several also had major changes to their +user interface. See the latest version of the Application Developer's Guide +for details.
iocCore is now supported on the following platforms:
http://www.aps.anl.gov/epics/modules/base/R3-14.php
++ Tornado II is required.+
+ An open source real time operating system. It has been tested on + MVME167 and MC68360 processors. RTEMS also supports + powerPC.+
+ Has been tested on solaris 2.6 and solaris 8 with Sun workshop 6.0 (C++ + 5.2). Sun workshop 5.0 (C++ 5.0) will not compile this version of + EPICS.+
+ Has been tested on Redhat x86 platforms.+
+ Testing has been done with visual C++ 6.0.+
A new version of the Application Developers Guide is available. The +following gives links to the new Application Developer's Guide and to RTEMS +information.
+ ++ http://www.aps.anl.gov/epics/modules/base/R3-14.php
Most of the Application Developer's Guide has only minor changes. The following are new.
@@ -674,7 +708,8 @@ It must be emphasized that this is an alpha release.