diff --git a/Common/.vs/config/applicationhost.config b/Common/.vs/config/applicationhost.config index 40cde372..1b9332b4 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 8f884836..5c85e31d 100644 --- a/Common/Hardware/WaterMeter/Genesis/GenesisCore/GenesisMeter.cs +++ b/Common/Hardware/WaterMeter/Genesis/GenesisCore/GenesisMeter.cs @@ -1296,15 +1296,6 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore var versionString = fm.IsInstalled ? $"V: {fm.StrVersion} - CRC: 0x{fm.Crc:X4}" : "Not installed"; _logger.Info($"AppId: 0x{fm.AppId:X2} - {versionString} - AppName: {fm.AppName}"); - if (fm.AppName.ToUpper() == "SENSUSRADIO" && fm.IsInstalled) - { - var radioFrequency = ReadRegister(Register.Sensusradio.FrequencyIndicator); - var tmpList = radioFrequency.ToList(); - tmpList.Reverse(); - - var strRawResult = BitConverter.ToString(tmpList.ToArray()); - RegionRadio = $"EMEA_{strRawResult}"; - } } _logger.Info($"Meter size: {MeterSize}"); diff --git a/Common/Hardware/WaterMeter/Genesis/GenesisFile/MeterFile.cs b/Common/Hardware/WaterMeter/Genesis/GenesisFile/MeterFile.cs index 323a2243..65a36756 100644 --- a/Common/Hardware/WaterMeter/Genesis/GenesisFile/MeterFile.cs +++ b/Common/Hardware/WaterMeter/Genesis/GenesisFile/MeterFile.cs @@ -545,26 +545,30 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisFile /// /// Meter file verification against given data + /// Takes into account, that the read file is always integer dividable by 4 due to the chunk size + /// of the write and read access to the Genesis. /// /// file name as string /// data to store /// true: file found and verified - /// + /// /// - Initial /// - /// - /// - Add a NULL at the end of the file name. - /// public Boolean VerifyMeterFile(String fileName, Byte[] dataBytes) { - //add file name delimiter - fileName += StringDelimiter; + var returnValue = true; - if (!OpenMeterFile(fileName, StrOpenFileReadOnlyMode)) - return false; - //TODO THW implement - //read raw data from meter - return true; + if (!ReadMeterFile(fileName, out var binData, dataBytes.Length)) return true; + + // compare the entire buffer which also includes the header of the file, remind the original + // buffer may be smaller due to the chunk size of the communication (always dividable by 4), + // meaning the receive buffer is always and integer of this chunk size! + if (dataBytes.Where((t, ctr) => t != binData[ctr]).Any()) + { + returnValue = false; + } + + return returnValue; } /// diff --git a/Common/Hardware/WaterMeter/Genesis/GenesisFile/MeterLutUpdate.cs b/Common/Hardware/WaterMeter/Genesis/GenesisFile/MeterLutUpdate.cs index 29d4496c..fc86803e 100644 --- a/Common/Hardware/WaterMeter/Genesis/GenesisFile/MeterLutUpdate.cs +++ b/Common/Hardware/WaterMeter/Genesis/GenesisFile/MeterLutUpdate.cs @@ -887,6 +887,9 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisFile /// /// - Take the different size of original and receive buffer, which is an integer division by 4, into account. /// + /// + /// - Exported file compare to . + /// private Boolean UploadAndCompareLutFiles() { //counters for actual process information @@ -911,31 +914,16 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisFile // logout and re-login to clear all ongoing processes and clear the Genesis buffers ReestablishMeterFileSystem(); - if (_meterFile.ReadMeterFile(fileToUpload, out var binData, SizeLutFile)) + if (!_meterFile.VerifyMeterFile(fileToUpload, LutFile.BinData.ToArray())) { - // compare the entire buffer which also includes the header of the file, remind the original - // buffer may be smaller due to the chunk size of the communication (always dividable by 4), - // meaning the receive buffer is always and integer of this chunk size! - if (LutFile.BinData.Where((t, ctr) => t != binData[ctr]).Any()) - { ErrorMessage = $"Meter LUT file is unequal to downloaded {fileToUpload}!"; returnValue = false; _operationCtr--; - } - - if (returnValue) - { - OnProcessUpdate?.Invoke(this, - new ProcessExecEventArgs($"LUT file {fileToUpload} of meter successfully compared!")); - - } } else { - - ErrorMessage += $"Reading of {fileToUpload} failed!"; - returnValue = false; - _operationCtr--; + OnProcessUpdate?.Invoke(this, + new ProcessExecEventArgs($"LUT file {fileToUpload} of meter successfully compared!")); } } 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 b81d5f66..2d9cbed7 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 @@ -46bd00889699f5a20a4981a22f62b66368323855 +7ac73abb7afd9e6ddc0520a1568581c7ed0afd36 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 133b97f0..0028f628 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 @@ -0d85a5b3a7561b41163c20e5dc7713bcd0d65555 +f64d563def603c89cafafa61a3219ba97e1e344c