Files
pva2pva/documentation/mainpage.dox
Michael Davidsaver 536f4dd02f finalize doxygen
2019-11-03 20:08:49 -08:00

93 lines
2.1 KiB
Plaintext

/**
@mainpage pva2pva Home of QSRV and pvAccess 2 pvAccess gateway
- [Source](https://github.com/epics-base/pva2pva)
- [Download](https://sourceforge.net/projects/epics-pvdata/files/)
@section qsrv QSRV
@ref qsrv_page is a network server using the PVAccess protocol which
runs inside an EPICS IOC process and allows clients
to make requests to access the Process Variables (PVs)
within.
Documentation of @ref qsrv_config including @ref qsrv_group_def ,
@ref qsrv_aslib
and @ref qsrv_link configuration.
- @ref release_notes
@subsection qsrv_build Building
To build the latest from version control
@code
git clone --recursive --branch core/master https://github.com/epics-base/epics-base.git
cd epics-base
make
@endcode
@subsection qsrv_quick Quick Start
The pva2pva module builds an executable 'softIocPVA' which function like the 'softIoc' executable
built by EPICS Base, with QSRV included as well.
@code
cd modules/pva2pva
cat <<EOF > p2pexample.db
record(calc, "p2p:example:counter") {
field(INPA, "p2p:example:counter")
field(CALC, "A+1")
field(SCAN, "1 second")
}
EOF
./bin/linux-x86_64/softIocPVA -d p2pexample.db
@endcode
Then in another shell run:
@code
cd modules/pvAccess
./bin/linux-x86_64/pvget p2p:example:counter
@endcode
@subsection qsrv_include Adding QSRV to your IOC
QSRV is added to an IOC just like any other EPICS support module.
In the Makefile which produces an IOC executable (eg. "myiocname")
add:
@code
PROD_HOST += myiocname
# include QSRV
myiocname_DBD += base.dbd
myiocname_DBD += PVAServerRegister.dbd
myiocname_DBD += qsrv.dbd
myiocname_LIBS += qsrv
myiocname_LIBS += $(EPICS_BASE_PVA_CORE_LIBS)
myiocname_LIBS += $(EPICS_BASE_IOC_LIBS)
@endcode
Now run your IOC and QSRV starts automatically.
@subsubsection qsrv_quick_sts Status monitoring
In a running IOC w/ QSRV, run the "pvasr" in the IOC shell and verify
that "QSRV" is among the "PROVIDER_NAMES".
@code
epics> pvasr
VERSION : pvAccess Server v6.0.0-SNAPSHOT
PROVIDER_NAMES : QSRV,
BEACON_ADDR_LIST :
AUTO_BEACON_ADDR_LIST : 1
BEACON_PERIOD : 15
BROADCAST_PORT : 5076
SERVER_PORT : 5075
RCV_BUFFER_SIZE : 16384
IGNORE_ADDR_LIST:
INTF_ADDR_LIST : 0.0.0.0
@endcode
*/