diff --git a/Common/Hardware/WaterMeter/Genesis/GenesisFile/MeterLutUpdate.cs b/Common/Hardware/WaterMeter/Genesis/GenesisFile/MeterLutUpdate.cs
index 76727880..29d4496c 100644
--- a/Common/Hardware/WaterMeter/Genesis/GenesisFile/MeterLutUpdate.cs
+++ b/Common/Hardware/WaterMeter/Genesis/GenesisFile/MeterLutUpdate.cs
@@ -70,10 +70,10 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisFile
private const Int32 RegisterWriteRetries = 0;
//update reties for files
- private const Int32 FileWriteRetries = 0;
+ private const Int32 FileWriteRetries = 1;
//retry of entire update procedure
- private const Int32 UpdateProcedureRetries = 0;
+ private const Int32 UpdateProcedureRetries = 1;
//threshold to increase the file write timing
private const Int32 IncreaseTimeoutUpdateProcedureRetries = 4;
@@ -669,7 +669,7 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisFile
///
/// - Initial
///
- private Boolean ReadMeterFilesDrive1()
+ private Boolean ListMeterFilesDrive1()
{
// logout and re-login to clear all ongoing processes and clear the Genesis buffers
ReestablishMeterFileSystem();
@@ -679,9 +679,8 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisFile
_meterFilesDrive1 = new List();
}
_meterFilesDrive1.Clear();
- Thread.Sleep(2000);
- OnProcessUpdate?.Invoke(this, new ProcessExecEventArgs("Read meter files drive 1"));
+ OnProcessUpdate?.Invoke(this, new ProcessExecEventArgs("List meter files drive 1"));
if (!_meterFile.ReadMeterFileCatalog(out var meterFilesDrive1, MeterFile.StrMeterDrive1,
MeterFile.WildcardAll.ToString()))
return false;
@@ -703,35 +702,35 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisFile
///
/// - Initial
///
- private Boolean EraseFileAndVerifyErasure(String fileDriveName)
+ private Boolean EraseFile(String fileDriveName)
{
OnProcessUpdate?.Invoke(this, new ProcessExecEventArgs($"Erasing {fileDriveName}"));
var returnValue = _meterFile.UnlockEraseWriteMeterFile(fileDriveName);
// erase returns always TRUE, even if the erasure failed! Check with catalogue
_meterFile.EraseMeterFile(fileDriveName);
- if (ReadMeterFilesDrive1())
- {
- if (_meterFilesDrive1.Contains(fileDriveName))
- {
- returnValue = false;
- var txt = $"Failed to erase {fileDriveName}!";
- ErrorMessage = txt;
- OnProcessUpdate?.Invoke(this, new ProcessExecEventArgs(txt));
- }
- else
- {
- ErrorMessage = "";
- OnProcessUpdate?.Invoke(this, new ProcessExecEventArgs($"Successfully erased {fileDriveName}"));
- }
- }
- else
- {
- returnValue = false;
- const String txt = "Meter files read error!";
- ErrorMessage = txt;
- OnProcessUpdate?.Invoke(this, new ProcessExecEventArgs(txt));
- }
+ //if (ListMeterFilesDrive1())
+ //{
+ // if (_meterFilesDrive1.Contains(fileDriveName))
+ // {
+ // returnValue = false;
+ // var txt = $"Failed to erase {fileDriveName}!";
+ // ErrorMessage = txt;
+ // OnProcessUpdate?.Invoke(this, new ProcessExecEventArgs(txt));
+ // }
+ // else
+ // {
+ // ErrorMessage = "";
+ // OnProcessUpdate?.Invoke(this, new ProcessExecEventArgs($"Successfully erased {fileDriveName}"));
+ // }
+ //}
+ //else
+ //{
+ // returnValue = false;
+ // const String txt = "Meter files read error!";
+ // ErrorMessage = txt;
+ // OnProcessUpdate?.Invoke(this, new ProcessExecEventArgs(txt));
+ //}
return returnValue;
}
@@ -758,11 +757,11 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisFile
var filesToErase = new[] { StrLutMeterFileName, StrLutBackupMeterFileName };
// read all files which are already installed
- _actualOperation = "Read installed meter files drive 1";
+ _actualOperation = "Catalogue installed meter files drive 1";
_operationCtr++;
// read files on drive 1 to verify the LUT installation
- if (ReadMeterFilesDrive1())
+ if (ListMeterFilesDrive1())
{
foreach (var fileToErase in filesToErase)
{
@@ -771,7 +770,7 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisFile
_operationCtr++;
_actualOperation = $"Erase {fileToErase}";
- if (EraseFileAndVerifyErasure(fileToErase))
+ if (EraseFile(fileToErase))
{
ErrorMessage = "";
continue;
@@ -810,7 +809,7 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisFile
return false;
//set extended timeout for trigger upgrade response delay
- _genesisMeter.TransmitProtocol.SetResponseTimeout(10000);
+ _genesisMeter.TransmitProtocol.SetResponseTimeout(1000);
var returnValue = true;
//write LUT files and retry if not successful
@@ -845,7 +844,7 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisFile
// read all files on drive 1
_operationCtr++;
- if (ReadMeterFilesDrive1())
+ if (ListMeterFilesDrive1())
{
foreach (var checkInstalledFile in filesToDownload)
{
@@ -896,7 +895,7 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisFile
return false;
//set extended timeout for trigger upgrade response delay
- _genesisMeter.TransmitProtocol.SetResponseTimeout(10000);
+ _genesisMeter.TransmitProtocol.SetResponseTimeout(1000);
var returnValue = true;
//write LUT files and retry if not successful
diff --git a/Common/Ui/GenesisToolBox/FrmLutUpdate.cs b/Common/Ui/GenesisToolBox/FrmLutUpdate.cs
index a1f0ab84..221779e2 100644
--- a/Common/Ui/GenesisToolBox/FrmLutUpdate.cs
+++ b/Common/Ui/GenesisToolBox/FrmLutUpdate.cs
@@ -352,6 +352,9 @@ namespace Xylem.Common.Ui.GenesisToolBox
}
else
{
+ // on successfully execution the meter size and LUT CRC is identical to file content
+ tbxMeterMeterSize.Text = tbxFileMeterSize.Text;
+ tbxMeterLutCrc.Text = tbxFileCrc.Text;
LogSuccessText(StrUpdateSuccessMessage);
MessageBoxShow(StrUpdateSuccessMessage, @"SUCCESS",
MessageBoxButtons.OK, MessageBoxIcon.Information);