The following changes were made:

1) update documentation.
2) remove some output messages from pvaClientMonitor and pvaClientMultiChannel
3) performance improvement to pvaClientNTMultiPut.
This commit is contained in:
mrkraimer
2021-03-01 10:14:05 -05:00
parent 1211d01800
commit 8a661bb591
5 changed files with 28 additions and 14 deletions

View File

@ -2,6 +2,15 @@ pwd# pvaClientCPP Module
This document summarizes the changes to the module between releases.
## Release 4.8.0 (EPICS 7.0.4.* March 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

View File

@ -26,7 +26,7 @@
<div class="head">
<h1>EPICS pvaClientCPP</h1>
<h2 class="nocount">Release 4.4 - April 2019</h2>
<h2 class="nocount">Release 4.8 - March 2021</h2>
<h2 class="nocount">Abstract</h2>
@ -66,9 +66,16 @@ The data for the channels is presented via normative type NTMultiChannel.
<hr />
<h2>Overview</h2>
<p>
Documentation for pvaClientCPP is available at:
<a
href="https://mrkraimer.github.io/website/developerGuide/pvaClient/pvaClientCPP.html">
pvaClient
</a>
</p>
<p>
pvaClientCPP is one of the components of
<a href="http://epics-pvdata.sourceforge.net">
EPICS Version 4
<a href="https://epics-controls.org/resources-and-support/base/epics-7/">
EPICS-7
</a>
</p>
<p>This document is only a guide to help locate code and documentation related to pvaClientCPP

View File

@ -296,9 +296,7 @@ void PvaClientMonitor::unlisten(MonitorPtr const & monitor)
PvaClientMonitorRequesterPtr req = pvaClientMonitorRequester.lock();
if(req) {
req->unlisten();
return;
}
cerr << pvaClientChannel->getChannel()->getChannelName() + "pvaClientMonitor::unlisten called but no PvaClientMonitorRequester\n";
}

View File

@ -149,7 +149,6 @@ PvaClientPtr PvaClientMultiChannel::getPvaClient()
PvaClientMultiGetDoublePtr PvaClientMultiChannel::createGet()
{
cout << "PvaClientMultiChannel::createGet\n";
checkConnected();
return PvaClientMultiGetDouble::create(shared_from_this(),pvaClientChannelArray);
}
@ -157,7 +156,6 @@ cout << "PvaClientMultiChannel::createGet\n";
PvaClientMultiPutDoublePtr PvaClientMultiChannel::createPut()
{
cout << "PvaClientMultiChannel::createPut\n";
checkConnected();
return PvaClientMultiPutDouble::create(shared_from_this(),pvaClientChannelArray);
}
@ -165,7 +163,6 @@ cout << "PvaClientMultiChannel::createPut\n";
PvaClientMultiMonitorDoublePtr PvaClientMultiChannel::createMonitor()
{
cout << "PvaClientMultiChannel::createMonitor\n";
checkConnected();
return PvaClientMultiMonitorDouble::create(shared_from_this(), pvaClientChannelArray);
}

View File

@ -146,12 +146,15 @@ void PvaClientNTMultiPut::put()
value[i]->copy(*unionValue[i]->get());
pvaClientPut[i]->issuePut();
}
if(isConnected[i]) {
Status status = pvaClientPut[i]->waitPut();
if(status.isOK()) continue;
string message = string("channel ") +pvaClientChannelArray[i]->getChannelName()
+ " PvaChannelPut::waitPut " + status.getMessage();
throw std::runtime_error(message);
}
for(size_t i=0; i<nchannel; ++i)
{
if(isConnected[i]) {
Status status = pvaClientPut[i]->waitPut();
if(status.isOK()) continue;
string message = string("channel ") +pvaClientChannelArray[i]->getChannelName()
+ " PvaChannelPut::waitPut " + status.getMessage();
throw std::runtime_error(message);
}
}
}