diff --git a/Common/.vs/config/applicationhost.config b/Common/.vs/config/applicationhost.config index de10b180..ecc20ba7 100644 --- a/Common/.vs/config/applicationhost.config +++ b/Common/.vs/config/applicationhost.config @@ -155,7 +155,7 @@ - + diff --git a/Common/Hardware/WaterMeter/Genesis/GenesisCore/GenesisMeter.cs b/Common/Hardware/WaterMeter/Genesis/GenesisCore/GenesisMeter.cs index d7ac1dad..9783694d 100644 --- a/Common/Hardware/WaterMeter/Genesis/GenesisCore/GenesisMeter.cs +++ b/Common/Hardware/WaterMeter/Genesis/GenesisCore/GenesisMeter.cs @@ -2435,6 +2435,12 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore } } + /// + /// Dummy + /// + /// + /// - Initial. + /// public void TestBenchDispose() { if (IsLoggedOn) diff --git a/Common/Hardware/WaterMeter/Genesis/GenesisCore/RegisterRestorer.cs b/Common/Hardware/WaterMeter/Genesis/GenesisCore/RegisterRestorer.cs index 0f30cf75..bf2f080c 100644 --- a/Common/Hardware/WaterMeter/Genesis/GenesisCore/RegisterRestorer.cs +++ b/Common/Hardware/WaterMeter/Genesis/GenesisCore/RegisterRestorer.cs @@ -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. /// + /// + /// - Logging of some exception messages. + /// public Boolean RecoverRegisters(List 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 /// /// - Extended try catch to avoid break on one register failed. /// + /// + /// - Filtered restore registers to access only if assigned, + /// - Logging of some exception messages. + /// 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 } diff --git a/Common/Hardware/WaterMeter/WaterMeterCore/WaterMeterRegisters/obj/Debug/WaterMeterRegisters.csproj.CoreCompileInputs.cache b/Common/Hardware/WaterMeter/WaterMeterCore/WaterMeterRegisters/obj/Debug/WaterMeterRegisters.csproj.CoreCompileInputs.cache index d110f5fc..82bc2c16 100644 --- a/Common/Hardware/WaterMeter/WaterMeterCore/WaterMeterRegisters/obj/Debug/WaterMeterRegisters.csproj.CoreCompileInputs.cache +++ b/Common/Hardware/WaterMeter/WaterMeterCore/WaterMeterRegisters/obj/Debug/WaterMeterRegisters.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -c43c40a030005a8f189e6179faf40a6d42bfef5c +bf6bb8fceb3db5a9977dadc407cf576684bf7127 diff --git a/Common/Tools/Tools.JsonToXlsHelper/obj/Debug/Tools.JsonToXlsHelper.csproj.CoreCompileInputs.cache b/Common/Tools/Tools.JsonToXlsHelper/obj/Debug/Tools.JsonToXlsHelper.csproj.CoreCompileInputs.cache index 84b6b3be..8dda2975 100644 --- a/Common/Tools/Tools.JsonToXlsHelper/obj/Debug/Tools.JsonToXlsHelper.csproj.CoreCompileInputs.cache +++ b/Common/Tools/Tools.JsonToXlsHelper/obj/Debug/Tools.JsonToXlsHelper.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -65d75c3322f8a137c69963cfdc0cb6f1ffacf62a +247396738e2c5d26ac00f9df05c0cc5c61d7f33a