0.3.1
PVXS Python / win64 3.10 (push) Failing after 1s
PVXS Python / win64 3.5 (push) Failing after 0s
PVXS Python / win64 3.6 (push) Failing after 0s
PVXS Python / win64 3.7 (push) Failing after 0s
PVXS Python / win64 3.8 (push) Failing after 0s
PVXS Python / win64 3.9 (push) Failing after 0s
PVXS EPICS / Linux centos 7 (push) Failing after 1s
PVXS EPICS / Linux fedora 34 (push) Failing after 2s
PVXS Python / linux64 test (push) Failing after 1s
PVXS Python / linux 2.7 i686 (push) Failing after 7s
PVXS Python / linux 2.7u i686 (push) Failing after 7s
PVXS Python / linux 3.5 i686 (push) Failing after 7s
PVXS Python / linux 3.6 i686 (push) Failing after 7s
PVXS Python / linux 3.7 i686 (push) Failing after 7s
PVXS Python / linux 3.8 i686 (push) Failing after 7s
PVXS Python / linux 3.9 i686 (push) Failing after 8s
PVXS Python / linux 2.7 amd64 (push) Failing after 7s
PVXS Python / linux 2.7u amd64 (push) Failing after 7s
PVXS Python / linux 3.5 amd64 (push) Failing after 7s
PVXS Python / linux 3.6 amd64 (push) Failing after 8s
PVXS Python / linux 3.7 amd64 (push) Failing after 7s
PVXS Python / linux 3.9 amd64 (push) Failing after 7s
PVXS Python / linux 3.10 amd64 (push) Failing after 7s
PVXS Python / linux 3.8 amd64 (push) Failing after 13s
PVXS EPICS / Native Linux with 3.14 (push) Cancelled after 0s
PVXS EPICS / Native Linux with 3.15 (push) Cancelled after 0s
PVXS EPICS / Native Linux with clang (push) Cancelled after 0s
PVXS EPICS / OSX (push) Cancelled after 0s
PVXS EPICS / Native Linux (WError) (push) Cancelled after 0s
PVXS EPICS / Cross mingw64 DLL (push) Cancelled after 0s
PVXS EPICS / RTEMS5 (push) Cancelled after 0s
PVXS EPICS / Native Linux with libevent stable (push) Cancelled after 0s
PVXS EPICS / Cross mingw64 static (push) Cancelled after 0s
PVXS EPICS / vs2019 DLL (push) Cancelled after 0s
PVXS EPICS / vs2019 static (push) Cancelled after 0s
PVXS Python / osx 3.7 intel (push) Cancelled after 0s
PVXS Python / osx 2.7 intel (push) Cancelled after 0s
PVXS Python / osx 3.10 intel (push) Cancelled after 0s
PVXS Python / osx 3.6 intel (push) Cancelled after 0s
PVXS Python / osx 3.8 intel (push) Cancelled after 0s
PVXS Python / osx 3.9 intel (push) Cancelled after 0s
PVXS Python / win64 3.10 (push) Failing after 1s
PVXS Python / win64 3.5 (push) Failing after 0s
PVXS Python / win64 3.6 (push) Failing after 0s
PVXS Python / win64 3.7 (push) Failing after 0s
PVXS Python / win64 3.8 (push) Failing after 0s
PVXS Python / win64 3.9 (push) Failing after 0s
PVXS EPICS / Linux centos 7 (push) Failing after 1s
PVXS EPICS / Linux fedora 34 (push) Failing after 2s
PVXS Python / linux64 test (push) Failing after 1s
PVXS Python / linux 2.7 i686 (push) Failing after 7s
PVXS Python / linux 2.7u i686 (push) Failing after 7s
PVXS Python / linux 3.5 i686 (push) Failing after 7s
PVXS Python / linux 3.6 i686 (push) Failing after 7s
PVXS Python / linux 3.7 i686 (push) Failing after 7s
PVXS Python / linux 3.8 i686 (push) Failing after 7s
PVXS Python / linux 3.9 i686 (push) Failing after 8s
PVXS Python / linux 2.7 amd64 (push) Failing after 7s
PVXS Python / linux 2.7u amd64 (push) Failing after 7s
PVXS Python / linux 3.5 amd64 (push) Failing after 7s
PVXS Python / linux 3.6 amd64 (push) Failing after 8s
PVXS Python / linux 3.7 amd64 (push) Failing after 7s
PVXS Python / linux 3.9 amd64 (push) Failing after 7s
PVXS Python / linux 3.10 amd64 (push) Failing after 7s
PVXS Python / linux 3.8 amd64 (push) Failing after 13s
PVXS EPICS / Native Linux with 3.14 (push) Cancelled after 0s
PVXS EPICS / Native Linux with 3.15 (push) Cancelled after 0s
PVXS EPICS / Native Linux with clang (push) Cancelled after 0s
PVXS EPICS / OSX (push) Cancelled after 0s
PVXS EPICS / Native Linux (WError) (push) Cancelled after 0s
PVXS EPICS / Cross mingw64 DLL (push) Cancelled after 0s
PVXS EPICS / RTEMS5 (push) Cancelled after 0s
PVXS EPICS / Native Linux with libevent stable (push) Cancelled after 0s
PVXS EPICS / Cross mingw64 static (push) Cancelled after 0s
PVXS EPICS / vs2019 DLL (push) Cancelled after 0s
PVXS EPICS / vs2019 static (push) Cancelled after 0s
PVXS Python / osx 3.7 intel (push) Cancelled after 0s
PVXS Python / osx 2.7 intel (push) Cancelled after 0s
PVXS Python / osx 3.10 intel (push) Cancelled after 0s
PVXS Python / osx 3.6 intel (push) Cancelled after 0s
PVXS Python / osx 3.8 intel (push) Cancelled after 0s
PVXS Python / osx 3.9 intel (push) Cancelled after 0s
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
.. _clientapi:
|
||||
|
||||
Client
|
||||
======
|
||||
Client API
|
||||
==========
|
||||
|
||||
`pvxs::client::Context` represents a PVA protocol client. ::
|
||||
|
||||
|
||||
@@ -9,22 +9,20 @@ PVXS is functionally equivilant to the
|
||||
`pvAccessCPP <https://github.com/epics-base/pvAccessCPP>`_ modules,
|
||||
which it hopes to eventually surplant (Ok, the author hopes).
|
||||
|
||||
The canonical version of this page is https://mdavidsaver.github.io/pvxs
|
||||
|
||||
Versioned source can be found at https://github.com/mdavidsaver/pvxs ,
|
||||
which is also where `issues <https://github.com/mdavidsaver/pvxs/issues>`_ should be reported.
|
||||
See :ref:`reportbug`.
|
||||
Also :ref:`contrib` if you are so inclined.
|
||||
- VCS: https://github.com/mdavidsaver/pvxs
|
||||
- Docs: https://mdavidsaver.github.io/pvxs
|
||||
- `Issues <https://github.com/mdavidsaver/pvxs/issues>`_ (see :ref:`reportbug`)
|
||||
- :ref:`contrib`
|
||||
|
||||
Dependencies
|
||||
|
||||
* A C++11 compliant compiler
|
||||
|
||||
* GCC >= 4.8
|
||||
* Visual Studio >= 2015 (>= 12.0)
|
||||
* Visual Studio >= 2015 / 12.0
|
||||
|
||||
* `EPICS Base <https://epics-controls.org/resources-and-support/base/>`_ >=3.15.1
|
||||
* `libevent <http://libevent.org/>`_ >=2.0.1
|
||||
* `libevent <http://libevent.org/>`_ >=2.0.1 (Optionally bundled)
|
||||
* (optional) `CMake <https://cmake.org/>`_ >=3.1, only needed when building bundled libevent
|
||||
|
||||
See :ref:`building` for details.
|
||||
|
||||
+26
-13
@@ -14,11 +14,11 @@ https://epics.anl.gov/
|
||||
What is PVAccess?
|
||||
^^^^^^^^^^^^^^^^^
|
||||
|
||||
The PVAccess network protocol is a hybrid supporting request/response,
|
||||
PVAccess is network protocol supporting both request/response,
|
||||
and publish/subscribe operations.
|
||||
|
||||
PVA is closely related to the Channel Access (CA) protocol,
|
||||
which may work alongside, and is intended to supersede.
|
||||
which PVA may work alongside, and is intended to supersede.
|
||||
|
||||
Four protocol operations are supported by PVXS.
|
||||
|
||||
@@ -33,26 +33,39 @@ Get, Put, Monitor, and RPC are to the PVA protocol what GET, PUT, POST are to th
|
||||
What is a PV?
|
||||
^^^^^^^^^^^^^
|
||||
|
||||
In the EPICS world a Process Variable (PV) refers to the idea of
|
||||
a globally addressed data structure. An EPICS control system is
|
||||
composed of many PVs (in the millions for large facilities). The present value of
|
||||
a PV is modified by a combination of remote operations via CA
|
||||
and/or PVA, and via local processing (eg. values read from local
|
||||
hardware).
|
||||
In the EPICS world a Process Variable (PV) refers to the idea of a globally addressed data structure.
|
||||
An EPICS control system is composed of many PVs.
|
||||
In the millions for large facilities.
|
||||
The present value of a PV is modified by a combination of remote operations via CA and/or PVA,
|
||||
and via local processing (eg. values read from local hardware).
|
||||
|
||||
A common example of a PV is a measurement value, for example
|
||||
a temperature measured by a particular sensor.
|
||||
|
||||
a temperature measured by a particular sensor (eg. ``mylab:temp1``).
|
||||
Another example would be an electromechanical relay, which may be opened or closed.
|
||||
(eg. ``mylab:valve2``)
|
||||
|
||||
In this case a Get operation would poll the current open/closed state of the relay.
|
||||
A Monitor operation (subscription) would receive notification when the relay state changes.
|
||||
A PV name is needed when initiating any PVA operation.
|
||||
eg. with the ``pvx*`` utility executables. ::
|
||||
|
||||
## fetch current value of both measurement and setting
|
||||
$ pvxget mylab:temp1 mylab:valve2
|
||||
...
|
||||
## setup subscription of both.
|
||||
$ pvxmonitor mylab:temp1 mylab:valve2
|
||||
...
|
||||
Ctrl+c
|
||||
## Request setting change
|
||||
$ pvxput mylab:valve2 1
|
||||
...
|
||||
|
||||
In the case of the relay, a Get operation would poll the current open/closed state of the relay.
|
||||
A Monitor operation (subscription) would setup and receive notification when the relay state changes.
|
||||
A Put operation would be used to command the relay to open or close, or perhaps toggle (the precise meaning of a Put is context dependent).
|
||||
|
||||
So the Get, Put, and Monitor operation on a given PV are conventionally operating on a common data structure.
|
||||
The RPC operation is more arbitrary, and need not have any relationship with a common data structure (eg. the open/closed state of the relay.)
|
||||
|
||||
.. note:: In the context of the PVA or CA protocols, a **"PV name"** is an address string which uniquely identifies a Process Variable.
|
||||
.. note:: In the context of the PVA or CA protocols, a "PV name" is an address string which uniquely identifies a Process Variable.
|
||||
All PVA network operations begin with a "PV name" string.
|
||||
|
||||
A "PV name" string is to the PVA and CA protocols what a URL is to the HTTP protocol.
|
||||
|
||||
@@ -3,8 +3,11 @@
|
||||
Release Notes
|
||||
=============
|
||||
|
||||
0.3.1 (UNRELEASED)
|
||||
------------------
|
||||
0.3.1 (June 2022)
|
||||
-----------------
|
||||
|
||||
* Fix ifaddrs::ifa_addr can be NULL
|
||||
* Limit beacon tracking by size as well as time
|
||||
|
||||
0.3.0 (May 2022)
|
||||
----------------
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
.. _serverapi:
|
||||
|
||||
Server
|
||||
======
|
||||
Server API
|
||||
==========
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
Value Container
|
||||
===============
|
||||
Value Container API
|
||||
===================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
@@ -624,7 +624,7 @@ build_dso.sub_commands.extend([
|
||||
|
||||
|
||||
pvxs_ver = '%(PVXS_MAJOR_VERSION)s.%(PVXS_MINOR_VERSION)s.%(PVXS_MAINTENANCE_VERSION)s'%pvxsversion
|
||||
pvxs_ver += 'a1'
|
||||
#pvxs_ver += 'a1'
|
||||
|
||||
with open(os.path.join(os.path.dirname(__file__), 'README.md')) as F:
|
||||
long_description = F.read()
|
||||
|
||||
Reference in New Issue
Block a user