update doc; fix bug in scalarAlarmSupport
This commit is contained in:
@ -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)
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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>
|
||||||
|
@ -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)
|
||||||
|
Reference in New Issue
Block a user