Skip to content

Commit 3994650

Browse files
committed
Add NDPluginPvxs docs
1 parent 4011427 commit 3994650

File tree

1 file changed

+66
-0
lines changed

1 file changed

+66
-0
lines changed

docs/ADCore/NDPluginPvxs.rst

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
NDPluginPvxs
2+
===========
3+
:author: James Souter, Diamond Light Source
4+
5+
.. contents:: Contents
6+
7+
Overview
8+
--------
9+
10+
This plugin reimplements the functionality of :ref:`NDPluginPva`, but requires the linking
11+
of the pvxs support module, with no requirement for the pvAccessCPP, pvDatabaseCPP, pvDataCPP or
12+
normativeTypesCPP support modules. The plugin wraps a pvxs SharedPV, which is added to
13+
the singleton PVXS server that is started when the IOC starts.
14+
15+
NDPluginPvxs defines the following parameters.
16+
17+
.. cssclass:: table-bordered table-striped table-hover
18+
.. flat-table::
19+
:header-rows: 2
20+
:widths: 5 5 5 70 5 5 5
21+
22+
* -
23+
-
24+
- **Parameter Definitions in NDPluginPvxs.h and EPICS Record Definitions in NDPvxs.template**
25+
* - Parameter index variable
26+
- asyn interface
27+
- Access
28+
- Description
29+
- drvInfo string
30+
- EPICS record name
31+
- EPICS record type
32+
* - NDPluginPvxsPvName
33+
- asynOctet
34+
- r/o
35+
- Name of the EPICSv4 PV being served
36+
- PV_NAME
37+
- $(P)$(R)PvName_RBV
38+
- waveform
39+
40+
41+
Configuration
42+
-------------
43+
44+
The NDPluginPvxs plugin is created with the ``NDPvxsConfigure`` command,
45+
either from C/C++ or from the EPICS IOC shell.
46+
47+
::
48+
49+
NDPvxsConfigure (const char *portName, int queueSize, int blockingCallbacks,
50+
const char *NDArrayPort, int NDArrayAddr, const char *pvName,
51+
size_t maxMemory, int priority, int stackSize)
52+
53+
54+
For details on the meaning of the parameters to this function refer to
55+
the detailed documentation on the NDPvxsConfigure function in the
56+
`NDPluginPvxs.cpp
57+
documentation <../areaDetectorDoxygenHTML/_n_d_plugin_pvxs_8cpp.html>`__ and
58+
in the documentation for the constructor for the `NDPluginPvxs
59+
class <../areaDetectorDoxygenHTML/class_n_d_plugin_pvxs.html>`__.
60+
61+
Starting the pvxs server
62+
----------------------------
63+
64+
Unlike NDPluginPva, the EPICSv4 PV will be automatically served in an IOC if the plugin
65+
is configured, however the
66+
`IOC must be built with pvxsIoc.dbd and the pvxs and pvxsIoc libraries. <https://epics-base.github.io/pvxs/building.html#including-pvxs-in-your-application>`

0 commit comments

Comments
 (0)