update doc; fix bug in scalarAlarmSupport

This commit is contained in:
mrkraimer
2019-06-19 09:36:52 -04:00
parent 5279e4e739
commit fb4e7f0fc1
4 changed files with 11 additions and 15 deletions

View File

@ -4,7 +4,8 @@ This document summarizes the changes to the module between releases.
## Master (June 2019) ## Master (June 2019)
support is a new feature 1) support is a new feature.
2) processRecord is new
## Release 4.4.2 (EPICS 7.0.2.2, Apr 2019) ## Release 4.4.2 (EPICS 7.0.2.2, Apr 2019)

View File

@ -1,16 +1,10 @@
TODO TODO
=========== ===========
monitorPlugin unlisten and detach
-------------
A debate is on-going about what semantics should be.
Must test record delete.
------------------- -------------------
Must test removing a record from the PVDatabase while a pvAccess client Why do both unlisten and detach exists?
is attached. Also why do both unlisten and detach exists?
create more regression tests create more regression tests

View File

@ -36,7 +36,8 @@
<div class="head"> <div class="head">
<h1>pvDatabaseCPP</h1> <h1>pvDatabaseCPP</h1>
<h2 class="nocount">Release ? - June 2019</h2> <h2 class="nocount">Release ? - TBD</h2>
Latest update 2019.06.19.
<h2 class="nocount">Abstract</h2> <h2 class="nocount">Abstract</h2>
@ -181,7 +182,7 @@ This has the code for processRecord, removeRecord, and traceRecord.
<h2>exampleCPP</h2> <h2>exampleCPP</h2>
<p>Example code is available as part of this release. <p>Example code is available as part of this release.
<a <a
href="http://epics-pvdata.sourceforge.net/docbuild/exampleCPP/tip/documentation/exampleCPP.html"> href="https://github.com/epics-base/exampleCPP">
exampleCPP exampleCPP
</a> </a>
</p> </p>
@ -245,6 +246,9 @@ other functionality.</p>
Each record uses the control and scalarAlarm support provided by pvDatabaseCPP. Each record uses the control and scalarAlarm support provided by pvDatabaseCPP.
</dd> </dd>
</dl> </dl>
<p>
It also creates records that can be used by clients to show example of the plugin support.
</p>
<h2>iocshell commands</h2> <h2>iocshell commands</h2>
<p>Shell commands are made available via the standard DBD include mechanism <p>Shell commands are made available via the standard DBD include mechanism
@ -267,7 +271,7 @@ pvDatabaseCPP
</dd> </dd>
</dl> </dl>
<p>In addition any code that implements a PVRecord must implement an ioc command. <p>In addition any code that implements a PVRecord must implement an ioc command.
Look at any of the examples in <b>exampleCPP</b> to see how to implement shell commands.</p> Look at the examples in <b>exampleCPP/support</b> to see how to implement shell commands.</p>
</div> </div>
</body> </body>

View File

@ -36,7 +36,6 @@ epics::pvData::StructureConstPtr ScalarAlarmSupport::scalarAlarmField()
{ {
return FieldBuilder::begin() return FieldBuilder::begin()
->setId("scalarAlarm_t") ->setId("scalarAlarm_t")
->add("active", pvBoolean)
->add("lowAlarmLimit", pvDouble) ->add("lowAlarmLimit", pvDouble)
->add("lowWarningLimit", pvDouble) ->add("lowWarningLimit", pvDouble)
->add("highWarningLimit", pvDouble) ->add("highWarningLimit", pvDouble)
@ -75,7 +74,6 @@ bool ScalarAlarmSupport::init(
} }
pvScalarAlarm = static_pointer_cast<PVStructure>(pvsup); pvScalarAlarm = static_pointer_cast<PVStructure>(pvsup);
if(pvScalarAlarm) { if(pvScalarAlarm) {
pvActive = pvScalarAlarm->getSubField<PVBoolean>("active");
pvLowAlarmLimit = pvScalarAlarm->getSubField<PVDouble>("lowAlarmLimit"); pvLowAlarmLimit = pvScalarAlarm->getSubField<PVDouble>("lowAlarmLimit");
pvLowWarningLimit = pvScalarAlarm->getSubField<PVDouble>("lowWarningLimit"); pvLowWarningLimit = pvScalarAlarm->getSubField<PVDouble>("lowWarningLimit");
pvHighWarningLimit = pvScalarAlarm->getSubField<PVDouble>("highWarningLimit"); pvHighWarningLimit = pvScalarAlarm->getSubField<PVDouble>("highWarningLimit");
@ -83,7 +81,6 @@ bool ScalarAlarmSupport::init(
pvHysteresis = pvScalarAlarm->getSubField<PVDouble>("hysteresis"); pvHysteresis = pvScalarAlarm->getSubField<PVDouble>("hysteresis");
} }
if(!pvScalarAlarm if(!pvScalarAlarm
|| !pvActive
|| !pvLowAlarmLimit || !pvLowWarningLimit || !pvLowAlarmLimit || !pvLowWarningLimit
|| !pvLowWarningLimit || !pvHighAlarmLimit || !pvLowWarningLimit || !pvHighAlarmLimit
|| !pvHysteresis) || !pvHysteresis)