diff --git a/LICENSE.txt b/LICENSE.txt deleted file mode 100644 index 3f43ff2..0000000 --- a/LICENSE.txt +++ /dev/null @@ -1,78 +0,0 @@ - -Copyright (c) 2008 Martin R. Kraimer -Copyright (c) 2006 The University of Chicago, as Operator of Argonne - National Laboratory. -Copyright (c) 2006 Deutsches Elektronen-Synchrotron, - Member of the Helmholtz Association, (DESY), HAMBURG, GERMANY. -Copyright (c) 2007 Control System Laboratory, - (COSYLAB) Ljubljana Slovenia - - -Permission is hereby granted, free of charge, to any person -obtaining a copy of this software and associated documentation -files (the "Software"), to deal in the Software without -restriction, including without limitation the rights to use, -copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the -Software is furnished to do so, subject to the following -conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - -________________________________________________________________________ - -This software is in part copyrighted by the University of Chicago (UofC) - -In no event shall UofC be liable to any party for direct, indirect, -special, incidental, or consequential damages arising out of the use of -this software, its documentation, or any derivatives thereof, even if -UofC has been advised of the possibility of such damage. - -UofC specifically disclaims any warranties, including, but not limited -to, the implied warranties of merchantability, fitness for a particular -purpose, and non-infringement. This software is provided on an "as is" -basis, and UofC has no obligation to provide maintenance, support, -updates, enhancements, or modifications. - -________________________________________________________________________ - -This software is in part copyrighted by the BERLINER SPEICHERRING -GESELLSCHAFT FUER SYNCHROTRONSTRAHLUNG M.B.H. (BESSY), BERLIN, GERMANY. - -In no event shall BESSY be liable to any party for direct, indirect, -special, incidental, or consequential damages arising out of the use of -this software, its documentation, or any derivatives thereof, even if -BESSY has been advised of the possibility of such damage. - -BESSY specifically disclaims any warranties, including, but not limited -to, the implied warranties of merchantability, fitness for a particular -purpose, and non-infringement. This software is provided on an "as is" -basis, and BESSY has no obligation to provide maintenance, support, -updates, enhancements, or modifications. - -________________________________________________________________________ - -This software is in part copyrighted by the Deutsches Elektronen-Synchroton, - Member of the Helmholtz Association, (DESY), HAMBURG, GERMANY. - -In no event shall DESY be liable to any party for direct, indirect, -special, incidental, or consequential damages arising out of the use of -this software, its documentation, or any derivatives thereof, even if -DESY has been advised of the possibility of such damage. - -DESY specifically disclaims any warranties, including, but not limited -to, the implied warranties of merchantability, fitness for a particular -purpose, and non-infringement. This software is provided on an "as is" -basis, and DESY has no obligation to provide maintenance, support, -updates, enhancements, or modifications. -________________________________________________________________________ diff --git a/README.md b/README.md index fbbc9ed..068c7d2 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ For example: Status ------ -* The API is for release 4.5.0-pre1 +* The API is for EPICS Version 4 release 4.5.0 * Everything defined in pvaClient.h is ready but see below for remaining work. * Everything defined in pvaClientMultiChannel.h is ready but see below for remaining work. @@ -47,5 +47,4 @@ pvaClientMultiChannel For release 4.5 support is available for multiDouble and NTMultiChannel. In the future additional support should be provided that at least includes NTScalarMultiChannel. -Testing with some channels not connected have not been done. -At least some testing with missing channels should be done before final release 4.5 +Testing with some channels not connected has not been done. diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md new file mode 100644 index 0000000..2f5544a --- /dev/null +++ b/RELEASE_NOTES.md @@ -0,0 +1,11 @@ +Release/4.1 +=========== + +This is for EPICS V4 release 4.5 + +pvaClient is a synchronous API for pvAccess. + + +This is the first release of pvaClientCPP. +It provides an API that is similar to pvaClientJava. + diff --git a/documentation/pvaClientCPP.html b/documentation/pvaClientCPP.html index 10eb3b5..dabc299 100644 --- a/documentation/pvaClientCPP.html +++ b/documentation/pvaClientCPP.html @@ -28,7 +28,7 @@
This is an example of using pvaClientMultiChannel, pvaClientMultiGetDouble, pvaClientMultiPutDouble, and pvaClientMultiMonitorDouble.
+This is an example of using pvaClientMultiChannel, +pvaClientNTMultiGet, pvaClientNTMultiPut, pvaClientNTMultiMonitor, and pvaClientNTMultiData. +
This is an example of issuing a channelRPC request. It does not use pva.
diff --git a/documentation/pvaClientCPP_20151002.html b/documentation/pvaClientCPP_20151002.html new file mode 100644 index 0000000..dabc299 --- /dev/null +++ b/documentation/pvaClientCPP_20151002.html @@ -0,0 +1,186 @@ + + + + + +pvaClient is a software library that provides to an EPICS client programmer, a friendly +client side programming interface to the data of an EPICS based control system. It is intended +for such uses as rapid development of ad hoc programs by controls engineers, or to provide +scientists a way to directly develop analytical applications.
+ +Specifically, pvaClient provides a synchronous interface for pvAccess, which is the +software support for high speed controls network communications used in EPICS version 4. +pvAccess provides a callback based interface, which can be hard to use. +pvaClient provides an interface that does not require callbacks even for monitors. +
++pvaClientChannel provides many "convenience" methods to directly get and put +scalar and scalarArray data types. +Additional methods provide access to the full features of pvAccess. +
++pvaClientMultiChannel provides access to data from multiple channels. +It can be used directly by a client or via pvaClientMultiDouble or pvaClientNTMultiChannel. +pvaClientMultiDouble allows the client to get and put data to multiple channels. +But each channel must have a value field that is a numeric scalar. +pvaClientNTMultiChannel allows the client to get and put data to multiple channels. +Each channel must have a value field. +The data for the channels is presented via normative type NTMultiChannel. +
+ +For more information about EPICS generally, please refer to the home page of the Experimental Physics and Industrial + Control System.
+ + + +pvaClientCPP is ready for use.
+ +pvaClient is a synchronous API for accessing PVData via PVAccess. It provides +an interface to many of the features provided by pvData and pvAccess.
+ +This document describes the layout of the source files in this project.
++A user overview is available via +pvaClientOverview.html + +
++Doxygen documentation is available at +doxygenDoc + +
+The examples require that the database provided by project pvaClientTestCPP +is running. +For example:
++mrk> pwd +/home/epicsv4/pvaClientTestCPP/database/iocBoot/exampleDatabase +mrk> ../../bin/linux-x86_64/exampleDatabase st.cmd ++
Examples are in directory example/src. +An example of how to run them is:
++mrk> pwd +/home/epicsv4/pvaClientCPP/example +mrk> bin/linux-x86_64/examplePvaClientGet ++
The following is a brief description of each example. +In order to understand each example it +helps to also look at the source for the example.
+This has a number of examples:
+This is an example of creating a monitor on a channel. +It monitors a scalar double field. +It also issues puts to the same channel so that it can make the monitors occur. +
+This example gets and puts to channels exampleDouble +and exampleDoubleArray.
+This example makes a process request to channel exampleDouble.
+This is an example of issuing a channelPutGet.
+This is an example of using pvaClientMultiChannel, +pvaClientMultiGetDouble, pvaClientMultiPutDouble, and pvaClientMultiMonitorDouble. +
+This is an example of using pvaClientMultiChannel, +pvaClientNTMultiGet, pvaClientNTMultiPut, pvaClientNTMultiMonitor, and pvaClientNTMultiData. +
+This is an example of issuing a channelRPC request. +It does not use pva.
+This provides methods for connecting to multiple channels.
This provides support for channelGet to multiple channels. +
This provides support for channelGet to multiple channels where each channel has a value field that is a numeric scalar.
This provides support for channelPut to multiple channels. +
This provides support for channelPut to multiple channels where each channel has a value field that is a numeric scalar.
This provides support for monitoring changes to multiple channels. +
This provides support for monitoring changes to multiple channels where each channel has a value field that is a numeric scalar. +
+This provides support for channelGet to multiple channels where each channel has a value field that has any valid type. +
+This provides support for channelPut to multiple channels where each channel has a value +field that has any valid type. +
+This provides support for monitoring changes to multiple channels where each channel has a +value field that has any valid type. +
+This provides support for monitoring changes to multiple channels where each channel has a value field that has any valid type. +The client can get the data as normative type NTMultiChannel.
diff --git a/jenkins/cloudbees_build b/jenkins/cloudbees_build index 479e629..a389eb5 100644 --- a/jenkins/cloudbees_build +++ b/jenkins/cloudbees_build @@ -18,10 +18,10 @@ BASE=${1:-${DEFAULT_BASE}} USE_MB=${2:-"MB_NO"} # Dependent module branches (empty = master) -PVCOMMON_BRANCH="" -PVDATA_BRANCH="" -PVACCESS_BRANCH="" -NORMATIVETYPES_BRANCH="" +PVCOMMON_BRANCH="Release-4.1-" +PVDATA_BRANCH="Release-5.0-" +PVACCESS_BRANCH="Release-4.1-" +NORMATIVETYPES_BRANCH="Release-5.0-" ########################################### # Fetch and unpack dependencies diff --git a/jenkins/cloudbees_doc b/jenkins/cloudbees_doc index 68fd2d0..c9d1eb5 100644 --- a/jenkins/cloudbees_doc +++ b/jenkins/cloudbees_doc @@ -46,6 +46,5 @@ if [ "${PUBLISH}" != "DONT" ]; then # Upload explicit dummy to ensure target directory exists echo "Created by CloudBees Jenkins upload job. Should be deleted as part of the job." > DUMMY rsync -q -e ssh DUMMY epics-jenkins@web.sourceforge.net:/home/project-web/epics-pvdata/htdocs/docbuild/pvaClientCPP/${PUBLISH}/DUMMY - rsync -aqP --delete -e ssh documentation epics-jenkins@web.sourceforge.net:/home/project-web/epics-pvdata/htdocs/docbuild/pvaClientCPP/${PUBLISH}/ fi