Common\..\RegisterRestorer: - multiple reading of final registers
This commit is contained in:
@@ -510,7 +510,8 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore
|
||||
}
|
||||
finally
|
||||
{
|
||||
var actualProcessMsg = $"{Resources.StrRegisterCompare}: {strRequiredRegisterValue} ";
|
||||
var actualProcessMsg = string.IsNullOrEmpty(strRequiredRegisterValue) ? "":
|
||||
$"{Resources.StrRegisterCompare}: {strRequiredRegisterValue} ";
|
||||
|
||||
OnProcessUpdate?.Invoke(this, new ProcessExecEventArgs($@"{Resources.StrRegisterCompare}" +
|
||||
$@" {ActualRegisterCtr} / {registersCount}",
|
||||
@@ -549,16 +550,15 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore
|
||||
/// <remarks date="2023-Nov-21" author="Thomas Wiedebusch">
|
||||
/// - Return false if PcbId between initial- and final-read does NOT match return false.
|
||||
/// </remarks>
|
||||
/// <remarks date="2023-Nov-30" author="Thomas Wiedebusch">
|
||||
/// - Allow final read out as often as called even if done before.
|
||||
/// </remarks>
|
||||
public Boolean FinalReadRegisters()
|
||||
{
|
||||
if (_currentGenesis == null)
|
||||
return false;
|
||||
|
||||
// deny update of registers if already done
|
||||
if (_pcbIdFinalRegisterRead == _currentGenesis.PcbId)
|
||||
return true;
|
||||
|
||||
_pcbIdFinalRegisterRead = _currentGenesis.PcbId;
|
||||
_pcbIdFinalRegisterRead = _currentGenesis.PcbId;
|
||||
// clear the contents of the restore registers if the water meter backed up was not identical
|
||||
if (_pcbIdInitialRegisterRead != _pcbIdFinalRegisterRead)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user