Register restorer: - modified restore register handling
This commit is contained in:
parent
64f13fa9b2
commit
91a44ffca1
@ -155,7 +155,7 @@
|
||||
</site>
|
||||
<site name="MeterProcessState" id="2">
|
||||
<application path="/" applicationPool="Clr4IntegratedAppPool">
|
||||
<virtualDirectory path="/" physicalPath="C:\Users\drabesch_ro\Repo\lab\la_operations\laa_production\Common\Service\MeterProcessState" />
|
||||
<virtualDirectory path="/" physicalPath="D:\Projekte\SENSUS_GitLab\laa_production\Common\Service\MeterProcessState" />
|
||||
</application>
|
||||
<bindings>
|
||||
<binding protocol="http" bindingInformation="*:56011:localhost" />
|
||||
|
||||
@ -2435,6 +2435,12 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Dummy
|
||||
/// </summary>
|
||||
/// <remarks date="2023-Dec-11" author="Roland Drabesch">
|
||||
/// - Initial.
|
||||
/// </remarks>
|
||||
public void TestBenchDispose()
|
||||
{
|
||||
if (IsLoggedOn)
|
||||
|
||||
@ -207,6 +207,9 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore
|
||||
/// - Moved register dictionary value set to inner try catch loop to avoid early exit if one register is
|
||||
/// unknown.
|
||||
/// </remarks>
|
||||
/// <remarks date="2023-Dec-11" author="Thomas Wiedebusch">
|
||||
/// - Logging of some exception messages.
|
||||
/// </remarks>
|
||||
public Boolean RecoverRegisters(List<RecoveryRegisterItem> recoveryRegisters)
|
||||
{
|
||||
if (_currentGenesis == null ||
|
||||
@ -310,8 +313,9 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore
|
||||
_restoreRegisters?.Set(regDef, recReg.WriteValue);
|
||||
|
||||
}
|
||||
catch (Exception)
|
||||
catch (Exception ex)
|
||||
{
|
||||
_currentGenesis.WriteLog("Could not replace register value of " + recReg.RegisterIdent + "; " + ex.Message);
|
||||
// nothing to do
|
||||
}
|
||||
finally
|
||||
@ -745,6 +749,10 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore
|
||||
/// <remarks date="2023-Nov-24" author="Thomas Wiedebusch">
|
||||
/// - Extended try catch to avoid break on one register failed.
|
||||
/// </remarks>
|
||||
/// <remarks date="2023-Dec-11" author="Thomas Wiedebusch">
|
||||
/// - Filtered restore registers to access only if assigned,
|
||||
/// - Logging of some exception messages.
|
||||
/// </remarks>
|
||||
private Boolean ReadRegistersSet(MeterRegisters registers, MeterRegisters restoreRegisters = null)
|
||||
{
|
||||
if (_currentGenesis == null)
|
||||
@ -779,16 +787,24 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore
|
||||
{
|
||||
registers.Set(regDef, rawRegister);
|
||||
}
|
||||
catch (Exception)
|
||||
catch (Exception ex)
|
||||
{
|
||||
_currentGenesis.WriteLog("Register unknown " + regName + "; " + ex.Message);
|
||||
// nothing to do
|
||||
}
|
||||
try
|
||||
{
|
||||
restoreRegisters?.Set(regDef, rawRegister);
|
||||
if (restoreRegisters != null)
|
||||
{
|
||||
if (restoreRegisters.MeterRegisterDic.Any(reg => reg.Key.GetIdent().Equals(regName)))
|
||||
{
|
||||
restoreRegisters.Set(regDef, rawRegister);
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception)
|
||||
catch (Exception ex)
|
||||
{
|
||||
_currentGenesis.WriteLog("Could not set register restore value of " + regName + "; " + ex.Message);
|
||||
// nothing to do
|
||||
}
|
||||
|
||||
|
||||
@ -1 +1 @@
|
||||
c43c40a030005a8f189e6179faf40a6d42bfef5c
|
||||
bf6bb8fceb3db5a9977dadc407cf576684bf7127
|
||||
|
||||
@ -1 +1 @@
|
||||
65d75c3322f8a137c69963cfdc0cb6f1ffacf62a
|
||||
247396738e2c5d26ac00f9df05c0cc5c61d7f33a
|
||||
|
||||
Loading…
Reference in New Issue
Block a user