Looking for the latest version? Download EPICS-CPP-4.3.0.tar.gz (5.5 MB)
Home
Name Modified Size Downloads / Week Status
Totals: 9 Items   503.7 kB 3
4.4.0-dev1 2014-07-01 8 weekly downloads
4.3.0 2013-10-24 7 weekly downloads
1.0.1-BETA 2013-02-06 1 weekly downloads
2.0-BETA 2013-01-11 1 weekly downloads
marchtest 2012-03-07 2 weekly downloads
1.0-BETA 2012-02-08 1 weekly downloads
README 2013-08-28 13.2 kB 11 weekly downloads
jca-2.3.2.jar 2011-11-28 246.5 kB 11 weekly downloads
caj-1.1.8.jar 2011-11-28 244.0 kB 11 weekly downloads
EPICS V4 README This README file describes the download files available for EPICS V4, and includes all versions. EPICS V4 [1] is a software toolkit for developing advanced control systems on top of EPICS [2], and fast service oriented architectures. epics-pvdata is a SourceForge project for managing the development of EPICS version 4. ----------------------------------------------------------------------------- Status: This is the 27-Aug-2013 version of the README. This version is as previous version for EPICS V4.3.0, but adds the new RPC feature and some matters of formatting. ----------------------------------------------------------------------------- Author: 28-Nov-2011 Greg White (GREG@SLAC.STANFORD.EDU) for EPICS V4 team [1] Mod: 22-Aug-2013, Greg White, Added 4.3.0. 22-Jan-2013, Ralph Lange, moved pvaSrv out of pvIOCCPP. 11-Jan-2013, Greg White, edited for BETA 2. 13-Mar-2012, James Rowland, Added C++ release "Marchtest" for internal review only. 20-Dec-2011, Greg White, for 1.0-BETA, Java and C++. 11-Jan-2012, Greg White, for EPICSv4-Java-1.0-BETA.tar.gz 08-Feb-2012, Greg White, for EPICSv4-Java-1.0-1-BETA.tar.gz ----------------------------------------------------------------------------- 4.3.0 ===== As of 22-Aug-2013, the latest version of EPICS V4 is 4.3.0. SUMMARY ------- 4.3.0 concentrates on making it easy to work with the existing features of EPICS V4, while using EPICS Base V3.14/15 IOCs as the control system foundation. These include two new interfaces to Base IOC data, including over Channel Access, enabling many options for configuring a high performance and highly functional scientific instrument control environment. Other features include an easy to use API, improved command line, examples, and directory service. For more information see FEATURE ADDITIONS AND MAJOR CHANGES SINCE LAST RELEASE below. See the document "Getting Started with EPICS V4, http://epics-pvdata.sourceforge.net/gettingStarted.html DISTRIBUTION FILES FOR THIS VERSION ----------------------------------- The file EPICS-Java-4.3.0.tar.gz [possibly suffixed -pre or rc] includes all (and only) the Java implementation of EPICS V4.3.0. On Unix systems, the tar file might be unpacked with the command: % tar xvfz EPICS-Java-4.3.0.tar.gz The file EPICS-CPP-4.3.0.tar.gz [possibly suffixed -pre or rc] includes all (and only) the C++ implementation of EPICS V4.3.0. On Unix systems, the tar file might be unpacked with the command: % tar xvfz EPICS-CPP-4.3.0.tar.gz You may also clone the Mercurial repos directly [22], using the tags for 4.3.0 as specified in RELEASE_VERSIONS [19]. MODULES COMPRISING VERSION -------------------------- The exact modules and their versions, that comprise the EPICS V4.3.0 release, are defined in RELEASE_VERSIONS [19]. This includes the versions of both the C++ and Java implementation. The distribution tars are in fact generated automatically from the contents of [19]. C++ Module Summary: pvAccessCPP The EPICS V4 "wire protocol". Supports pvData [6] [7]. pvDataCPP Support for high performance data interchange [8]. pvCommonCPP Utility libraries. pvIOCCPP Deprecated. Only included in distribution for one part needed by pvaSrv (below). exampleCPP Code examples, including use of pvData containers, RPC, demo servers. pvaSrv An EPICS Base IOC plugin interfacing CA data to pvAccess. Java Module Summary: pvAccessJava The EPICS V4 "wire protocol". Supports pvData [6][7]. pvDataJava Support for high performance data interchange [8]. easyPVA A somewhat easier to use Java API for pvAccess. exampleJava Code examples, including use of pvData containers, RPC, demo servers. directoryService EPICS V4 interface to classic EPICS Channel Finder [20]. caj An all java implementation of the Channel Access protocol. jca A Java API and wrapper interface to the C++ implementation of the Channel Access protocol. FEATURE ADDITIONS AND MAJOR CHANGES SINCE LAST RELEASE ------------------------------------------------------ The release before 4.3.0 was called 2.0-BETA. 1. You can access Base IOC PV data over pvAccess. This gives the speed and facilities of pvAccess to accesses of Base IOCs, and provides the basis for coming work to allow data of a group of IOC channels to be get or set as a single call through pvAccess. See pvaSrv. 2. PV value I/O can now be done over the Channel Access protocol using only the pvAccess client. pvAccess contains Channel Access, as a "provider". This is now available in both C++ and Java implementations of pvAccess. This is useful if you want to do all your client side PV access (both Base IOC and services, through a single client side, pvAccess). See pvAccess. 3. vxWorks is directly supported. That is, a pvaSrv module may be loaded into a vxWorks IOC. 4. An easy to use API, "easyPVA", has been added. 5. The support for RPC PVs (PV value subject to arguments) has been much simplified and extended. There is now a client side library for RPC as well as the server side framework, and the server side is now very easy indeed. These extentions have been made in both, C++ and Java. 6. C++ Examples. exampleCPP contains examples of coding both simple (helloWorld) and more complex services (EPICS Archiver access). 7. Get lists of PVs in an IOC, or many other kinds of other system-wid meta-data, all within the pvAccess protocol. This is provided by a new simple pvAccess server instance called directoryService [20], that interfaces to the EPICS Channel Finder [21]. Non-Functional changes for V4.3 ------------------------------- 1. pvIOCjava is no longer distributed. It is intended that as of EPICS 4.3.0, control is done by IOCs running EPICS Base v3.14 or 15. pvIOCJava is being re-worked to support host level high performance data processing using the data flow model, for such applications as high throughput image processing. It may re-emerge in the next release, probably renamed pvProcessor. 2. The version numbering of the EPICS suite (now 4.3) has been seperated from the version numbering of its composite modules. This allows for far improved specificity for indicating backward and forward compatibility through version numbers, and makes for far more streamlined packaging and distribution. The packaging process is in fact now completely file driven, so we could in theory package and distribute a new version of the suite in minutes. See instructions in "Getting Started with EPICS V4" [16]. This includes both how to build the Java distribution from sources downloaded from the Mercurial repositories at SourceForge, and the alternative of downloading the tar.gz. ----------------------------------------------------------------------------------- 2.0-BETA (aka V4.2) ==================== SUMMARY ------- The latest tagged release of both C++ and Java implementations of EPICS V4 are in directories and tags named 2.0-BETA. The C++ implementation of EPICS V4 is in 2.0-BETA/EPICSv4-2.0-BETA.tar.gz The Java implementation of EPICS V4 is in 2.0-BETA/EPICSv4-Java-2.0-BETA.tar.gz "Marchtest" for internal review only. See the document "Getting Started with EPICS V4," http://epics-pvdata.sourceforge.net/gettingStarted.html FILES FOR EPICS V4 C++ IMPLEMENTATION ------------------------------------- The file EPICSv4-2.0-BETA.tar.gz includes all (and only) the C++ implementation of EPICS V4, plus a make system based on EPICS V3's makefiles. This is available under folder 2.0-BETA/. Build instructions and example usage are given in [16]. MINIMUM FILES FOR EPICS V4 JAVA IMPLEMENTATION ---------------------------------------------- The file EPICSv4-Java-2.0-BETA.tar.gz includes all (and only) the Java implementation of EPICS V4. On Unix systems, the tar file might be unpacked with the command: % tar xvfz EPICSv4-Java-2.0-BETA.tar.gz Specifically the tar includes the following JAR files, plus the source for some examples (in examplesJava/) plus necessary XML files and scripts. pvAccess-2.0-BETA.jar * The EPICS V4 "wire protocol" [6] [7] pvData-2.0-BETA.jar * The EPICS V4 support for high performance data interchange [8] pvIOC-2.0-BETA.jar * The EPICS V4 Input/Output Processor (IOC). I.e. the server side [9] exampleJava/ Examples of use of EPICS V4 Remote Procedure Calling (a PV that takes arguments). Note that, for the beta 2 distribution, pvService is not longer distributed and is deprecated. It is not included in the beta 2 jars or tar file. (*) The specific version number may change following modification of this README. See instructions in "Getting Started with EPICS V4" [16]. This includes both how to build the Java distribution from sources downloaded from the Mercurial repositories at SourceForge, and the alternative of downloading the tar.gz. EXAMPLES -------- You can find examples in the various test/ subdirectories, and in exampleJava [14] and exampleCPP directories. FOR CONNECTING EPICS V4 to EPICS V3 IN C++ ------------------------------------------- See pvaSrv documentation [17], v3Channel section, for help on connecting EPICS V3 records to EPICS V4. FOR CONNECTING EPICS V4 to EPICS V3 IN JAVA -------------------------------------------- The pvAccess server (part of pvAccess, above) allows an existing Channel Access client to access a javaIOC database. The client allows the javaIOC to communicate with a Version 3 server, i.e. a javaIOC database can have links to records in a V3 IOC database. For these functions you will need the following files: These are available from the epics-pvdata SourceForge download site, or you can get them from the references provided. caj-1.1.8.jar The native java Channel Access [5] library [3] jca-2.3.5.jar The API for the Java code interaction with EPICS Channel Access [4] USEFUL EXTERNAL SOFTWARE ------------------------ These are NOT available from the epics-pvdata SourceForge download site. 1. oncrpc is an implementation of sun rpc which is required for VXI11 support. Find a JAR for it at https://sourceforge.net/apps/trac/remotetea/wiki/WikiStart [10]. Our pvIOC SNAPSHOT uses version 1.0.7. 2. For testing EPICS V4 it is very useful use the "SWTshell" GUI application [11] that helps you interactively configure the EPICS V4 interface. For this you need to the swt.jar. To get it, you can eiher install Eclipse and find swt*.jar in your eclipse install around .../eclipse/plugins/org.eclipse.swt**.jar, or download it from http://www.eclipse.org/swt/ [12]. See the EPICS V4 helloWorld example service's runner script [13] for an example of including swt for Mac OS Cocoa at runtime. References ---------- [1] The EPICS V4 homepage, http://epics-pvdata.sourceforge.net [2] EPICS homepage, http://www.aps.anl.gov/epics [3] CAJ homepage, such as it is, http://epics-jca.sourceforge.net/caj/ [4] JCA homepage, http://epics-jca.sourceforge.net/jca/ [5] Channel Access Reference, http://www.aps.anl.gov/epics/base/R3-14/8-docs/CAref.html [6] pvAccess Specification, http://epics-pvdata.sourceforge.net/pvAccess_Protocol_Specification.html [7] pvAccess Java documentation, http://epics-pvdata.sourceforge.net/hgweb/pvAccessJava/raw-file/tip/documentation/pvAccessJava.html [8] pvData Java documentation, http://epics-pvdata.sourceforge.net/hgweb/pvDataJava/raw-file/tip/documentation/pvDataJava.html [9] pvIOC Java documentation, http://epics-pvdata.sourceforge.net/hgweb/pvIOCJava/raw-file/tip/documentation/pvIOCJava.html [10] RemoteTeo implementation of ONC/RPC, https://sourceforge.net/apps/trac/remotetea/wiki/WikiStart [11] SWTShell for pvIOC, http://epics-pvdata.sourceforge.net/doc/pvIOCJava/swtshell.html [12] SWT: Standard Widget Toolkit, http://www.eclipse.org/swt/ [13] helloWorld runtime setup script, http://epics-pvdata.sourceforge.net/hgweb/exampleJava/file/576e59c105e9/src/helloWorld/helloWorld_setup.bash [14] exampleJava, examples of use of EPICS V4 java binding, http://epics-pvdata.sourceforge.net/hgweb/exampleJava/file/tip/src [15] ChannelRPC facility javadoc in pvIOC, http://epics-pvdata.sourceforge.net/doc/pvIOCJava/rpcSupport.html [16] Getting Started with EPICS V4, http://epics-pvdata.sourceforge.net/gettingStarted.html [17] pvaSrv documentation, http://epics-pvdata.sourceforge.net/docbuild/pvaSrv/tip/documentation/pvaSrv.html [18] exampleCPP, examples of use of EPICS V4 C++ binding, http://epics-pvdata.sourceforge.net/hgweb/exampleCPP/ [19] RELEASE_VERSIONS, http://sourceforge.net/p/epics-pvdata/pvDataWWW/ci/default/tree/scripts/RELEASE_VERSIONS [20] EPICS V4 directoryService, http://www.epics2013.org/dms/EPICS2013/presentations/wednesday/Session_3/V4_Lange_ChannelFinder.pdf [21] EPICS Channel Finder, http://channelfinder.sourceforge.net [22] Mercurial Repos of EPICS V4, https://sourceforge.net/p/epics-pvdata/_list/hg
Source: README, updated 2013-08-28