Hi Ganesh,
1. The getting guide started is a good place to start. It is correct with respect to the version 4.3 release, but I need to update it for version 4.4. It also
doesn’t describe pvDatabaseCPP, which is one option you might consider.
What EPICS V4 source are you using: 4.3, 4.4-pre1/2 or the mercurial repositories? I recommend trying the 4.4 pre release from the SourceForge site or the mercurial
repos as a lot has changed since 4.3. The instructions are in the guide about how to clone from SourceForge. I’ve put some basic instructions below if you want to build from the 4.4 pre-release tars.
There are 3 things you might try for creating V4 clients and servers. The best way to create a new example at the moment is to copy one of the ones described
below and modify it.
A. If you want to create an example RPC service the best way to do this is to copy
the HelloWorld example
and modify the server. You could modify the client or query the service with eget using the -z and -N options. Then you could also look at the Channel Archiver Service,
also in exampleCPP. Let me know if you have any problems with this.
B. If you have an existing V3 IOC you can make it publish PVs over pvAccess, effectively making a V4 IOC, using the pvaSrv module. It’s relatively straightforward
to do, just a configuration task, and should “just work”. The instructions are in the getting started guide, but note that you now don’t have to build pvIOCCPP to build pvaSrv if you’re building the latest mercurial code or the 4.4 release. Again, let me know
if you have any problems.
C. There is also a module called pvDatabaseCPP, which is included in the 4.4 release, but not the 4.3. You can also get it by cloning the mercurial repo. This
will allow you to create a pure V4 “IOC” without any V3 records and without publishing over channel access. I’ve used it for an areaDetector application and Kay’s used it for neutron data. [In both cases it’s used for transporting experimental data rather
than controls so these are not IOCs in the traditional sense.] You can create V4 records by deriving from a C++ class called PVRecord. pvDatabaseCPP is beta at the moment, but works pretty well. It has a number of examples you can try. To get started with
your own server copy one of the examples such as “exampleServer” and modify. There are example clients in this module too.
Which you do depends on what you’re trying to achieve. If you want to add pvAccess to an existing database use pvaSrv. If you want to write your own pure V4
IOC use pvDatabaseCPP. If you want to create a service look at exampleCPP.
2. You need a V3 installation, 3.14.12.x or above, to build the version 4 C++ libraries and applications.
3. There’s a documentation page on SourceForge:
http://epics-pvdata.sourceforge.net/literature.html
which has a number of documents and also includes Doxygen. Most of the modules have a documentation dir with an html file you can look at. You can also look
at the equivalent file for the Java code. The examples each have a quite detailed readme.
Hope that helps. Let me know if you have any questions.
Dave
Quick instructions for building pre2
------------------------------------------
$ tar zxf EPICS-CPP-4.4.0-pre2.tar.gz
$ cd EPICS-CPP-4.4.0-pre2
(with EPICS_BASE set to point to you EPICS V3 base installation)
$ chmod +x configure.sh
$ make configure
$ make
(if the ChannelArchiver is present in your installation you can set ARCHIVER_DIR with “export ARCHIVER_DIR=<archiver_dir>” and build the Channel Archiver service:
$ make configure
$ make default archSrv
)
then to build pvaPy
$ export EPICS4_DIR=`pwd`
$ cd pvaPy
$ make configure
$ make
Hi
I am starting with EPICS v4 C++. I have installed the same and completed Helloworld example.
1. But I could not figure out How to form own new IOC and application in v4. i.e. Something similar to makebaseApp.pl in EPICS v3 base.
Do we have to use EPICS base v3 IOC only
2. Is it possible to install and run EPICS v4 without EPICS v3.
3. Where to find beginner material and ppts for EPICS v4 C++. I am already referring to .http://epics-pvdata.sourceforge.net/gettingStarted.html
Thank you
Regards
Ganesh
____________________________________________
=====-----=====-----=====
Notice: The information contained in this e-mail
message and/or attachments to it may contain
confidential or privileged information. If you are
not the intended recipient, any dissemination, use,
review, distribution, printing or copying of the
information contained in this e-mail message
and/or attachments to it are strictly prohibited. If
you have received this communication in error,
please notify us by reply e-mail or telephone and
immediately and permanently delete the message
and any attachments. Thank you
This e-mail and any attachments may contain confidential, copyright and or privileged material, and are for the use of the intended addressee only. If you are not the intended addressee or an authorised recipient of the addressee please notify us of receipt by returning the e-mail and do not use, copy, retain, distribute or disclose the information in or attached to the e-mail.
Any opinions expressed within this e-mail are those of the individual and not necessarily of Diamond Light Source Ltd.
Diamond Light Source Ltd. cannot guarantee that this e-mail or any attachments are free from viruses and we cannot accept liability for any damage which you may sustain as a result of software viruses which may be transmitted in or with the message.
Diamond Light Source Limited (company no. 4375679). Registered in England and Wales with its registered office at Diamond House, Harwell Science and Innovation Campus, Didcot, Oxfordshire, OX11 0DE, United Kingdom