diff --git a/TBF/Rig/DataEntry/PoseidonCmd/EntryForm.cs b/TBF/Rig/DataEntry/PoseidonCmd/EntryForm.cs
index d37c5310a..5975229b3 100644
--- a/TBF/Rig/DataEntry/PoseidonCmd/EntryForm.cs
+++ b/TBF/Rig/DataEntry/PoseidonCmd/EntryForm.cs
@@ -134,12 +134,8 @@ namespace TBF.Rig.DataEntry.PoseidonCmd
PoseidonReader poseidonReader = (reader as PoseidonReader);
if (waterMeters.Count > iterator)
{
- if(string.IsNullOrEmpty(poseidonReader.SerialNr))
+ if(!string.IsNullOrEmpty(poseidonReader.SerialNr))
waterMeters[iterator].SerialNr = poseidonReader.SerialNr;
- else
- {
- waterMeters[iterator].SerialNr = "*";
- }
}
}
diff --git a/TBF/Rig/RegisterReaders/IPerlReader/implementations/SmartReader.cs b/TBF/Rig/RegisterReaders/IPerlReader/implementations/SmartReader.cs
index 71b341b68..7c34fe550 100644
--- a/TBF/Rig/RegisterReaders/IPerlReader/implementations/SmartReader.cs
+++ b/TBF/Rig/RegisterReaders/IPerlReader/implementations/SmartReader.cs
@@ -506,15 +506,9 @@ namespace TBF.Rig.RegisterReaders.IPerlReader.implementations
get { return wmVolume; }
}
- public double BeginWMState
- {
- get { return beginWMState; }
- }
+ public double BeginWMState { get { return beginWMState; } set { beginWMState = value; } }
- public double EndWMState
- {
- get { return endWMState; }
- }
+ public double EndWMState { get { return endWMState; } set { endWMState = value; } }
public IOperation ReadDatastreamOp()
{
diff --git a/TBF/Rig/RegisterReaders/PoseidonCmdStartStop/PoseidonReader.cs b/TBF/Rig/RegisterReaders/PoseidonCmdStartStop/PoseidonReader.cs
index d8da47f93..437cb113b 100644
--- a/TBF/Rig/RegisterReaders/PoseidonCmdStartStop/PoseidonReader.cs
+++ b/TBF/Rig/RegisterReaders/PoseidonCmdStartStop/PoseidonReader.cs
@@ -17,10 +17,11 @@ using TBF.Rig.Generic;
using TBF.Rig.GenericDevices;
using TBF.Rig.RegisterReaders.SerialStream;
using TBF.Rig.RegisterReaders.StandingStartStop;
+using TBF.Rig.Uni.SharedDialogs.SmartMetersCommunication.common;
namespace TBF.Rig.RegisterReaders.PoseidonCmdStartStop
{
- public class PoseidonReader : ComponentBase, IDevice, IRegReaderDatastream, ISessionDataMngmnt, IOperation
+ public class PoseidonReader : ComponentBase, IDevice, IRegReaderDatastream, ISessionDataMngmnt, IOperation, ICommonRegReader
{
private static readonly ILog log = LogManager.GetLogger(typeof(PoseidonReader));
public override string ToString() { return string.Format("{0}({1})", ClassName, Cfg.ToString(-1)); }
@@ -134,10 +135,10 @@ namespace TBF.Rig.RegisterReaders.PoseidonCmdStartStop
public int WMPulses { get { return wmPulses; } }
public int WMRefPulses { get { return wmRefPulses; } }
public double WMVolume { get { return wmVolume; } }
- public double BeginWMState { get { return beginWMState; } }
- public double EndWMState { get { return endWMState; } }
+ public double BeginWMState { get { return beginWMState; } set { beginWMState = value;} }
+ public double EndWMState { get { return endWMState; } set { endWMState = value;} }
public double WMTestTime { get { return wmTestTime; } }
- public string SerialNr { get => wmSerialNr; }
+ public string SerialNr { get => wmSerialNr; set => wmSerialNr = value; }
double beginWMState;
diff --git a/TBF/Rig/RegisterReaders/PoseidonReader/SmartReader.cs b/TBF/Rig/RegisterReaders/PoseidonReader/SmartReader.cs
index aebebbfd6..538cdbf52 100644
--- a/TBF/Rig/RegisterReaders/PoseidonReader/SmartReader.cs
+++ b/TBF/Rig/RegisterReaders/PoseidonReader/SmartReader.cs
@@ -369,8 +369,8 @@ namespace TBF.Rig.RegisterReaders.PoseidonReader
public int WMPulses { get { return wmPulses; } }
public int WMRefPulses { get { return wmRefPulses; }}
public double WMVolume { get { return wmVolume; } }
- public double BeginWMState { get { return beginWMState; } }
- public double EndWMState { get { return endWMState; } }
+ public double BeginWMState { get { return beginWMState;} set => beginWMState = value; }
+ public double EndWMState { get { return endWMState; } set => endWMState = value; }
public IOperation ReadDatastreamOp()
{
return this;
diff --git a/TBF/Rig/RegisterReaders/PoseidonReader/implementations/PoseidonReader.cs b/TBF/Rig/RegisterReaders/PoseidonReader/implementations/PoseidonReader.cs
index b855db6c3..aaecb32c3 100644
--- a/TBF/Rig/RegisterReaders/PoseidonReader/implementations/PoseidonReader.cs
+++ b/TBF/Rig/RegisterReaders/PoseidonReader/implementations/PoseidonReader.cs
@@ -17,7 +17,18 @@ namespace TBF.Rig.RegisterReaders.PoseidonReader.implementations
public class PoseidonReader : ComponentBase, IDevice, IRegReaderDatastream, ISessionDataMngmnt, IOperation, ISmartReader
{
private static readonly ILog log = LogManager.GetLogger(typeof(PoseidonReader));
-
+
+ public PoseidonReader()
+ {
+ _pulsesPerLtr = 0;
+ _ltrsPerPulse = 0;
+ _wmPulses = 0;
+ _wmRefPulses = 0;
+ _wmVolume = 0;
+ _beginWmState = 0;
+ _endWmState = 0;
+ }
+
public override string ToString()
{
return string.Format("{0}({1})", ClassName, Cfg.ToString(-1));
@@ -101,13 +112,23 @@ namespace TBF.Rig.RegisterReaders.PoseidonReader.implementations
throw new System.NotImplementedException();
}
- public double PulsesPerLtr { get; }
- public double LtrsPerPulse { get; }
- public int WMPulses { get; }
- public int WMRefPulses { get; }
- public double WMVolume { get; }
- public double BeginWMState { get; }
- public double EndWMState { get; }
+ private double _pulsesPerLtr ;
+ private double _ltrsPerPulse ;
+ private int _wmPulses ;
+ private int _wmRefPulses ;
+ private double _wmVolume ;
+ private double _beginWmState ;
+ private double _endWmState ;
+
+
+ public double PulsesPerLtr { get => _pulsesPerLtr; }
+ public double LtrsPerPulse { get => _ltrsPerPulse; }
+ public int WMPulses { get => _wmPulses; }
+ public int WMRefPulses { get =>_wmRefPulses; }
+ public double WMVolume { get =>_wmVolume; }
+ public double BeginWMState { get => _beginWmState; set => _beginWmState = value; }
+ public double EndWMState { get => _endWmState; set => _endWmState = value; }
+
public IOperation ReadDatastreamOp()
{
throw new System.NotImplementedException();
diff --git a/TBF/Rig/TestMethods/StandingStart/StandingStartSeq.cs b/TBF/Rig/TestMethods/StandingStart/StandingStartSeq.cs
index fa99dca35..1486c2df0 100644
--- a/TBF/Rig/TestMethods/StandingStart/StandingStartSeq.cs
+++ b/TBF/Rig/TestMethods/StandingStart/StandingStartSeq.cs
@@ -9,6 +9,7 @@ using Common;
using TBF.Boxes;
using TBF.Resources;
using TBF.Rig.GenericDevices;
+using TBF.Rig.Uni.SharedDialogs.SmartMetersCommunication.common;
using TBF.UiBridge;
namespace TBF.Rig.TestMethods.StandingStart
@@ -511,6 +512,9 @@ namespace TBF.Rig.TestMethods.StandingStart
for (int i = 0; i < waterMetersCount; i++)
{
GenericDevices.IRegReader rr = sensPath.RegisterReaders[i];
+
+ if (rr is ISmartReader)
+ (rr as ISmartReader).BeginWMState = dataEntryCmpnt.WMStartState(i);
if (rr is Rig.RegisterReaders.StandingStartStop.RegisterReader)
(rr as Rig.RegisterReaders.StandingStartStop.RegisterReader).BeginWMState = dataEntryCmpnt.WMStartState(i);
@@ -763,6 +767,9 @@ namespace TBF.Rig.TestMethods.StandingStart
{
GenericDevices.IRegReader rr = sensPath.RegisterReaders[i];
+ if (rr is ISmartReader)
+ (rr as ISmartReader).EndWMState = dataEntryCmpnt.WMEndState(i);
+
if (rr is Rig.RegisterReaders.StandingStartStop.RegisterReader)
(rr as Rig.RegisterReaders.StandingStartStop.RegisterReader).EndWMState = dataEntryCmpnt.WMEndState(i);
diff --git a/TBF/Rig/TestMethods/StandingStartMassCollection/StandingStartMassCollectionSeq.cs b/TBF/Rig/TestMethods/StandingStartMassCollection/StandingStartMassCollectionSeq.cs
index 00d7c37d2..7bcab41c9 100644
--- a/TBF/Rig/TestMethods/StandingStartMassCollection/StandingStartMassCollectionSeq.cs
+++ b/TBF/Rig/TestMethods/StandingStartMassCollection/StandingStartMassCollectionSeq.cs
@@ -11,6 +11,7 @@ using Config.Entities;
using TBF.Boxes;
using TBF.Resources;
using TBF.Rig.GenericDevices;
+using TBF.Rig.Uni.SharedDialogs.SmartMetersCommunication.common;
using TBF.UiBridge;
namespace TBF.Rig.TestMethods.StandingStartMassCollection
@@ -593,8 +594,15 @@ namespace TBF.Rig.TestMethods.StandingStartMassCollection
{
for (int i = 0; i < waterMetersCount; i++)
{
+
IRegReader rr = sensPath.RegisterReaders[i];
+
+ if (rr is ICommonRegReader)
+ {
+ (rr as ICommonRegReader).BeginWMState = dataEntryCmpnt.WMStartState(i);
+ }
+
if (rr is Rig.RegisterReaders.StandingStartStop.RegisterReader)
(rr as Rig.RegisterReaders.StandingStartStop.RegisterReader).BeginWMState = dataEntryCmpnt.WMStartState(i);
@@ -951,6 +959,10 @@ namespace TBF.Rig.TestMethods.StandingStartMassCollection
for (int i = 0; i < waterMetersCount; i++)
{
GenericDevices.IRegReader rr = sensPath.RegisterReaders[i];
+
+ if (rr is ICommonRegReader)
+ (rr as ICommonRegReader).EndWMState = dataEntryCmpnt.WMEndState(i);
+
if (rr is Rig.RegisterReaders.StandingStartStop.RegisterReader)
(rr as Rig.RegisterReaders.StandingStartStop.RegisterReader).EndWMState = dataEntryCmpnt.WMEndState(i);
@@ -1246,6 +1258,14 @@ namespace TBF.Rig.TestMethods.StandingStartMassCollection
&& (tstRslt.ErrorFlags == 0);
meterRslt.TestDone = true;
tstRslt.TestDone = true;
+ if (regReader is ICommonRegReader regReaderCommon)
+ // if (meterRslt.WaterMeter != null
+ // && tstRslt is ICommonRegReader tstRsltCommon
+ // && !string.IsNullOrEmpty(tstRsltCommon.SerialNr))
+ {
+ meterRslt.WaterMeter.SerialNr = regReaderCommon.SerialNr;
+ }
+
}
}
}
diff --git a/TBF/Rig/TestMethods/iPerlCommunication/iPerlHead/IperlHead.cs b/TBF/Rig/TestMethods/iPerlCommunication/iPerlHead/IperlHead.cs
index 630d94fae..6f95a88d6 100644
--- a/TBF/Rig/TestMethods/iPerlCommunication/iPerlHead/IperlHead.cs
+++ b/TBF/Rig/TestMethods/iPerlCommunication/iPerlHead/IperlHead.cs
@@ -187,8 +187,8 @@ namespace TBF.Rig.TestMethods.iPerlCommunication.iPerlHead
///
public int WMPulses { get { return wmPulses; } }
public int WMRefPulses { get { return wmRefPulses; } }
- public double BeginWMState { get { return beginWMState; } }
- public double EndWMState { get { return endWMState; } }
+ public double BeginWMState { get { return beginWMState; } set { beginWMState = value; }}
+ public double EndWMState { get { return endWMState; } set { endWMState = value;} }
public double WMVolume { get { return wmVolume; } }
public double WMTestTime { get { return wmTestTime; } }
diff --git a/TBF/Rig/Uni/SharedDialogs/SmartMetersCommunication/common/ICommonRegReader.cs b/TBF/Rig/Uni/SharedDialogs/SmartMetersCommunication/common/ICommonRegReader.cs
new file mode 100644
index 000000000..921016ff3
--- /dev/null
+++ b/TBF/Rig/Uni/SharedDialogs/SmartMetersCommunication/common/ICommonRegReader.cs
@@ -0,0 +1,16 @@
+using Common;
+using TBF.Rig.GenericDevices;
+
+namespace TBF.Rig.Uni.SharedDialogs.SmartMetersCommunication.common
+{
+ public interface ICommonRegReader : IRegReader
+ {
+ new string Name { get; }
+ new DebugMode DebugLevel { get; set; }
+ public string SerialNr { get; set; }
+
+ new double BeginWMState { get; set; } /// Test begin state of the water meter
+ new double EndWMState { get; set; } /// Test end state of the water meter
+
+ }
+}
\ No newline at end of file
diff --git a/TBF/Rig/Uni/SharedDialogs/SmartMetersCommunication/common/ISmartReader.cs b/TBF/Rig/Uni/SharedDialogs/SmartMetersCommunication/common/ISmartReader.cs
index b2d1916fa..4847ea419 100644
--- a/TBF/Rig/Uni/SharedDialogs/SmartMetersCommunication/common/ISmartReader.cs
+++ b/TBF/Rig/Uni/SharedDialogs/SmartMetersCommunication/common/ISmartReader.cs
@@ -5,11 +5,14 @@ using TBF.Rig.RegisterReaders.CommonRR;
namespace TBF.Rig.Uni.SharedDialogs.SmartMetersCommunication.common
{
- public interface ISmartReader : IRegReader
+ public interface ISmartReader : ICommonRegReader
{
new string Name { get; }
new DebugMode DebugLevel { get; set; }
- public string SerialNr { get; }
+ new string SerialNr { get; set; }
+ new double BeginWMState { get; set; } /// Test begin state of the water meter
+ new double EndWMState { get; set; } /// Test end state of the water meter
+
public string CommInterface { get; }
public int RfidComPortNr { get; }
diff --git a/TBF/TBF.csproj b/TBF/TBF.csproj
index ac4364cef..cfa9ba9b2 100644
--- a/TBF/TBF.csproj
+++ b/TBF/TBF.csproj
@@ -2064,6 +2064,7 @@
+