diff --git a/KnownProblems.html b/KnownProblems.html deleted file mode 100644 index e4e49dbbb..000000000 --- a/KnownProblems.html +++ /dev/null @@ -1,135 +0,0 @@ - - - -
- -In release beta1 changes were made to allow ESLO EOFF to be -database design fields. Because of changes that were made to aiRecord and -aoRecord device support that does not implement special_linconv -may no longer work.
-
To fix aiRecord.c, in init_record replace
- if ((pai->linr == menuConvertLINEAR) && pdset->special_li
-nconv) {
-
-by
- if ((pai->eslo==1.0) && (pai->eoff==0.0)) {
-
-To fix aoRecord.c, in init_record replace
- if ((pao->linr == menuConvertLINEAR) && pdset->special_li
-nconv) {
-
-by
- if ((pao->eslo==1.0) && (pao->eoff==0.0)) {
-
-
-If a CA client issues a put to a disabled record then, when the record is ena -bled, database puts to the record will not make the record process until a CA pu -t is again issued. The fix is:
-
-diff -c -r1.113 dbAccess.c
-*** dbAccess.c 2002/04/08 14:46:13 1.113
---- dbAccess.c 2002/05/02 20:09:18
-***************
-*** 614,619 ****
---- 614,620 ----
- if(*ptrace) printf("disabled: %s\n",precord->name);
- /*take care of caching and notifyCompletion*/
- precord->rpro = FALSE;
-+ precord->putf = FALSE;
- callNotifyCompletion = TRUE;
- /* raise disable alarm */
- if (precord->stat==DISABLE_ALARM) goto all_done;
-
-
-The multiply-defined fatal error of the type
-ld: fatal: symbol `resTable<casEventMaskEntry, - stringId>::tableSize(void) const' is multiply-defined: - (file ../../../../../lib/solaris-sparc->gnu//libcas.a(caServerI.o) - and file ../../../../../lib/solaris-sparc-> gnu//libcas.a(casEventMask.o)); -- -
in the build of base can be fixed by removing line 43
-template class resTable < casEventMaskEntry, stringId >; -- -
from base/src/cas/generic/casEventMask.cc.
- -The following files should be added in the base/config directory to allow -builds of R3.13 (Makefile.Host) extensions with beta1.
-win32-x86-borland builds need: -File name: CONFIG.Host.win32-x86-borland -File contents: -include $(EPICS_BASE)/config/CONFIG.Host.Borland -File name: CONFIG_HOST_ARCH.win32-x86-borland -File contents: -include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.Borland -File name: CONFIG_SITE.Host.win32-x86-borland -File contents: -include $(EPICS_BASE)/config/CONFIG_SITE.Host.Borland - -hpux-m68k builds need: -File name: CONFIG.Host.hpux-m68k -File contents: -include $(EPICS_BASE)/config/CONFIG.Host.hp700 -File name: CONFIG_HOST_ARCH.hpux-m68k -File contents: -include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.hp700 -File name: CONFIG_SITE.Host.hpux-m68k -File contents: -include $(EPICS_BASE)/config/CONFIG_SITE.Host.hp700 - -osf-alpha builds need: -File name: CONFIG.Host.osf-alpha -File contents: -include $(EPICS_BASE)/config/CONFIG.Host.alpha -File name: CONFIG_HOST_ARCH.osf-alpha -File contents: -include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.alpha - -sun4-sparc builds need: -File name: CONFIG.Host.sun4-sparc -File contents: -include $(EPICS_BASE)/config/CONFIG.Host.sun4 -File name: CONFIG_HOST_ARCH.sun4-sparc -File contents: -include $(EPICS_BASE)/config/CONFIG_HOST_ARCH.sun -- -
The following change is needed for shared library builds on Unix hosts.
-Index: CONFIG_BASE -=================================================================== -RCS file: /net/phoebus/epicsmgr/cvsroot/epics/base/configure/CONFIG_BASE,v -retrieving revision 1.32 -diff -r1.32 CONFIG_BASE -8a9 -> EPICS_BASE_HOST_LIB = $(EPICS_BASE)/lib/$(EPICS_HOST_ARCH)- -
If the name of the timezone has more than a few characters a crash can -occur on pentium vxWorks iocs. See ansiTime in the vxWorks reference manual -for details about TIMEZONE.
- -src/libCom/osi/os/default/epicsReadline.c used a char variable to hold the -return value from getc(), and compared this against EOF. getc() returns int -not char because ANSI C allows char to be unsigned if the architecture finds -that easier, thus EOF can never be stored in a char on a PowerPC CPU. char -should be changed to int or signed char.
- -The RTEMS startup routine waits until a time synchronization packet is -received from an NTP server. This causes the RTEMS intialization to loop -endlessly if there is no NTP server on the network. This problem has been -fixed in the CVS version by allowing the initialization to time out after a -minute or so and to set the IOC time to January 1, 2001.
-======= - diff --git a/README.WIN32 b/README.WIN32 deleted file mode 100644 index ad2bd12cd..000000000 --- a/README.WIN32 +++ /dev/null @@ -1,218 +0,0 @@ - -Compiling EPICS and Building IOC Applications on win32-x86 (Windows95/NT) ---------------------------------------------------------------------- - -Original port of EPICS base build system to WIN32 (Windows95/NT) -was done by Kay-Uwe Kasemir 11/96 - -please mail questions, comments, corrections, additional examples, etc - to johill@lanl.gov - -0) what you will get --------------------- - -Right now this port of EPICS to win32-x86 should allow you to - -* compile all of EPICS base using {Tornado, MS Visual C, perl, - GNU make} (only {MS Visual C, perl, GNU make} if you prefer - to compile only the host portions of EPICS base). -* load EPICS on an IOC (486, pentium, 68k, ...), - load databases - (no drivers/devices for real I/O available, yet. - Some Greenspring IP support [Relay, Dig, ADC, DAC] is in progress) -* build and use ca.dll on NT or Win95 to access all IOCs, - as well as the Com-library, gdd-library, cas-library, - and all other EPICS base libraries as DLLs. -* build gdd, cas and a demo of the new portable CA server on win32-x86. - -To build only for win32-x86 and not cross compile for IOC development type -"make win32-x86" or in your configure/CONFIG_SITE file set -"CROSS_COMPILER_HOST_ARCHS=" - -1) see what you have --------------------- - -To compile EPICS on win32-x86, we need - - WindRiver System's Tornado (used: 1.0) (not required if host only build) - Microsoft's Visual C/C++ (used: 6.0) (borland C++ rumored to work also) - -and some tools: - - gnu make - www.gnu.org (we used 3.76) - perl - www.perl.org (we used 5.003) - -The perl interpreter and gnu make are available 'on the net' -as sources which compile with MS Visual C++. -If you cannot/don't want to find them, contact me, please! - -2) set environment variables - -(Setting env. vars. is different: for NT, use Settings/System, -for Win95 use autoexec.bat) - -When setting paths in the EPICS CONFIG files for win32-x86 the following -are hints in case you have trouble. You should not need to worry about -this unless you type a path into one of the EPICS config files that -includes a "\". In most situations gnu make, windows NT, the MS compiler, -and the MS linker will accept "/" and this will result in less trouble. - - ** Note that that each "\" in any path variables you set - must be replaced with a "\\" (this is because GNU make treats - all "\" characters as line continuation) - - ** Note that that each space in any file name or - path name variable you set must be replaced with - a "\ " (this is because GNU make treats all " " separated - input as independent tokens in the input stream. - - ** win32-x86 will generally allow "/" and "\" interchangeably in file paths, - but the DOS shell only accepts "\". - - ** Certain command line utilities such as the MS linker are known to in rare - situations confuse "/" in a path with command line options, and it may - be necessary to replace a "/" in a path that configured with "\\", but - the bulk of our experience indicates that this is not the necessary. - -Your path should include: -- The EPICS-binaries that we are about to build inThe Experimental Physics and Industrial Control Systems (EPICS) -is an extensible set of software components and tools with which application -developers can create a control system. This control system can be used -to control accelerators, detectors, telescopes, or other scientific experimental -equipment. EPICS base is the set of core software, i.e. the components -of EPICS without which EPICS would not function. EPICS base allows an arbitrary -number of target systems, IOCs (input/output controllers), and host systems, -OPIs (operator interfaces) of various types.- -
This version of EPICS base contains significant changes and -offers major improvements in functionality over previous versions. Please -check the RELEASE_NOTES file in the distribution for description of changes -and release migration details.- -
Please review the COPYRIGHT* files included in the distribution -for legal terms of usage.- -
Currently this version of EPICS base has been built on the -following hosts for the following targets. If you are trying to build EPICS -base on a different host or for a different target machine you must get -the proper host/target cross compiler and header files and you will have -to create and add the appropriate new configure files to the base/configure/os/directory. -You can start by copying existing configuration files in the configure/os -directory and then make changes for your new platforms.- -
Host platforms (operating system - architecture - <alternate -c++ compiler>) -- -solaris-sparc --
solaris-sparc-gnu -
linux-x86 -
win32-x86 -
win32-x86-borland
-- --Cross compile target platforms (operating system - architecture)
-
-- -vxWorks-486 --
vxWorks-68040 -
vxWorks-68040lc -
vxWorks-68060 -
vxWorks-ppc603 -
vxWorks-ppc604 -
vxWorks-pentium -
RTEMS-gen68360 -
RTEMS-mvme167 -
RTEMS-pc386
This version of EPICS base has been built and tested using -the host vendor's C and C++ compilers as well as the GNU gcc and g++ compilers. -The GNU cross-compilers have been used for all cross-compiled targets. -You may need the host vendor's C++ compiler in your search path to do EPICS -builds. Check definitions of ACC and CCC in base/configure/os/CONFIG.<host>.<host> -or the definitions for GCC and G++ if ANSI=GCC and CPLUSPLUS=GCC are specified -in CONFIG_SITE.- -
GNU make -- -
You must use GNU make, gnumake, for any EPICS builds. Set your -path so that a gnumake version 3.70 or later is available. -Perl -
You must have perl version 5.0 or later installed. The configure files -do not specify the perl full pathname. You need the perl executable -in your search path. -Unzip and tar (Winzip on WIN32 systems) -
You must have tools available to unzip and untar the EPICS base distribution -file. -Tornado 2.0 -
You must have Tornado 2.0 installed if any of your target systems are -vxWorks systems. Tornado 2.0 provides the cross-compiler and header -files needed to build for these target systems. The full path location -to Tornado 2.0 must be specified in the base/configure/RELEASE or base/configure/RELEASE.<hostarch> -file. You will also need one or more board support packages. Consult the -vxWorks documentation for details. -Optional GNU compiler requirement for solaris-sparc and win32-x86 -hosts -
If you have state notation language source files (*.st files) which -require c preprocessing before conversion to c source, gcc must be -in your path.
The GNU zipped tar file is approximately 1.4 MB in size. The -unzipped untarred distribution source tree is approximately 6 MB. The build -created files for each host take approximately 40 MB and the build created -files for each target take approximately 10 MB.- -
EPICS documentation is available on the WWW via the EPICS home -page at APS: URL http://www.aps.anl.gov/epics- -
This README.htm is in the base distribution file and will be -available on the IOC software R3.14 EPICS WWW page which can be accessed -from the APS EPICS home page.- -
-- --EPICS home page at APS
- -http://www.aps.anl.gov/epics- --Other WWW sites
- -Additional information on EPICS can be found at the various -other WWW links on the EPICS home page at APS.- --Mailing Lists
- -There are five EPICS mailing lists provided by APS. See The -EPICS home page for subscription instructions.-
Distribution directory structure:- base -Root directory of the base istribution -
Install directories created by the -build: -
base/bin
-Installed scripts and executables in subdirs
-
base/lib
-Installed libraries in arch subdirectories
-
base/dbd
-Installed data base definitions
-
base/include
-Installed header files
-
base/include/os
-Installed os specific header files
-
base/templates
-Installed templates
-
-- --base/README* files - -
README.htm -Instructions for setup and building epics base -
-(i.e. this document) -
README.WIN32 Microsoft -WIN32 specific instructions -
README.cxxTemplates Information about C++ templates in EPICS -base -
README.niCpu030 NI cpu030 specific -instructions -
--base/startup directory - contains scripts to set environment and path - -
EpicsHostArch c shell script -to set EPICS_HOST_ARCH env variable -
EpicsHostArch.pl perl script to set EPICS_HOST_ARCH -env variable -
Site.profile bourne shell -script to set path and env variables -
Site.cshrc -c shell script to set path and env variables -
borland.bat WIN32 -bat file to set path and env variables -
win32.bat -WIN32 bat file to set path and env variables -
--base/configure directory - contains build definitions and rules - -
CONFIG.CrossCommon Cross build definitions -
CONFIG.gnuCommon Gnu compiler build -definitions for all archs -
CONFIG_ADDONS Definitions -for <osclass> and DEFAULT options -
CONFIG_BASE -EPICS base tool and location definitions -
CONFIG_BASE_VERSION Definitions for EPICS base version -number -
CONFIG_COMMON Definitions -common to all builds -
CONFIG_ENV -Definitions of EPICS environment variables -
CONFIG_SITE -Site specific make defintions -
CONFIG_SITE_ENV Site defaults -for EPICS environment variables -
CONFIG -Includes configure files and allows variable overrides -
RELEASE -Location of external products such as Tornado II -
RULES -Includes appropriate rules file -
RULES.Db -Rules for database and database definition files -
RULES_ARCHS -Definitions and rules for building architectures -
RULES_BUILD -Build and install rules and definitions -
RULES_DIRS -Definitions and rules for building subdirectories -
RULES_JAVA -Definitions and rules for java jars and classes -
RULES_TOP -Rules specific to a <top> dir (uninstall and tar) -
Sample.Makefile Sample makefile -with comments -
--base/configure/os directory - contains os-arch specific definitions - -
CONFIG.<host>.<target> Specific -host-target build definitions -
CONFIG.Common.<target> Specific -target definitions for all hosts -
CONFIG.<host>.Common -Specific host definitions for all targets -
CONFIG.UnixCommon.Common Definitions for Unix -hosts and all target -
CONFIG.<host>.vxWorksCommon Specific host definitions for all -vx targets -
CONFIG_COMPAT -R3.13 arch compatibility definitions -
CONFIG_SITE.<host>.<target> Site specific host-target definitions -
CONFIG_SITE.Common.<target> Site specific target defs for all -hosts -
CONFIG_SITE.<host>.Common Site specific host defs -for all targets -
--base/configure/tools directory - contains Perl scripts used for the build - -
MakeReleae -Unix shell script to create a release tar file -
convertRelease.pl Performs -consistancy checks on RELEASE files -
cp.pl -This Perl script copies an existing file -
installEpics.pl -Installs built files into install directories. -
makeDependsTargets.pl Creates targets of include dependency -files -
makeMakefile.pl -Creates a Makefile in O.<arch> dirs -
makeMakefileInclude.pl Creates file to be included by Makefile -
mkdir.pl -Creates a directory (like Unix mkdir) -
mkmf.pl -Generates dependencies from include stmnts -
munch.pl -Creates a ctdt.c file for vxWorks targets -
mv.pl -Renames an existing file. -
replaceVAR.pl -Changes CapFast VAR(xxx) to $(xxx) notation -
rm.pl -Quietly removes an existing file.
Unpack file -- -Unzip and untar the distribution file. Use WinZip on Windows -systems.-Set environment variables -Files in the base/startup directory have been provided to help -set required path and other environment variables . -- -EPICS_HOST_ARCH -
Before you can build or use EPICS R3.14, the environment variable EPICS_HOST_ARCH -must be defined. A perl script EpicsHostArch.pl in the base/startup directory -has been provided to help set EPICS_HOST_ARCH. You should have EPICS_HOST_ARCH -set to your host operating system followed by a dash and then your host -architecture, e.g. solaris-sparc. If you are not using the OS vendor's -c/c++ compiler for host -
builds, you will need another dash followed by the alternate compiler -name (e.g. "-gnu" for GNU c/c++ compilers on a solaris host or "-borland" -for Borland c/c++ compilers on a WIN32 host) . See configure/CONFIG_SITE -for a list of supported EPICS_HOST_ARCH values. -PERLLIB -
On WIN32, some versions of Perl require that the environment -variable PERLLIB be set to <perl directory location>.PATH --Do site-specific build configuration -
As already mentioned, you must have the perl executable and you may -need C and C++ compilers in your search path. For building base you also -must have echo in your search path. For Unix host builds you also need -touch, cpp, cp, rm, mv, and mkdir in your search path and /bin/chmod must -exist. On some Unix systems you may also need ar and ranlib in your path, -and the c compiler may require ld in your path. -LD_LIBRARY_PATH -
If you plan to build EPICS base shared libraries instead of archive -libraries, on Unix systems you will need to add fullpathname to $(INSTALL_LOCATION)/lib/$(EPICS_HOST_ARCH) -to your LD_LIBRARY_PATH environment variable. -PATH -
On WIN32 systems, building shared libraries is the default setting -and you will need to add fullpathname to $(INSTALL_LOCATION)/lib/$(EPICS_HOST_ARCH) -to your path. Building shared libraries is determined by the value of the -macro SHARED_LIBRARIES in CONFIG_SITE (either YES or NO). -
Site configuration -- -
To configure EPICS, you may want to modify the default definitions -in the following files: -configure/CONFIG_SITE Build -choices. Specify target archs. --Host configuration -
configure/CONFIG_SITE_ENV Environment variable defaults -
configure/RELEASE TORNADO -2 full path location
To configure each host system, you may override the default definitions -by adding a new file with override definitions into the configure/os directory. -The new file should have the same name as the distribution file to be overridden -except with CONFIG in the name changed to CONFIG_SITE. -configure/os/CONFIG.<host>.<host> -- Host build settings --Target configuration -
configure/os/CONFIG.<host>.Common -- Host cross build settings
To configure each target system, you may override the default definitions -by adding a new file with override definitions into the configure/os directory. -The new file should have the same name as the distribution file to be overridden -except with CONFIG in the name replaced by CONFIG_SITE. -configure/os/CONFIG.Common.<target> -- Target cross settings --R3.13 compatibility configuration -
configure/os/CONFIG.<host>.<target> - Host-target -settings
To configure EPICS base for building with R3.13 extensions and ioc -applications , you must modify the default definitions in the base/config/CONFIG_SITE* -files to agree with definitions you made in base/configure and base/configure/os -files.-Build EPICS base
- -After configuring the build you should be able to build EPICS -base by issuing the following commands in the distribution's root directory -(base) --gnumake clean uninstall --The command "gnumake clean uninstall" will remove all files and directories -generated by a previous build. The command "gnumake" will build and install -everything for the configured host and targets. -
gnumake
It is recommended that you do a "gnumake clean uninstall" at the root -directory of an EPICS directory structure before each complete rebuild -to ensure that all components will be rebuilt.
You can build using a single EPICS directory structure on multiple -host systems and for multiple cross target systems. The intermediate and -binary files generated by the build will be created in separate subdirectories -and installed into the appropriate separate host/target install directories. -EPICS executables and perl scripts are installed into the $(INSTALL_LOCATION)/bin/<arch> -directories. Libraries are installed into $(INSTALL_LOCATION)/lib/<arch>. -The default definition for $(INSTALL_LOCATION) is $(TOP) -which is the root directory in the distribution directory structure, base. -Created object files are stored in O.<arch> source subdirectories, This -allows objects for multiple cross target architectures to be maintained -at the same time. To build EPICS base for a specific host/target combination -you must have the proper host/target c/c++ cross compiler and target header -files and the base/configure/os directory must have the appropriate configure -files.- -
A perl tool, makeBaseApp.pl is included in the distribution -file. This script will create a sample application that can be built and -then executed to try out this release of base. Also, a perl script, makeBaseExt.pl, -is included in the distribution file. This script will create a sample -extension that can be built and executed. The makeBaseApp.pl and makeBaseExt.pl -scripts are installed into the install location bin/<hostarch> directory -during the base build.- -
Instructions for building and executing the 3.14 example application -can be found in the section "Example Application" of Chapter 2, "New Features -for 3.14", in the "IOC Application Developer's Guide R3.14.0beta1". -The "Example Application" section briefly explains how to create and build -an example application in a user created <top> directory. It also explains -how to run the example application on a vxWorks ioc or a host system and -run an example channel access client on the host system.- - - diff --git a/README.niCpu030 b/README.niCpu030 deleted file mode 100644 index 0bd292bd8..000000000 --- a/README.niCpu030 +++ /dev/null @@ -1,34 +0,0 @@ - -The CPU030 may need to have the nivxi path set correctly: - From the vxWorks shell type "vxitedit" (you may need to - loading the NI vxitedit package first) - take option 2 - take option 3 - type list - type modify 0 - type in the correct path when promped - (the path should end in nivxi - and should traverse the niCpu030 - directories shipped with the 030 - ie something of the form "???/config/niCPU030/nivxi" - type save - type exit - . - . - . - - see "Getting Started with Your VXIcpu-030" from NI - -You may may need to setup front panel to backplane trigger -routing: - -To take a TTL input and map it to VXI backplane ECL trigger 0 -type in (to the vxWorks shell): - -epvxiRouteTriggerECL(
This document describes how to modify a R3.13 vxWorks application
-so that it builds with release R3.14.0beta1. It describes an easy
-way to modify applications subject to the following restrictions:
-
At the top of the application execute: -- -"gnumake clean uninstall"-to remove all files and directories created by earlier builds.
Change the EPICS_BASE definition to point to -the R3.14 base release. All hardware support and some soft support is now -unbundled. For example the sequencer is unbundled. You must obtain and -build all required unbundled products before you can build the application. -The location of each unbundled product must be specified in <top>/config/RELEASE.- -
Change any target arch specification in config/CONFIG to new -R3.14 target arch specification. Look in the R3.14 base/bin directory to -see the target arch names. -- -For example, in config/CONFIG change -
CROSS_COMPILER_TARGET_ARCHS = mv167-to -CROSS_COMPILER_TARGET_ARCHS = vxWorks-68040-In the iocBoot/*/Makefile files, change -ARCH=<old arch name>-to -ARCH=<new arch name>-and do a "gnumake" in the iocBoot directory to update the cdCommands -files.
snc is no longer in base. If snc is used in your application, -you must download and build the seq module with baseR3.14.0beta1. See the -Application Developer's Guide to see how to build sequence programs.- -
Change -- -INSTALLS=seq-to -LIBOBJS += $(SEQ_BIN)/seqLibrary.o- -
in application src/Makefile.Vx files to link seq library into your -application library,. -
Also add -SEQ=<full path to seq module directory>-to config/RELEASE. -
Also remove -ld < seq-from the st.cmd files in the iocBoot subdirectories.
iocCore has been renamed to iocCoreLibrary.o. -- -
Change -INSTALLS=iocCore-to -LIBOBJS += $(EPICS_BASE_BIN)/iocCoreLibrary.o-in your application src/Makefile.Vx files . -
Also remove -ld < iocCore-from the st.cmd files in the iocBoot subdirectories.
The Db library name was changed to dbStaticHost for host builds -and dbStaticIoc for ioc builds. -- -
Change -PROD_LIBS+=Db-to -PROD_LIBS+=dbStaticHost-and -Db_DIR=$(EPICS_BASE_LIB)-to -dbStaticHost_DIR=$(EPICS_BASE_LIB)-in your application src/Makefile.Host files.
Since R3.14 contains C++ code, the build rules were changed -to create a corresponding munched file for every vx object file built. -The objects files can be combined to form libraries but the munched files -must be loaded into vxWorks. In all st.cmd files add the suffix ".munch" -to the ld lines where object files were previously loaded. For example -change -- -ld < exampleLib-to -ld < exampleLibrary.munch-
You may need to add the line "#include "recGbl.h" -to any source files that have recGbl* calls so that the file will compile -without errors.- -
The steppermotor, scan, and pid records are no longer in base. -If your application does not use these record types, comment out or remove -references to them in base.dbd and baseLIBOBJS. If these record types are -used by your application you must download and build the modules with R3.14 -base, add appropriate module definitions to your application's config/RELEASE -fileand change the LIBOBJS definitions. For example -- -
add -PID=<full path to modules directory>/pid-to config/RELEASE. -
Remove -LIBOBJS += $(EPICS_BASE_BIN)/pidRecord.o-from baseLIBOBJS, -
and add -LIBOBJS += $(PID_BIN)/pidRecord.o-to your application src/Makefile. -You should consider changing any existing old steppermotor records to -the new EPICS motor -record module supported by Beamline Controls and Data Acquisition -at APS.
recDynLink.o and devPtSoft.o are no longer in base. Remove -references to them in base.dbd and baseLIBOBJS if they are not used in -application.- -
All hardware support (dev, drv and dbd files) has been unbundled -from base R3.14. This support includes the files symb, symb.dbd, drvHp1404a.o, -drvEpvxiMsg.o, and drvEpvxi.o. If they are not used in your -application, comment out references to these files in base.dbd and baseLIBOBJS. -- -Hardware support files now exist as separate modules available for download -from the EPICS www home page at -ANL. You must now download all the hardware support modules needed -for your application, build the modules with R3.14 base, add the -appropriate module full path definitions to your application config/RELEASE -file, and change LIBOBJS location definition $(EPICS_BASE_BIN) -to the module definition bin directory in your application src directory -files. -
For example, remove -
LIBOBJS+=$(EPICS_BASE_BIN)/symb-from baseLIBOBJS and add -LIBOBJS+=$(SYMB_BIN)/symb-to your application src/Makefile, -
and add the line -SYMB=<full path definition for the built module SYMB>-into your application config/RELEASE file . -After a gnumake in the symb module followed by a gnumake in the application -config directory, the definitions SYMB_BIN and SYMB_LIB -will be created, the directory $(SYMB)/include will be added to the -include directories on the compiler command lines (in the INSTALL_INCLUDES -definition) and the directory $(SYMB)/dbd will be added to the dbd -search directories on the dbExpand command lines (in the INSTALL_DBDFLAGS -definition).
The host tool dbLoadTemplate has been replaced by a new extension, -msi. dbLoadTemplate is still supported on iocs. Build the msi extension -with base R3.14 and change the following definitions in your application -files. --depends changes -In config/RULES.Db replace the line -
DBLOADTEMPLATE=$(EPICS_BASE_HOST_BIN)/dbLoadTemplate$(EXE)-with -MSI = $(firstword $(wildcard $(EPICS_EXTENSIONS_HOST_BIN)/msi$(HOSTEXE) \ - (EPICS_EXTENSIONS)/bin/$(HOST_OS_CLASS)/msi$(HOSTEXE)) msi$(HOSTEXE))-and change line: -@$(DBLOADTEMPLATE) $< > $@-to -@$(MSI) $< > $@-Also, if dbLoadTemplate was used by your application, add the definition ---to your application config/RELEASE file.EPICS_EXTENSIONS=<full path name to epics extensions directory>-
Remove any SRCS.c and SRCS.cc definitions in -your application src/Makefile..*files. The depends rule no longer uses -these definitions. - - diff --git a/READMEbuildingR3.13ExtensionsWithR3.14.html b/READMEbuildingR3.13ExtensionsWithR3.14.html deleted file mode 100644 index 0ff0d73a4..000000000 --- a/READMEbuildingR3.13ExtensionsWithR3.14.html +++ /dev/null @@ -1,132 +0,0 @@ - - -
- - - - - - -
EPICS R3.13 extensions have both a Makefile and a Makefile.Host
-in the build directories and the EPICS R3.13 extension tree has an extensions/config
-directory.
-
-- --Download the latest version (10/25/00) of the extensions/config files, -extensionsConfig.tar.gz, from the APS EPICS www page. - --Make certain that you have set the HOST_ARCH environment variable. - --Set EPICS_BASE in extensions/config/RELEASE to the full path location of -a built R3.14 base. - --BASE_3_14 is now defined in the base/config/CONFIG_BASE_VERSION. -The commented BASE_3_14 definition can be removed from extensions/config/RELEASE. -
-- --Download the latest version (10/25/00) of extensions distributed from the -APS EPICS www page. The latest versions of the extensions should build -with both R3.13 and R3.14. Note that the order of building extensions is -important, i.e. some extensions depend on other extensions being built -first. The extensions/config/CONFIG_EXTENSIONS file contains notes on extension -dependancies and contains a definition of DIRS (used by extensions/src/Makefile) -with the proper order for building the APS distributed extensions. - --Executing gnumake at the root level of the extensions tree or in the src -directory should build the APS extensions in the proper order. -
-- - - diff --git a/READMEconvertingR3.13AppsToR3.14.html b/READMEconvertingR3.13AppsToR3.14.html deleted file mode 100644 index 1be3ef120..000000000 --- a/READMEconvertingR3.13AppsToR3.14.html +++ /dev/null @@ -1,302 +0,0 @@ - - - - - - - - - --Library Db renamed - -
Library Db has been renamed to dbStaticHost in EPICS base R3.14. In -some extensions lib Db is not used and Db can be removed from the USR_LIBS -(or PROD_LIBS) line. If the library is needed ( you get unresolved items -after removing Db), the following lines should be added to Makefile.Host. -ifdef BASE_3_14 -- -
USR_LIBS += dbStaticHost -
dbStaticHost_DIR = $(EPICS_BASE_LIB) -
else -
USR_LIBS += Db -
Db_DIR = $(EPICS_BASE_LIB) -
endif-Target architecture specifications changed - -
Since target architecture specifications have been changed (solaris -to solaris-sparc, win32 to win32-x86, ...) Makefile.Host references to -and tests on T_A have to be changed. In most cases T_A can be replaced -by OS_CLASS. Since HOST_ARCH will eventually be phased out, it would -be a good idea to change any Makefile.Host references to HOST_ARCH to OS_CLASS -if possible. -
For example change -ifeq ($(T_A),solaris) --to -
RPCFLAGS = -K -1 -
endififeq ($(OS_CLASS),solaris) -- -
RPCFLAGS = -K -1 -
endif-New ca_set_puser - -
Statements of the form: ca_puser(chid) = xyz; should to be -changed to: ca_set_puser(chid,xyz); -
--Extern C around includes - -
Remove any extern "C" braces around #includes of EPICS base header -files. -
For example change -extern "C" { --to -
#include "cadefs.h" -
} /* end extern C */#include "cadefs.h"- --Infrequently used R3.13 timestamp functions unbundled from base - -
Some infrequently used R3.13 timestamp functions and macro definitions -have been removed from EPICS base and now exist in a library, ts, created -and installed in the ar extension. The only ANL distributed extension -that uses these unbundled functions and macros is cau. The two R3.13 -functions tsStampToText and tsLocalTime along with the definitions TS_TEXT_MONDDYYYY -and TS_TEXT_MMDDYY have been retained in R3.14 for extension compatibility -purposes. -
If your extension gets undefines for TS_* usage and ts* function calls -when built with R3.14, you must obtain and build the ar extension. Add -an #include for tsSubr.h to your extension source code and add library -ts to PROD_LIBS or USR_LIBS in your Makefile.Host as follows: -#include "tsSubr.h" --ifdef BASE_3_14 -
PROD_LIBS += ts -
ts_DIR = $(EPICS_EXTENSIONS_LIB) -
endif
This document describes how to convert a R3.13 vxWorks application
-so that it builds with release R3.14.0beta1. It describes procedures
-such that:
-
First do a gnumake clean uninstall in the application's root -directory to remove all files created by earlier builds.- -
mkdir <top> -- -
cd <top> -
<full path to R3.14.0beta1 base>/bin/<host_arch>/makeBaseApp.pl --t example example
cd <oldtop> -- -
find *App iocBoot -print | cpio -pvmd <fullpath name to new -top>
Copy definitions of external modules excluding EPICS_BASE and -TEMPLATES_TOP from old application RELEASE file. -- -
If sequence programs (*.st or *.stt files) exist in your application, -add the SNCSEQ location definition for the R3.14 seq external module -SNCSEQ =<full path to seq module top>-The R3.14 seq module must exist and be built with EPICS base R3.14.0beta1.
Change include $(TOP)/config/CONFIG_APP -- -
to include $(TOP)/configure/CONFIG -Change include $(TOP)/config/RULES_DIRS -
to include $(TOP)/configure/RULES_DIRS
Remove existing Makefile -- -
Rename Makefile.Host to Makefile -
Modify Makefile as follows: -Change TOP=../../.. -
to TOP=../.. -Change include $(TOP)/config/CONFIG_APP -
to include $(TOP)/configure/CONFIG -Change include $(TOP)/config/RULES.Db -
to include $(TOP)/configure/RULES -Place all definitions between the include lines. -
Place any rules after the last include line.
Remove existing Makefile -- -
Rename Makefile.Host to Makefile -
Modify Makefile as follows: -Change TOP=../../.. -
to TOP=../.. -Change include $(TOP)/config/CONFIG_APP -
to include $(TOP)/configure/CONFIG -Change include $(TOP)/config/RULES.Host -
to include $(TOP)/configure/RULES -Change PROD_LIBS = <name> -
to <prod name>_LIBS = dbStaticHost -
where <prod name> is a specifified product to be -built. -Change library name Db to dbStaticHost. -
Change PROD_LIBS = Db -
to <prodname>_LIBS += dbStaticHost -
and Db_DIR = $(EPICS_BASE_LIB) -
to dbStaticHost_DIR = $(EPICS_BASE_LIB) -Change USER_DBDFLAGS -
to USR_DBDFLAGS -Change RECTYPES += xxxRecord.h -
to DBDINC += xxxRecord -Change DBDNAME = <name>App.dbd -
to DBD += <name>.dbd -Remove all DBDEXPAND lines. -
Change PROD = <prodname> -
to PROD_HOST = <prodname> -Change SRCS.c += <name> -
to <prodname>_SRCS += <name> -
or <libname>_SRCS += <name> -Add the contents of Makefile.Vx to Makefile removing the include lines -and the TOP definition.
Change LIBNAME = <libname>Lib -- -
to PROD_vxWorks = <libname> -Remove line -include ../baseLIBOBJS -
Remove line INSTALLS = iocCore seq -
Change all SRCS.c += ../<name>.c lines -
to <prodname>_SRCS += <name>.c -
if the source files exist in the current directory. -Change all *OBJS += <name>.o -lines -
to <prodname>_SRCS += <name>.c -
or <prodname>_SRCS += <name>.cc -
if the c/c++ source files exist in the current directory. -Change LIBOBJS += <seq_program_name>.o -lines -
to <prodname>_SRCS += <seq_program_name>.stt -
or <prodname>_SRCS += <seq_program_name>.st -Add the lines -
#<name>_LIBS += seq --where <name> is the name in the PROD_vxWorks -definition, and uncomment the first four lines if you have sequence programs -(.st or .stt files) in the current directory. -
#<name>_LIBS += pv -
#seq_DIR = $(SNCSEQ_LIB) -
#pv_DIR = $(SNCSEQ_LIB) -<name>_LIBS += recIoc -
<name>_LIBS += softDevIoc -
<name>_LIBS += testDevIoc -
<name>_LIBS += iocsh -
<name>_LIBS += miscIoc -
<name>_LIBS += rsrvIoc -
<name>_LIBS += dbtoolsIoc -
<name>_LIBS += asIoc -
<name>_LIBS += dbIoc -
<name>_LIBS += registryIoc -
<name>_LIBS += dbStaticIoc -
<name>_LIBS += ca -
<name>_LIBS += ComPlace all macro definitions between the include lines. -
Place any rules after the last include line.
Change include $(TOP)/config/CONFIG_APP -- -
to include $(TOP)/configure/CONFIG -Remove the line DIRS += $(wildcard *ioc*) -
Change include $(TOP)/config/RULES.iocBoot -
to include $(TOP)/configure/RULES.iocBoot
Change include $(TOP)/config/CONFIG_APP -- -
to include $(TOP)/configure/CONFIG -Change include ARCH = <old arch specification e.g. mv167> -
to include ARCH = <new arch specificatio -e.g. vxWorks-68040> -Change include $(TOP)/config/RULES.ioc -
to include $(TOP)/configure/RULES.ioc -Add the following rule at the end of the Makefile. -
buildInstall: cdCommands-
Remove the lines- -
-- ---Change ld < <libname>Lib -ld < seq- -ld < iocCore-
to ld < <libname>.munch -Change load statements for db and dbd files from -
cd startup --to -
dbLoadDatabase("../../dbd/exampleApp.dbd") -
dbLoadRecords("../../db/dbExample1.db","user=jba") -
dbLoadRecords("../../db/dbExample2.db")cd top --
dbLoadDatabase("dbd/example.dbd") -
registerRecordDeviceDriver(pdbbase) -
dbLoadRecords("db/dbExample1.db","user=jba") -
dbLoadRecords("db/dbExample2.db")
The steppermotor, scan, and pid records are no longer in base. -If these records are not used in your application, comment out references -to them in base.dbd. If these record types are used at your site, they -should be downloaded and built with base R3.14 by your EPICS administrator. -To update the R3.14 location of these record types in your application -you must add appropriate module definitions to your application's -config/RELEASE file and change the LIBOBJS definitions. -- -For example add
PID=<full -path to modules directory>/pid -- -to config/RELEASE. -
Remove
LIBOBJS -+= $(EPICS_BASE_BIN)/pidRecord.o -- -from baseLIBOBJS, and add
-- -LIBOBJS += $(PID_BIN)/pidRecord.o-to your application src/Makefile.
You should consider changing any existing old steppermotor -records to the new EPICS motor record module supported by Beamline -Controls and Data Acquisition at APS.- -
recDynLink.o and devPtSoft.o are no longer in EPICS base and -now exist as separate EPICS modules.You must now add the appropriate module -full path definitions to your application config/RELEASE file, and change -LIBOBJS -location definition $(EPICS_BASE_BIN) to the module definition -bin directory in your application src directory files. See "Hardware -support changes" below for instructions.- -
All hardware support (dev, drv and dbd files) except soft support -has been unbundled from base R3.14. This support includes the files symb.dbd, -drvHp1404a.o, drvEpvxiMsg.o, and drvEpvxi.o. If these are not used by your -application, comment out references to them in base.dbd.- -
Hardware support now exists as separate EPICS modules. The -hardware support for your site should be downloaded and built with base -R3.14 by your EPICS administrator. You must now add the appropriate module -full path definitions to your application config/RELEASE file, and change -LIBOBJS -location from $(EPICS_BASE_BIN) to the module bin directory -in your application src directory files. -- -For example, remove
LIBOBJS+=$(EPICS_BASE_BIN)/symb- -
from baseLIBOBJS and add- -
LIBOBJS+=$(SYMB_BIN)/symb- -
to your application src/Makefile, -- -
and add the line
-- -SYMB=<full path definition for the built module SYMB>-
into your application config/RELEASE file .- -
The host tool dbLoadTemplate has been replace by a new EPICS -extension, msi, which should be downloaded and built with base R3.14 by -your EPICS administrator. dbLoadTemplate is still supported on iocs. -If, in your application, db files are created from template and substitution -files you should add the definition -- -EPICS_EXTENSIONS=<full -path name to epics extensions directory> -
to your application config/RELEASE file.
-- -- -- --
This document describes how to convert a R3.14.0alpha2 application
-so that it builds with release R3.14.0beta1.
-
First do a "gnumake clean uninstall" in the application's -root directory to remove all files created by earlier builds.- -
The rules defined in RULES.ioc have changed slightly, and new -applications are now given a wrapper version which just includes $(EPICS_BASE)/configureRULES.ioc. -The new configure/Makefile contains an additional macro that causes the -contents of the configure/RELEASE file to be checked at build time for -consistency with all the support applications that it references. These -files should be replaced with copies of the new versions from <base>/templates/makeBaseApp/top/configure- -
Record and device support from base now exists in archive libraries -so baseLIBOBJS is no longer needed and the file and references to it in -the Makefile can be deleted. e.g. remove -- --include ../baseLIBOBJS-and the file baseLIBOBJS. If there are no LIBOBJS definitions in the Makefile, -also remove -example_OBJS += $(LIBOBJS)-
Add the new record and dev support libraries to <name>App/src/Makefile, -i.e. add the lines -- -example_LIBS += recIoc --and remove any references to iocLibrary, e.g. remove the line -
example_LIBS += softDevIoc -
example_LIBS += testDevIocexample_OBJS_vxWorks += $(EPICS_BASE_BIN)/iocCoreLibrary-The order of references to base libraries is important so place recIoc -and softDevIoc before the the other base library references. -If you are building on a WIN32 host add the following lines instead: -
# Use win32 object libs for registered support --
example_LIBS_win32 += recIocObj -
example_LIBS_win32 += softDevIocObj -
example_LIBS_win32 += testDevIocObj -
example_LIBS_DEFAULT += recIoc -
example_LIBS_DEFAULT += softDevIoc -
example_LIBS_DEFAULT += testDevIoc
Change all references to ioccrf in your application src directories -to iocsh e.g. -- -change #include "ioccrf.h" -
to #include "iocsh.h" -change ioccrf(argv[1]); -
to iocsh(argv[1]); -and change ioccrf(NULL); -
to iocsh(NULL); -in <name>App/src/exampleMain.c.
PROD targets will now be built for all target architectures. -If a product should be built only for host architectures change PROD to -PROD_HOST .e.g. in your application src Makefiles --LIBRARY and PROD changes -change PROD += caExample --
to PROD_HOST += caExample -
and -
change PROD = sncExample -
to PROD_HOST += sncExample
The meaning of LIBRARY and PROD have now changed. For vxWorks, -LIBRARY now means an archive library, OBJLIB is now a combined object file -(only needed for R3.13 compatibility) and PROD is now a combined object -file with library references resolved and will have a corresponding .munch -file created. Thus, in your application src Makefiles, -- -change LIBRARY_vxWorks = <name> --In the iocBoot/ioc<name>/st.cmd files, -
to PROD_vxWorks = <name> -
or -
remove the lines LIBRARY_vxWorks = <name> -
and PROD_RTEMS = <name> -
and change PROD = <name> -
to PROD_IOC = <name>.change ld < <name>Library.munch --A SRCS definition is now required for every PROD and LIBRARY source -file to determine correct header file dependancies. This is true even if -there is only one source file for the PROD or LIBRARY . Thus, for the PROD -caExample in your src Makefile, add the line -
to ld < <name>.munchcaExample_SRCS += caExample.c-
The created file registerRecordDeviceDriver.cpp is now used -for all target architectures. Thus in your application src Makefiles -- -change example_SRCS_DEFAULT += example_registerRecordDeviceDriver.cpp --
to example_SRCS += example_registerRecordDeviceDriver.cpp -
1. The RTEMS TFTP remote filesystem no longer ignores leading -`../' components in path names. All st.cmd file lines with path names -of the form dbLoadRecords("../../db/dbExample1.db","user=norume") -- -
must be changed to -
dbLoadRecords("db/dbExample1.db","user=norume") -The makeBaseApp.pl script distributed with R3.14-beta1 creates st.cmd -scripts with the proper path names. -
2. The RTEMS TFTP remote filesystem supports a limited set of chdir -operations. -
All paths passed to chdir (or to the IOC shell `cd' command) must end -in a `/' -
character.
-- - - diff --git a/RELEASE_NOTES.html b/RELEASE_NOTES.html deleted file mode 100644 index 360142b40..000000000 --- a/RELEASE_NOTES.html +++ /dev/null @@ -1,359 +0,0 @@ - - - - --
recGblGetTimeStamp
- -If TSE is -1 then recGblGetTimeStamp does not retrieve time. This allows device/driver support to set the time.
- -aiRecord and aoRecord: Setting eoff=egul
- -Instead of init_record executing code like
- if ((pai->linr == menuConvertLINEAR) && pdset->special_linconv) {
- pai->eoff = pai->egul;
- }
-
-
-It now executes:
- if ((pai->eslo==1.0) && (pai->eoff==0.0)) {
- pai->eoff = pai->egul;
- }
-
-aoRecord has a similar change
- -CA puts to disabled record
- -If a CA client issues a put to a disabled record then, when the record is ena -bled, database puts to the record will not make the record process until a CA pu -t is again issued. This is fixed.
- -TPRO - trace processing
- -If dbProcess is called recursively by different tasks, it did not properly -handle TPRO. Consider the following database:
-record(ao,"mrkao") {
- field(OUT,"mrkai CA")
- field(TPRO,"1")
-}
-record(ai,"mrkai") {
- field(TPRO,"1")
-}
-
-If a channel access put is sent to mrkao, no message is issued when mrkai -is processed.
- -This is now fixed.
- -TSconfigure
- -If in your st.cmd file you issue the command.
- -TSconfigure(0,0,0,0,0,0,1)
- -And set the TSE field of any record to a non zero value, then a crash will -occur when recGblGetTimeStamp is called.
- -This is now fixed.
- -calcoutRecord
- -nsev not sevr must be checked to decide if dbPutLink should be called.
- -dbCa
- -Whenever a connection is made, a request to retrieve the control, display, -and alarm linits and the precision and units is automatically issued. -Previously this was only done if dbCaGetAttributes was called. This it is no -longer necessary to call dbCaGetAttributes.
- -calcPerform
- -This now returns a non zero value if the result is nan (not a number).
- -Record Name Length
- -The size of the name field has been expanded from 29 to 61, i.e. record -names can now have 60 characters.
- -iocInit
- -initialProcess is now called before interruptAccept. This means that -initial processing will be done before periodically scanned and I/O Inter -scanned records start processing.
- -ellLib
- -Casts have been removed that suppressed valuable error messages
- -mbbiRecord
- -All existing manipulations of UDF in process() are removed and udf is set -FALSE when the raw value is successfully read.
- -selRecord
- -In do_sel udf is not set false at the beginning. If selm has an invalid -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
devAiSoftRaw and devAoSoftRaw
- -A new state is defined for the LINR field. The name is "SLOPE", which -allows any device type to be used with manual settings of the EOFF and ESLO -fields. With this setting, the device support's special_linconv() routine is -only called when LINR=LINEAR.
- -The RTEMS TFTP remote filesystem driver now supports a limited form of the -chdir() system call. One restriction is that all pathnames passed to chdir() -must end in a / character, so IOC shell commands to change directories must -be given as
- -cd ../db/
- -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 -against alpha2.
- -A verion of the HPlanGpib support has been built and tested with this -release. Again you must obtain a version that builds with alpha2.
- -A new update to the Application Developer's Guide is available for this -release.
- -change INSTALLDB to DB
- -change DBDINSTALL to DBD
-
-
This is the first release of 3.14. This is the first release that supports -iocCore on platforms besides vxWorks.
- -iocCore is now supported on the following platforms:
-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.
-
-It must be emphasized that this is an alpha release.