2014-06-19 21:48:47 +02:00
2013-09-10 16:59:38 -04:00
2014-04-29 12:11:32 -05:00
2011-09-22 14:36:56 +02:00
2012-06-15 14:47:16 +02:00
2013-02-26 16:24:53 +01:00
2013-08-29 16:12:29 -07:00
2013-02-26 17:23:43 +01:00
2014-06-10 00:09:08 +02:00
2013-09-03 10:33:04 +02:00
2014-06-04 10:22:04 +02:00
2014-06-11 09:39:50 +02:00

README OF pvAccessCPP

pvAccess is a computer communications protocol for control systems, and is a central 
component of the EPICS software toolkit. PvAccessCPP is the name of the software 
module which contains the C++ implementation of pvAccess.

---------------------------------------------------------------------------
Auth: Matej Sekoranja, matej.sekoranja@cosylab.com, Oct-2011.
Mod:  Greg White, greg@slac.stanford.edu, 28-Aug-2013
      Added USAGE and header and stuff.
===========================================================================

pvAccessCPP is sourced in the "EPICS Version 4 project in Sourceforge [1].  
pvAccessJava, the Java implementation of PVAccess [3].

BUILD
=====
This section describes how to compile, link and install pvAccessCPP.

[To be added]

USAGE
=====
This section describes how to set up the runtime environment of pvAccessCPP.

For simplicity, the following describes the setup of a pvAccess endpoint,
regardless of whether the endpoint is server or client side. In practice, parts
of each step may be omitted depending on whether the endpoint is a server or
client.
 
1. Define the following environment variables:

      EPICS_BASE - MUST be assigned to the top level directory of a local installation of 
                   EPICS base, of version 3.14; per the RELEASE.local file
                   used to build this pvAccessCPP. 
      PVCOMMON   - MUST be assigned to the top level directory of a local installation of
                   pvCommonCPP [5], per the RELEASE.local file
                   used to build this pvAccessCPP.
      PVDATA     - MUST be assigned to the top level directory of a local installation of
                   pvDataCPP [4], per the RELEASE.local file
                   used to build this pvAccessCPP. 

2. Add the pvAccessCPP binaries to your PATH.

   Regarding EPICS_HOST_ARCH: in general pvAccessCPP endpoints will attempt to  
   establish their runtime architecture at runtime using
   $EPICS_BASE/startup/EpicsHostArch, but bear in mind that script is not
   completely reliable. It's a good idea to set EPICS_HOST_ARCH explicitly in
   your setup.

   
Example Usage
-------------
For example, the following source bash script can be used to set up both client
and server processes for running and usign the pvAccess test server
(testServer). testServer can be found in the root directory of pvAccessCPP.

$ cat testServer_setup.bash 
export EPICS_BASE=${HOME}/Development/epicsV3/base-3.14.12.2
export PVCOMMON=${HOME}/Development/epicsV4/4-3test/CPP-4-3-0/pvCommonCPP
export PVDATA=${HOME}/Development/epicsV4/4-3test/CPP-4-3-0/pvDataCPP
export EPICS_HOST_ARCH=darwin-x86
export PATH=${HOME}/Development/epicsv4/4-3test/CPP-4-3-0/pvAccessCPP/bin/${EPICS_HOST_ARCH}:${PATH}

TESTING
=======
This section describes how you can test and demo pvAccess.

A test server is shipped with pvAccessCPP. See the file pvAccessCPP/DEMO for
examples of usage. To run the server, write a setup script like that above, and
then use it prior to executing "runTestServer":

$ source testServer_setup.bash
$ ./runTestServer 
Starting pvAccess C++ test server...
VERSION : pvAccess Server v3.0.1
PROVIDER_NAMES : local
BEACON_ADDR_LIST : 
AUTO_BEACON_ADDR_LIST : 1
BEACON_PERIOD : 15
BROADCAST_PORT : 5076
SERVER_PORT : 5075
RCV_BUFFER_SIZE : 16384
IGNORE_ADDR_LIST: 
STATE : INITIALIZED

Then, another window, you can go through the demos in pvAccessCPP/DEMO. For
example:

$ pvget testValue
testValue                     0




 



REFERENCES
==========
[1] http://epics-pvdata.sourceforge.net
[2] http://sourceforge.net/p/epics-pvdata/pvAccessCPP/ci/default/tree/
[3] http://sourceforge.net/p/epics-pvdata/pvAccessJava/ci/default/tree/
[4] http://sourceforge.net/p/epics-pvdata/pvDataCPP/ci/default/tree/
[5] http://sourceforge.net/p/epics-pvdata/pvCommonCPP/ci/default/tree/

Description
No description provided
Readme 15 MiB
Languages
C++ 63.4%
C 35.3%
Python 0.8%
Makefile 0.5%