diff --git a/Common/.shared/SharedAssemblyInfo.cs b/Common/.shared/SharedAssemblyInfo.cs
index 0a78fd7b..29e428e1 100644
--- a/Common/.shared/SharedAssemblyInfo.cs
+++ b/Common/.shared/SharedAssemblyInfo.cs
@@ -14,5 +14,5 @@ using System.Reflection;
//[assembly: AssemblyVersion("1.2.*.0")]
-[assembly: AssemblyVersion("2.2.0.*")]
-[assembly: AssemblyFileVersion("2.2.0.0")]
\ No newline at end of file
+[assembly: AssemblyVersion("2.2.1.*")]
+[assembly: AssemblyFileVersion("2.2.1.0")]
\ No newline at end of file
diff --git a/Common/Hardware/WaterMeter/Genesis/GenesisCore/GenesisMeter.cs b/Common/Hardware/WaterMeter/Genesis/GenesisCore/GenesisMeter.cs
index 5c85e31d..93bb419f 100644
--- a/Common/Hardware/WaterMeter/Genesis/GenesisCore/GenesisMeter.cs
+++ b/Common/Hardware/WaterMeter/Genesis/GenesisCore/GenesisMeter.cs
@@ -2050,43 +2050,64 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore
}
- public Boolean StoreAllApps()
+ ///
+ /// Executes all StoreConfiguration and StoreCalibration for each application.
+ ///
+ /// true if all configurations are stored
+ ///
+ /// - Initial
+ ///
+ ///
+ /// - Corrected logic to enter write and read loop,
+ /// - Removed SENSUSRADIO from read check as it returns NULL on read of StoreConfiguration.
+ ///
+ public Boolean StoreAllConfigurations()
{
var overallResult = true;
- var retryLeft = 3;
- foreach (var a in _configRegister.MeterRegisterDic.Where(a => a.Key.RegisterName.ToLower() == "storeconfiguration"))
+ foreach (var a in _configRegister.MeterRegisterDic.Where(a =>
+ a.Key.RegisterName.ToLower() == "storeconfiguration" ||
+ a.Key.RegisterName.ToLower() == "storecalibration"))
{
var done = false;
- while (retryLeft > 0 && done)
+ //retries for each register access
+ var retryLeft = 3;
+
+ while (retryLeft > 0 && !done)
{
- var result = WriteRegister(a.Key.GetIdent(), 1, true, false);
+ var result = WriteRegister(a.Key.GetIdent(), 1);
if (!result)
{
- retryLeft = retryLeft - 1;
+ retryLeft -= 1;
if (retryLeft == 0)
{
overallResult = false;
-
}
continue;
}
Thread.Sleep(100);
- var resultRead = ReadRegister(a.Key.GetIdent());
- if (resultRead == null || !resultRead.ToList().All(ra => ra == 0x00))
+ if (a.Key.AppName == "SENSUSRADIO")
{
- retryLeft = retryLeft - 1;
+ done = true;
+ continue;
+ }
+
+ var resultRead = ReadRegister(a.Key.GetIdent());
+ if (resultRead == null || resultRead.ToList().Any(ra => ra != 0x00))
+ {
+ retryLeft -= 1;
if (retryLeft == 0)
{
overallResult = false;
}
+
continue;
}
+
done = true;
Thread.Sleep(100);
}
-
}
return overallResult;
diff --git a/Common/Hardware/WaterMeter/Genesis/GenesisCore/RegisterRestorer.cs b/Common/Hardware/WaterMeter/Genesis/GenesisCore/RegisterRestorer.cs
index fca6fae3..2d033a2c 100644
--- a/Common/Hardware/WaterMeter/Genesis/GenesisCore/RegisterRestorer.cs
+++ b/Common/Hardware/WaterMeter/Genesis/GenesisCore/RegisterRestorer.cs
@@ -136,7 +136,7 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore
if (_currentGenesis == null && _pcbIdPostUpdate != _pcbIdPreUpdate) return false;
// write store configuration to all applications
- _currentGenesis?.StoreAllApps();
+ _currentGenesis?.StoreAllConfigurations();
return true;
}
diff --git a/Common/Hardware/WaterMeter/Genesis/GenesisFile/MeterFwUpdate.cs b/Common/Hardware/WaterMeter/Genesis/GenesisFile/MeterFwUpdate.cs
index e336bb41..1305c066 100644
--- a/Common/Hardware/WaterMeter/Genesis/GenesisFile/MeterFwUpdate.cs
+++ b/Common/Hardware/WaterMeter/Genesis/GenesisFile/MeterFwUpdate.cs
@@ -957,6 +957,9 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisFile
///
/// - Set file write timeout to default.
///
+ ///
+ /// - Store all configurations before the update.
+ ///
public Boolean UpdatePreparation()
{
_actualOperation = "";
@@ -989,6 +992,9 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisFile
_genesisMeter.WriteRegister(item.Key, item.Value);
}
+ //store all configuration parameters
+ if (!_genesisMeter.StoreAllConfigurations()) return false;
+
//remove the update stop action
StopUpdateProcess = false;
return true;
diff --git a/Common/ProductionUiCordonel/ProductionProcesses/Actions/ProductionProcessShippingMode.cs b/Common/ProductionUiCordonel/ProductionProcesses/Actions/ProductionProcessShippingMode.cs
index 20605428..8951663b 100644
--- a/Common/ProductionUiCordonel/ProductionProcesses/Actions/ProductionProcessShippingMode.cs
+++ b/Common/ProductionUiCordonel/ProductionProcesses/Actions/ProductionProcessShippingMode.cs
@@ -50,7 +50,7 @@ namespace ProductionUiCordonel.ProductionProcesses.Actions
var useRadio = true;
if (useRadio)
{
- if (Meter.StoreAllApps())
+ if (Meter.StoreAllConfigurations())
{
var writeList = new List();
@@ -84,7 +84,7 @@ namespace ProductionUiCordonel.ProductionProcesses.Actions
}
else
{
- if (Meter.StoreAllApps())
+ if (Meter.StoreAllConfigurations())
{
base.currentProcessState = ProductionProcessState.Done;
return;
diff --git a/Common/Ui/GenesisToolBox/FrmAlarmMng.cs b/Common/Ui/GenesisToolBox/FrmAlarmMng.cs
index 43bd46a2..5fa6e492 100644
--- a/Common/Ui/GenesisToolBox/FrmAlarmMng.cs
+++ b/Common/Ui/GenesisToolBox/FrmAlarmMng.cs
@@ -404,7 +404,7 @@ namespace Xylem.Common.Ui.GenesisToolBox
var useRadio = true;
if (useRadio)
{
- if (Meter.StoreAllApps())
+ if (Meter.StoreAllConfigurations())
{
var writeList = new List();
diff --git a/Common/Ui/GenesisToolBox/FrmConfigurations.cs b/Common/Ui/GenesisToolBox/FrmConfigurations.cs
index 5f04b998..732afce0 100644
--- a/Common/Ui/GenesisToolBox/FrmConfigurations.cs
+++ b/Common/Ui/GenesisToolBox/FrmConfigurations.cs
@@ -230,7 +230,7 @@ namespace Xylem.Common.Ui.GenesisToolBox
setActionResult(_currentGenesis.WriteRegister("METROLOGYASST_PulseWeight", PulseWeight));
- setActionResult(_currentGenesis.StoreAllApps());
+ setActionResult(_currentGenesis.StoreAllConfigurations());
setActionResult(_currentGenesis.WriteRegister("SENSUSRADIO_SYSTEMSTATE", 0xFF, true, false));
@@ -292,7 +292,7 @@ namespace Xylem.Common.Ui.GenesisToolBox
setActionResult(_currentGenesis.WriteRegister("GENESISFLOW_DisplayPow10", 253));
setActionResult(_currentGenesis.WriteRegister("GENESISFLOW_DisplayUnits", 0));
setActionResult(_currentGenesis.WriteRegister("METROLOGYASST_FlowUnits", 1));
- setActionResult(_currentGenesis.StoreAllApps());
+ setActionResult(_currentGenesis.StoreAllConfigurations());
setActionResult(_currentGenesis.WriteRegister("SENSUSRADIO_SYSTEMSTATE", 0xFF, true, false));
}
}
diff --git a/Common/Ui/GenesisToolBox/FrmFwUpdate.cs b/Common/Ui/GenesisToolBox/FrmFwUpdate.cs
index 55bc8e52..93f650b2 100644
--- a/Common/Ui/GenesisToolBox/FrmFwUpdate.cs
+++ b/Common/Ui/GenesisToolBox/FrmFwUpdate.cs
@@ -1804,7 +1804,7 @@ namespace Xylem.Common.Ui.GenesisToolBox
_currentGenesis.WriteRegister("GENESISFLOW_TriggerIdle", (UInt32)0, true, false);
- _currentGenesis.StoreAllApps();
+ _currentGenesis.StoreAllConfigurations();
_currentGenesis.Logout();
diff --git a/Common/Ui/GenesisToolBox/FrmParameterization.cs b/Common/Ui/GenesisToolBox/FrmParameterization.cs
index 0f293715..cd832318 100644
--- a/Common/Ui/GenesisToolBox/FrmParameterization.cs
+++ b/Common/Ui/GenesisToolBox/FrmParameterization.cs
@@ -190,7 +190,7 @@ namespace Xylem.Common.Ui.GenesisToolBox
}
_currentGenesis.WriteRegister("SENSUSRADIO_SYSTEMSTATE", 0xFF, true, false);
- _currentGenesis.StoreAllApps();
+ _currentGenesis.StoreAllConfigurations();
if (success)
{
MessageBox.Show("success");
diff --git a/Common/Ui/GenesisToolBox/frmMainForm.Designer.cs b/Common/Ui/GenesisToolBox/frmMainForm.Designer.cs
index 4c43cc3c..b6196a50 100644
--- a/Common/Ui/GenesisToolBox/frmMainForm.Designer.cs
+++ b/Common/Ui/GenesisToolBox/frmMainForm.Designer.cs
@@ -291,7 +291,7 @@
this.button3.TabIndex = 19;
this.button3.Text = "button3";
this.button3.UseVisualStyleBackColor = true;
- //this.button3.Click += new System.EventHandler(this.button3_Click);
+ this.button3.Click += new System.EventHandler(this.button3_Click);
//
// BtnFileSplit
//
diff --git a/Common/Ui/GenesisToolBox/frmMainForm.cs b/Common/Ui/GenesisToolBox/frmMainForm.cs
index 83b3880a..a31e22d3 100644
--- a/Common/Ui/GenesisToolBox/frmMainForm.cs
+++ b/Common/Ui/GenesisToolBox/frmMainForm.cs
@@ -369,5 +369,10 @@ namespace Xylem.Common.Ui.GenesisToolBox
form.Closed += Form_Closed;
Hide();
}
+
+ private void button3_Click(object sender, EventArgs e)
+ {
+
+ }
}
}
diff --git a/Common/Ui/GenesisToolBox/frmRegisterStore.cs b/Common/Ui/GenesisToolBox/frmRegisterStore.cs
index 502d65cf..a2b6a1aa 100644
--- a/Common/Ui/GenesisToolBox/frmRegisterStore.cs
+++ b/Common/Ui/GenesisToolBox/frmRegisterStore.cs
@@ -1745,7 +1745,7 @@ namespace Xylem.Common.Ui.GenesisToolBox
{
_currentGenesis = ((GenesisMeter)me);
- var resultAll = _currentGenesis.StoreAllApps();
+ var resultAll = _currentGenesis.StoreAllConfigurations();
if (resultAll)
{
btnStoreAll.BackColor = Color.Green;
@@ -1943,7 +1943,7 @@ namespace Xylem.Common.Ui.GenesisToolBox
Task.Factory.StartNew(() =>
{
- if (_currentGenesis.StoreAllApps())
+ if (_currentGenesis.StoreAllConfigurations())
{
try
{
@@ -2010,7 +2010,7 @@ namespace Xylem.Common.Ui.GenesisToolBox
Task.Factory.StartNew(() =>
{
- if (_currentGenesis.StoreAllApps())
+ if (_currentGenesis.StoreAllConfigurations())
{
try
{