127 lines
4.1 KiB
Markdown
127 lines
4.1 KiB
Markdown
# pvaClientCPP Module
|
|
|
|
This document summarizes the changes to the module between releases.
|
|
|
|
## Release 4.8.1 (EPICS 7.0.10, Dec 2025)
|
|
|
|
* Fix error message generation code.
|
|
|
|
## Release 4.8.0 (EPICS 7.0.6 Jul 2021)
|
|
|
|
* PvaClientNTMultiData::getChannelChangeFlags is a new method. It fixes issue #66.
|
|
* Fix for issue #68. Both PvaClientArray and PvaClientField are not longer present. Neither was previously implemented.
|
|
* Several public methods are now protected. They were never meant to be called by clients.
|
|
* Issue #70 has been fixed.
|
|
* Changes was made to increase the performance of pvaMultiChannel.
|
|
* doxygen changes were made.
|
|
|
|
## Release 4.7.1 (EPICS 7.0.3.2 May 2020)
|
|
|
|
* support access to a union field that is a scalar or scalarArray
|
|
* fixed issues #62 and #63
|
|
|
|
## Release 4.7.0 (EPICS 7.0.3.1, Nov 2019)
|
|
|
|
* added JSON support for put and putGet
|
|
* Fix for
|
|
[GitHub issue #62](https://github.com/epics-base/pvaClientCPP/issues/62)
|
|
* Doxygen updates and read-the-docs integration.
|
|
|
|
|
|
## Release 4.6.0 (EPICS 7.0.3, Jul 2019)
|
|
|
|
* pvaClient now handles exceptions from the server properly (issue #54).
|
|
* MultiChannel classes now properly handle PV structures that don't have a top-level `value` field (issue #56), and are more tolerant of other missing fields (issue #57).
|
|
|
|
|
|
## Release 4.5.0 (EPICS 7.0.2.2, Apr 2019)
|
|
|
|
Changes have been made for getDouble, putDouble, getDoubleArray, putDoubleArray, getString, putString, getStringArray, and putStringArray.
|
|
|
|
1) Previously each only had support for a top level field named value.
|
|
Each now allows access to a single sub field that has the correct type.
|
|
Thus pvRequest must select a single field. For example
|
|
|
|
pva->channel("PVRdumbPowerSupply")->putDouble(1.0,"power.value" );
|
|
|
|
2) PvaChannel now has a method for each of the above.
|
|
For example instead of
|
|
|
|
PvaClientChannelPtr channel = pva->channel("PVRdouble");
|
|
PvaClientPutPtr clientPut = channel->put();
|
|
PvaClientPutDataPtr putData = clientPut->getData();
|
|
putData->putDouble(1.0); clientPut->put();
|
|
|
|
now it can be
|
|
|
|
pva->channel("PVRdouble")->putDouble(1.0 );
|
|
|
|
3) getDoubleArray and putDoubleArray work with any numeric scalar array
|
|
|
|
4) getStringArray and putStringArray work with any scalar array.
|
|
|
|
## Release 4.4 (EPICS 7.0.2, Dec 2018)
|
|
|
|
### API changes to PvaClientMonitor
|
|
|
|
The create method that had arguments for stateChangeRequester and monitorRequester no longer exists.
|
|
|
|
### API changes to PvaClientGet, ..., PvaClientMonitor
|
|
|
|
Previously the pvaClientGet, ..., pvaClientMonitor classes all implemented PvaClientChannelStateChangeRequester(). This method was never called and has been removed.
|
|
|
|
|
|
## Release 4.3 (EPICS 7.0.1, Dec 2017)
|
|
|
|
### Requires pvDataCPP-7.0 and pvAccessCPP-6.0 versions
|
|
|
|
This release will not work with older versions of these modules.
|
|
|
|
### Destroy methods removed
|
|
|
|
All the destroy() methods have been removed, implementation is RAII compliant.
|
|
|
|
### API changes to PvaClientMonitor
|
|
|
|
The second argument of method
|
|
|
|
static PvaClientMonitorPtr create(
|
|
PvaClientPtr const &pvaClient,
|
|
epics::pvAccess::Channel::shared_pointer const & channel,
|
|
epics::pvData::PVStructurePtr const &pvRequest
|
|
);
|
|
|
|
is now changed to
|
|
|
|
static PvaClientMonitorPtr create(
|
|
PvaClientPtr const &pvaClient,
|
|
PvaClientChannelPtr const & pvaClientChannel,
|
|
epics::pvData::PVStructurePtr const &pvRequest
|
|
);
|
|
|
|
A new method is also implemented
|
|
|
|
static PvaClientMonitorPtr create(
|
|
PvaClientPtr const &pvaClient,
|
|
std::string const & channelName,
|
|
std::string const & providerName,
|
|
std::string const & request,
|
|
PvaClientChannelStateChangeRequesterPtr const & stateChangeRequester,
|
|
PvaClientMonitorRequesterPtr const & monitorRequester
|
|
);
|
|
|
|
|
|
## Release 4.2 (EPICS V4.6, Aug 2016)
|
|
|
|
* The examples are moved to exampleCPP.
|
|
* Support for channelRPC is now available.
|
|
* In PvaClientMultiChannel checkConnected() now throws an exception if connect fails.
|
|
|
|
|
|
## Release 4.1 (EPICS V4.5, Oct 2015)
|
|
|
|
pvaClient is a synchronous API for pvAccess.
|
|
|
|
This is the first release of pvaClientCPP.
|
|
It provides an API that is similar to pvaClientJava.
|