From a7af535a4f41e18745a779099ba9f94f7965f765 Mon Sep 17 00:00:00 2001
From: "W. Eric Norum" Supplied by Matt Rippa <mrippa@gemini.edu>. Should work for MVME2400, too. A new option -p was added to all Channel Access command line
@@ -23,18 +27,17 @@ tools to allow specifying the CA priority. Changed linux builds to link against libncurses instead of libcurses
(suggested by Peter Zumbruch). RTEMS release 4.9 or newer is required. If you are using the RTEMS NFS time
-provider you need to use RTEMS 4.9.1 or newer. RTEMS release 4.9 or newer is required. If you are using the RTEMS NFS
+time provider you need to use RTEMS 4.9.1 or newer. Correctly return epicsEventWaitTimeout when event is not pending and timeout
-value is 0.0 secondsmore agressive. Correctly return epicsEventWaitTimeout when event is not pending and
+timeout value is 0.0 secondsmore agressive.EPICS Base Release 3.14.1x
-
Changes between 3.14.10 and 3.14.11
+Added support for RTEMS-mvme2700
+
+CA Commandline tools: priority support
Changes between 3.14.9 and 3.14.10
RTEMS Release
-RTEMS epicsEventWaitWithTimeout
-epicsRingPointer, epicsRingBytes
@@ -45,75 +48,77 @@ optimization.
The camonitor program now supports the ability to display both server- and client-side timestamps, simultaneously if requested. The old -command-line options -r -i and -I that controlled the -timestamp display have been replaced with a new -t option that takes -additional argument letters to control which timestamp sources and output format -should be used.
+command-line options -r -i and -I that controlled +the timestamp display have been replaced with a new -t option that +takes additional argument letters to control which timestamp sources and +output format should be used. -See the Command Line Tools section of the Channel Access reference manual or -run camonitor -h for a summary of the options.
+See the Command Line Tools section of the Channel Access reference manual +or run camonitor -h for a summary of the options.
A new device support has been added that allows a stringout record to output -one-line messages to stdout, stderr or the errlog subsystem. Use DTYP="stdio" -and set the OUT field to one of "@stdout", "@stderr" or "@errlog" to control the -message destination. A newline is appended to the contents of the record's VAL -field when printing.
+A new device support has been added that allows a stringout record to +output one-line messages to stdout, stderr or the errlog subsystem. Use +DTYP="stdio" and set the OUT field to one of "@stdout", "@stderr" or +"@errlog" to control the message destination. A newline is appended to the +contents of the record's VAL field when printing.
The way in which EPICS gets the time has been significantly revised since R3.14.9 with the introduction of the General Time subsystem. Two kinds of -pluggable time providers are now supported, which return either the current time -or the latest timestamp of a numbered Time Event from a hardware event system. -All IOCs must have at least one Current Time provider, but Event Time providers -are optional. The General Time subsystem guarantees that the timestamps -returned never step backwards, even when switching between time providers.
+pluggable time providers are now supported, which return either the current +time or the latest timestamp of a numbered Time Event from a hardware event +system. All IOCs must have at least one Current Time provider, but Event Time +providers are optional. The General Time subsystem guarantees that the +timestamps returned never step backwards, even when switching between time +providers. -A Current Time Provider reports the current wall-clock time if it is able to -when asked; if it can't it says so, and the time subsystem will then ask the -next provider in its list and so on until someone replies with the time. Event -Time providers are handled similarly, except that they are asked for the -timestamp associated with a particular Time Event number rather than the current -wall-clock time. The registered time providers can be listed using the IOC -command generalTimeReport(int interest) and some time providers also -have their own separate report commands.
+A Current Time Provider reports the current wall-clock time if it is able +to when asked; if it can't it says so, and the time subsystem will then ask +the next provider in its list and so on until someone replies with the time. +Event Time providers are handled similarly, except that they are asked for +the timestamp associated with a particular Time Event number rather than the +current wall-clock time. The registered time providers can be listed using +the IOC command generalTimeReport(int interest) and some time +providers also have their own separate report commands.
Different target architectures come with different default Current Time -providers in Base. The Unix-like architectures rely on the underlying operating -system clock, which normally involves running something like ntpd as a separate -process. The real-time operating systems vxWorks and RTEMS install two Current -Time providers; the native operating system clock at the lowest priority (this provider -includes a task to periodically reset the operating system clock from a higher priority time -provider), and an NTP time provider which synchronizes the underlying operating sytem tick -timer with an NTP server. Microsoft Windows targets using the Win32 API use a +providers in Base. The Unix-like architectures rely on the underlying +operating system clock, which normally involves running something like ntpd +as a separate process. The real-time operating systems vxWorks and RTEMS +install two Current Time providers; the native operating system clock at the +lowest priority (this provider includes a task to periodically reset the +operating system clock from a higher priority time provider), and an NTP time +provider which synchronizes the underlying operating sytem tick timer with an +NTP server. Microsoft Windows targets using the Win32 API use a Windows-specific time provider which contains a built-in PLL.
-There are no Event Time providers included with Base except for an optional -"Last Resort" Event provider which can be installed if a site wants to be sure -that every Time Event number will have a recent timestamp associated with it -even if the hardware event system goes down. The Last Resort Event Time provider -returns the current time for every Time Event number. To install this provider, -run the command installLastResortEventProvider from your IOC startup -script.
+There are no Event Time providers included with Base except for an +optional "Last Resort" Event provider which can be installed if a site wants +to be sure that every Time Event number will have a recent timestamp +associated with it even if the hardware event system goes down. The Last +Resort Event Time provider returns the current time for every Time Event +number. To install this provider, run the command +installLastResortEventProvider from your IOC startup script.
Additional information about General Time and the time providers included with Base can be found in the IOC Application Developers Guide for R3.14.10, -sections 9.7 and 20.6. General Time was originally written by David H. Thompson -and Sheng Peng at ORNL, subsequently worked on by Babak Kalantari and Timo -Korhonen of PSI, and merged into Base by Peter Denison from Diamond. Andrew -Johnson provided input into the design at various points and made various code -revisions after the merge.
+sections 9.7 and 20.6. General Time was originally written by David H. +Thompson and Sheng Peng at ORNL, subsequently worked on by Babak Kalantari +and Timo Korhonen of PSI, and merged into Base by Peter Denison from Diamond. + Andrew Johnson provided input into the design at various points and made +various code revisions after the merge.When creating an IOC with one of the win32-x86 target architectures, a file -dllPath.bat is now generated in the iocBoot/iocxxx directory which can -be run to adjust the PATH variable to include all of the support application -bin directories which might contain DLLs that the IOC uses. The PATH also -includes the IOC application's own bin directory, which simplifies starting up -the IOC as well.
+When creating an IOC with one of the win32-x86 target architectures, a +file dllPath.bat is now generated in the iocBoot/iocxxx directory +which can be run to adjust the PATH variable to include all of the support +application bin directories which might contain DLLs that the IOC uses. The +PATH also includes the IOC application's own bin directory, which simplifies +starting up the IOC as well.
Note that just knowing the CPU's endianness doesn't tell you the complete -story about the byte order that your hardware registers will present to the CPU; -byte swapping is often performed automatically by PCI to VME bridge devices and -by other kinds of bus converter, so "portable" drivers aren't always.
+story about the byte order that your hardware registers will present to the +CPU; byte swapping is often performed automatically by PCI to VME bridge +devices and by other kinds of bus converter, so "portable" drivers aren't +always.A heavily modified version of Andy Foster's genSub record type has been -added, called the aSub (Array Subroutine) record type. The new name is so that -genSub records can continue to be used in IOCs that need those features that -have changed or been removed in creating the aSub record type. The main +added, called the aSub (Array Subroutine) record type. The new name is so +that genSub records can continue to be used in IOCs that need those features +that have changed or been removed in creating the aSub record type. The main differences between genSub and aSub are:
-The Soft Channel device support for all input record types now supports the -fetching of the timestamp along with the data when the record's TSE field is set -to epicsTimeEventDeviceTime (-2). This works for both DB and CA links. However -the timestamp will only be fetched if the record's TSEL link is not set, so you -can't point TSEL to another record to read the -2 value into TSE (that's because -to make this work properly would require that the TSEL link be read twice every -time the record processes; once in the soft channel device support, and again -when the record type calls recGblGetTimeStamp().
+The Soft Channel device support for all input record types now supports +the fetching of the timestamp along with the data when the record's TSE field +is set to epicsTimeEventDeviceTime (-2). This works for both DB and CA links. +However the timestamp will only be fetched if the record's TSEL link is not +set, so you can't point TSEL to another record to read the -2 value into TSE +(that's because to make this work properly would require that the TSEL link +be read twice every time the record processes; once in the soft channel +device support, and again when the record type calls +recGblGetTimeStamp().
Thanks to Eric Bjorklund for providing a patch to devLib that gives access to -the CR/CSR address space (for those on a VME64 CPU with appropriate support from -your BSP).
+Thanks to Eric Bjorklund for providing a patch to devLib that gives access +to the CR/CSR address space (for those on a VME64 CPU with appropriate +support from your BSP).
Query routines have been added that count CA client connections made by -Access Security rules and Database Channel Access links. A similar routine will -be added to version 2.0.12 of the sequencer for counting sequence program CA -links:
+Access Security rules and Database Channel Access links. A similar routine +will be added to version 2.0.12 of the sequencer for counting sequence +program CA links: -NOTE: If any of your *App/*Db/Makefiles contain "DBDNAME =" lines you should make these same changes in that *Db dirctory. --void ascaStats(int *pchans, int *pdiscon); ++-void ascaStats(int *pchans, int *pdiscon); void dbcaStats(int *pchans, int *pdiscon); void seqcaStats(int *pchans, int *pdiscon);The pchans parameter should point to integer storage which will be set to the -total number of channels open, while the value at the pdiscon pointer will be -set to the number of channels currently disconnected. Prototypes for these -routines can be found in the header files asCa.h and dbCaTest.h (seqCom.h for -the sequencer).
+The pchans parameter should point to integer storage which will be set to +the total number of channels open, while the value at the pdiscon pointer +will be set to the number of channels currently disconnected. Prototypes for +these routines can be found in the header files asCa.h and dbCaTest.h +(seqCom.h for the sequencer).
Messages from errlog
@@ -202,60 +206,62 @@ rather than to stdout.ipToAsciiProxy
-This thread calls upon vendor libraries which may use significant amounts of stack. Account for this by providing the ipToAsciiProxy thread with an epicsThreadStackBig stack.
+This thread calls upon vendor libraries which may use significant amounts +of stack. Account for this by providing the ipToAsciiProxy thread with an +epicsThreadStackBig stack.
iocBuild, iocRun and iocPause
These three new commands are mainly intended for use with DESY's redundant IOC software but they might have some uses for others too. iocBuild allow an IOC to be initialized and set up ready for a quick start without -actually making it live; a subsequent iocRun will bring it to the same -state as an iocInit would have. Once an IOC has been started (using -either iocInit or iocBuild + iocRun) the +actually making it live; a subsequent iocRun will bring it to the +same state as an iocInit would have. Once an IOC has been started +(using either iocInit or iocBuild + iocRun) the iocPause command can be used to freeze it, disconnecting its PVs and -stopping all scan activity. The iocRun command restarts the IOC from -this state.
+stopping all scan activity. The iocRun command restarts the IOC +from this state.While this might seem like a useful thing to be able to do, we have not -tested it on IOCs using real-world I/O, and it is not unlikely that pausing an -operational IOC could cause irremdial havok to any device support, sequence -programs and other software which is not expecting it, so use with care and make -sure you test it first. An IOC that is kept paused for more than a minute or -two could fill up its network buffers and become impossible to restart without -rebooting.
+tested it on IOCs using real-world I/O, and it is not unlikely that pausing +an operational IOC could cause irremdial havok to any device support, +sequence programs and other software which is not expecting it, so use with +care and make sure you test it first. An IOC that is kept paused for more +than a minute or two could fill up its network buffers and become impossible +to restart without rebooting.IOC Support on 64-bit archs
-A fairly significant number of changes have been that were necessary to allow -the IOC code to run properly on 64-bit CPU architectures where a long -is 64 bits wide. This was not as simple as replacing every instance of the -typename long with epicsInt32 because that would have broken a -lot of external code unnecessarily. The generated record.h file now uses the -typenames from epicsTypes.h to declare record fields, thus field sizes are the -same on both 32- and 64-bit platforms (on 64-bit, a DBF_LONG does -not map to long but to int). This change does not -affect status return values, which are still implemented using the native -long type for the platform.
+A fairly significant number of changes have been that were necessary to +allow the IOC code to run properly on 64-bit CPU architectures where a +long is 64 bits wide. This was not as simple as replacing every +instance of the typename long with epicsInt32 because that +would have broken a lot of external code unnecessarily. The generated +record.h file now uses the typenames from epicsTypes.h to declare record +fields, thus field sizes are the same on both 32- and 64-bit platforms (on +64-bit, a DBF_LONG does not map to long but to +int). This change does not affect status return values, which are +still implemented using the native long type for the platform.
Conversion of empty strings to character types
While changing the conversion routines in db/dbConvert.c and -db/dbFastLinkConv.c to support 64-bit architectures as described above, it was -noticed that an empty string converts to the value 0 for all types other than -DBF_CHAR and DBF_UCHAR where it converts to the ASCII +db/dbFastLinkConv.c to support 64-bit architectures as described above, it +was noticed that an empty string converts to the value 0 for all types other +than DBF_CHAR and DBF_UCHAR where it converts to the ASCII character '0', value 0x30. Since these types are usually used for storing small integers or boolean values rather than ASCII characters, it was -decided that this conversion is wrong so it has been changed to match the other -numeric conversions.
+decided that this conversion is wrong so it has been changed to match the +other numeric conversions.epicsShareAPI deprecated inside IOC
APIs that are intended for use inside the IOC, the epicsShareAPI attribute is slowly being removed. This keyword is only used on MS Windows -where it indicates to the compiler that the function should use Pascal calling -conventions rather than C ones, and was necessary to be able to call such -functions from MS Visual Basic. APIs for use by client code (CA and libCom) -will generally retain the attribute if they already had it.
+where it indicates to the compiler that the function should use Pascal +calling conventions rather than C ones, and was necessary to be able to call +such functions from MS Visual Basic. APIs for use by client code (CA and +libCom) will generally retain the attribute if they already had it.Record types ANSIfied
@@ -265,10 +271,10 @@ implementations have been converted from K&R to ANSI C prototypes.Added Perl5 CA library
Base now provides a CA client library interface for Perl5 scripts in -src/cap5 and includes as examples some implementations of the catools -programs written in Perl. Documentation on how to use the Perl library is -available in base/html/CA.html after the build completes. This library -cannot currently be built on Windows targets.
+src/cap5 and includes as examples some implementations of the +catools programs written in Perl. Documentation on how to use the Perl +library is available in base/html/CA.html after the build completes. +This library cannot currently be built on Windows targets.IOC ignores SIGHUP
@@ -284,18 +290,15 @@ should not affect the contents of Makefiles or any applications using Base. They do however require that the version of GNU Make used be 3.81 or later. These changes are briefly:-
-- -
A new tool is provided that expands out @VAR@ macros. By default it knows the value of @TOP@, @ARCH@ and any paths defined in the application's configure/RELEASE file such as @EPICS_BASE@, but additional macros can be defined in the Makefile that uses it by adding to the EXPAND_VARS variable like the example following, which creates an @EXE@ - macro that expands out to .exe on windows targets and to - nothing on other platforms:
- + macro that expands out to .exe on windows targets and to nothing + on other platforms:EXPAND_VARS += EXE=$(EXE)-Files that contain @VAR@ macros to be substituted must have an at sign @ as the last character of their name and be listed in the EXPAND variable of their Makefile. The @@ -303,29 +306,24 @@ or later. These changes are briefly:
@ suffix removed, and is then available for compiling or installing using any other build mechanism.- -
Support has been added for installing Perl library modules. The Makefile variable PERL_MODULES can be set to a list of names of files to be installed into the $(TOP)/lib/perl directory. The above macro expansion facility can then be used in perl programs that use these libraries to set the perl search path to include that directory. The syntax for this is as follows:
-use lib '@TOP@/lib/perl'; use MyModule;-The filenames listed in PERL_MODULES can include subdirectory path components and the build system will preserve these in the installed result.
- The Perl scripts that were in configure/tools are now found in the new src/tools directory, and get installed into the appropriate bin/hostarch directory at build time. Some of these scripts are no longer required and have been removed, and others are being modified to make them more modular, extracting common routines into perl library modules.
-- The generated files that were created by running make in the configure directory are no longer required, having been replaced by additional mechanisms inside the build system files. This removes a @@ -339,7 +337,7 @@ configuration file, from an *.acs file using the C preprocessor. An .acs file has the same format as an .acf file with the addition of '#include "<filename>"' and '#define <macroname> <value>' lines. The C preprocessor includes the #include files and performs the macro -substitutions. +substitutions.
Changes to subArray record error behaviour
@@ -353,12 +351,12 @@ alarm will be generated.scanOnce(precord) argument
The argument to scanOnce() is a pointer to the record to be -scanned. This used to be a void * pointer, but is now a dbCommon -* pointer. Record types written in C that call scanOnce() will -still compile without having to change the source code (although a comiler -warning may be generated), but any record types implemented in C++ will have to -be fixed to cast the record instance pointer to a dbCommon * -instead.
+scanned. This used to be a void * pointer, but is now a +dbCommon * pointer. Record types written in C that call +scanOnce() will still compile without having to change the source +code (although a comiler warning may be generated), but any record types +implemented in C++ will have to be fixed to cast the record instance pointer +to a dbCommon * instead.New Architectures
@@ -371,7 +369,7 @@ although the core developers lack the ability to test all of them:- linux-cris_v32
linux-xscale_be (tested with MOXA UC-7408 Plus) + linux-xscale_be (tested with MOXA UC-7408 Plus) Added compile line header search directories
@@ -379,7 +377,7 @@ although the core developers lack the ability to test all of them:The compile line list of directories to search for header files now includes O.Common and the existing os subdirectories of SRC_DIRS <src_dir>/os/<OS_CLASS>, <src_dir>/os/posix, and -<src_dir>/os/default.
+<src_dir>/os/default.Parallel make now supported
@@ -503,7 +501,7 @@ discussion on the cygwin mailing list it looks like this will be fixed in make version 3.82. In the meantime make version 3.80 or a fixed make can be downloaded from this -website. +website.New Architectures
@@ -540,7 +538,7 @@ this version of Base.dbLoadTemplate
The parser for the substitutions file accepted by dbLoadTemplate() has -been revised, and is now stricter than it used to be — unmatched +been revised, and is now stricter than it used to be — unmatched characters that were accepted and discarded without warning before will now generate errors. The quote characters at the two ends of a quoted string value must now match, although either single or double quotes can be used. @@ -641,7 +639,7 @@ added to the expression language. The literal values Inf and
The only incompatible change to the expression language was to change the NOT operator from performing a unary minus operation to an integer bitwise not; the former meaning is illogical and as a result was probably not -used much, if at all — nobody complained when I discussed this on +used much, if at all — nobody complained when I discussed this on tech-talk...
The extended API and the expression language are now discussed in detail @@ -802,20 +800,20 @@ reconnect
These changes are required to allow software outside of Base to be built on win32 architectures.
-
- win32 epicsShareAPI changes to libCom +
- win32 epicsShareAPI changes to libCom
-The win32 Pascal calling convention (epicsShareAPI) has been removed from the following header files in libCom/misc: adjustment.h, cantProceed.h, epicsConvert.h, epicsStdlib.h, epicsString.h.
- epicsString +
- epicsString
-A new function epicsStrtok_r has been added because win32 does not implement strtok_r.
- epicsStdlib +
- epicsStdlib
-All function described in epicsStdlib.h are now implemented in epicsStdlib.c
- win32 epicsShareExtern changes in dbStaticLib +
- win32 epicsShareExtern changes in dbStaticLib
@@ -872,7 +870,7 @@ configure/RELEASE* files should contain location definitions for EPICS modules only.The type name mapping array mapdbfType defined in dbFldTypes.h has had the correct export modifier keywords added to it for use on win32.
event generator and event receiver record support
-All apsEvent specific record support has been removed from base +All apsEvent specific record support has been removed from basedrvTS and apsEvent support
@@ -1126,7 +1124,7 @@ For example the former command:Is now:dbl > reportNameNote that this does NOT work on the vxWorks shell only on iocsh. On the -vxWorks shell the following command can be given: +vxWorks shell the following command can be given:iocshCmd("dbl > reportName")errlog
@@ -1291,17 +1289,17 @@ channels)Channel Access Client Library
- Fixed "subscription updates intermittently do not resume when - unresponsive circuit reconnects" bug + unresponsive circuit reconnects" bug
-
- Scope: +
- Scope:
-This bug was introduced in R3.14.5 and does not exist in any other release.
- Symptom: +
- Symptom:
-Subscription updates intermittently do not resume depending on circumstances when unresponsive circuit reconnects
- Additional Information: +
- Additional Information:
A decision was made to add a change to EPICS R3.14.5 so that when a TCP circuit is temporarily unresponsive the channel, but not the circuit, is immediately disconnected. This change was determined to @@ -1314,33 +1312,33 @@ channels)
- Fixed "ca_replace_access_rights_event() fails if passed a nill function - pointer" bug + pointer" bug
-
- Scope: +
- Scope:
-This bug probably exists in all R3.14 releases.
- Symptom: +
- Symptom:
-Passing a nill function pointer to ca_replace_access_rights_event() should install a noop handler, but this currently causes a failure.
- Additional information: +
- Additional information:
Regression tests have been installed to detect this mistake.
- Fixed "CA client library crash when clear channel request occurs in get - callback handler" bug + callback handler" bug
-
- Scope: +
- Scope:
-This bug was introduced in R3.14.5 and does not exist in any other release.
- Symptom: +
- Symptom:
-CA client library crash when clear channel request occurs in get callback handler
- Additional information: +
- Additional information:
When testing the striptool application, Ken Evans, discovered a bug in the CA client library occurring when a clear channel request occurs in get callback handler. Regression tests have been updated so @@ -1350,43 +1348,43 @@ channels)
- Fixed "Double server subscription install when subscription request - occurs in connection callback handler" bug + occurs in connection callback handler" bug
--
- Scope: +
- Scope:
-This bug was introduced in R3.14.5 and does not exist in any other release. Subscription request must be made from within connection callback handler
- Symptom: +
- Symptom:
-It has been discovered (by Ken Evans while testing the gateway) that certain subscription requests were persisting in the gateway after clients had deleted them. This bug causes additional resources to be consumed, but does not result in a crash.
- Additional information +
- Additional information
Additional debugging has revealed that the CA client library in this situation inadvertently made the subscription request twice: - once at the users’ request, and later on again when the library - auto installed subscriptions for disconnected channels.
+ once at the users’ request, and later on again when the + library auto installed subscriptions for disconnected channels.- Fixed "failure when deleting channel in get callback handler" bug +
- Fixed "failure when deleting channel in get callback handler" bug
-
- Scope: +
- Scope:
-Probably introduced in a previous R3.14 release.
- Symptom: +
- Symptom:
An intermittent C++ exceptions during regression testing.
-
- Behavior Changes +
- Behavior Changes
- Process blocks attempting to exit if the application does not call - ca_context_destroy() + ca_context_destroy()
In EPICS release R3.14 the CA client library is implemented using axillary threads. If the application does not call ca_context_destroy() these threads will still be running, and @@ -1401,23 +1399,23 @@ channels)
Channel Access Portable Server (used by the CA gateway and others)
-
- Fixed "assert fail when writing string through Portable CA Server" bug +
- Fixed "assert fail when writing string through Portable CA Server" bug
-
- Scope: +
- Scope:
-This bug is only present in the portable CA server and so it does not impact IOC based applications. The bug is present in the CA gateway and any portable CA server based application. This problem may have been recently introduced when GDD was patched to properly handle fixed sized strings.
- Symptom: +
- Symptom:
-Failure, when writing large string through the portable CA server. There appears to be a possibility of the wrong string being written when a smaller string is used. You may see the following message.
A call to "assert (! this->pValue->unreference ())" failed in ..\..\..\..\include\smartGDDPointer.h line 88.
- Additional Information: +
- Additional Information:
@@ -1451,11 +1449,11 @@ build. configure/CONFIG_SITE contains two new macros for building compatibility files. They are set to NO but can be set to YES. The macros are:Thanks to Stephanie Alison at SLAC for discovering the bug and to Ken Evans at the APS for reminding me to fix it.
-
- COMPAT_TOOLS_313 +
- COMPAT_TOOLS_313
-This will install the compatibility files needed to build R3.13 extensions built with this R3.14 base.
- COMPAT_313 +
- COMPAT_313
@@ -1484,7 +1482,7 @@ to experiment with other CA client tools.This will install the compatibility files needed to build R3.13 extensions and IOC applications built with this R3.14 base.
Stringin record time-stamp soft device support
Add simple device support for converting time to nicely-formatted string -using INP field as epicsTimeToStrftime format string: +using INP field as epicsTimeToStrftime format string:record(stringin, "$(user)now") { field(DESC, "Current time and date") @@ -1690,7 +1688,7 @@ support allocating A24 addresss and an init method. The following have been moved from src/vxWorks/src to src/libCom/osi/os/vxWorks: camacLib.h, drvTS.c, drvTS.h, epicsDynLink.c, epicsDynLink.h, module_types.h, task_params.h, veclist.c. Brief documentation -has been added to the Application Developer's Guide. +has been added to the Application Developer's Guide.Close-On-Exec flag set for all sockets created in EPICS base
@@ -2239,7 +2237,7 @@ removed. A new routine dbDumpField replaces dbDumpFldDes.-All changes for release 3.13.5 that also apply to 3.14 have been made. +All changes for release 3.13.5 that also apply to 3.14 have been made. Changes since alpha2
devAiSoftRaw and devAoSoftRaw
@@ -2259,7 +2257,7 @@ be given asEPICS Release base 3.14.0alpha2
Since the alpha1 release some major changes were made to the build system, to -some of the libCom facilities, and to the iocsh facilities. +some of the libCom facilities, and to the iocsh facilities.The unbundled version of the sequencer has been build and tested with this release. You must obtain a version of the sequencer that has been built @@ -2287,47 +2285,47 @@ release.
Converting alpha1 applications to alpha2
Build modifications in alpha2 require the following changes to existing R3.14 -applications. +applications.-
- Remove the now unused RULES files +
- Remove the now unused RULES files
-./configure/RULES.Db
./configure/RULES.registerRecordDeviceDriver- Delete the following line in ./configure/RULES +
- Delete the following line in ./configure/RULES
-include $(TOP)/configure/RULES.registerRecordDeviceDriver- In <top>/configure/Makefile change +
- In <top>/configure/Makefile change
-@$(PERL) $(TOOLS)/makeConfigAppInclude.pl $(T_A) $@ $(TOP)- to + to@$(PERL) $(TOOLS)/makeConfigAppInclude.pl $(EPICS_HOST_ARCH) $(T_A) $@ $(TOP)- and add the line + and add the linedepends: installto the bottom of the Makefile.- In all *App/*Db/Makefiles change +
- In all *App/*Db/Makefiles change
-include $(TOP)/configure/RULES.Db- to + toinclude $(TOP)/configure/RULES- In all *App/src/Makefile files change +
- In all *App/src/Makefile files change
DBDNAME = <name>App- to + toDBD += <name>@@ -2338,73 +2336,73 @@ applications. DBDEXPAND = <name>Include.dbd
RECTYPES=<name>.h- to + to
DBDINC+=<name>- change + change
MENUS=<name>.h- to + to
DBDINC+=<name>- change + change
BPTS- to + to
DBD- change + change
INSTALLDB- to + to
DB- change + change
DBDINSTALL- to + to
DBD
example_SRCS_DEFAULT += registerRecordDeviceDriver.c- to + to
- example_SRCS_DEFAULT += <name>_registerRecordDeviceDriver.cpp -+ 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 + to
dbLoadDatabase("dbd/example.dbd")
dbLoadDatabase("../../dbd/exampleApp.dbd",0,0)- to + to
dbLoadDatabase("../../dbd/example.dbd",0,0)@@ -2436,31 +2434,31 @@ iocCore on platforms besides vxWorks.
iocCore is now supported on the following platforms:
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.diff --git a/src/RTEMS/base/rtems_config.c b/src/RTEMS/base/rtems_config.c index 973148c20..479f07397 100644 --- a/src/RTEMS/base/rtems_config.c +++ b/src/RTEMS/base/rtems_config.c @@ -56,9 +56,10 @@ rtems_task Init (rtems_task_argument argument); * appropriate conditionals to use. * The new general time support makes including the RTC driverr less important. */ -#if !defined(__mc68040__) && !defined(__mcf5200__) && !defined(mpc7455) && !defined(__arm__) /* don't have RTC code */ +#if !defined(mpc604) && !defined(__mc68040__) && !defined(__mcf5200__) && !defined(mpc7455) && !defined(__arm__) /* don't have RTC code */ #define CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER #endif + #include