diff --git a/TBF/BenchControl/DataEntry/DataStream/EntryForm.cs b/TBF/BenchControl/DataEntry/DataStream/EntryForm.cs
index c99fa7586..2f6b1d697 100644
--- a/TBF/BenchControl/DataEntry/DataStream/EntryForm.cs
+++ b/TBF/BenchControl/DataEntry/DataStream/EntryForm.cs
@@ -88,7 +88,7 @@ namespace TBF.BenchControl.DataEntry.DataStream
public IOperation ShowCycleBeginFormOp()
{
if (currentOp != CurrentOp.None) throw new Exception("Sequence error");
- mefImport.CloseAllConnections();
+ mefImport.CloseConnectionAll();
currentOp = CurrentOp.ShowFormAtCycleBeginning;
this.waterMeters = TBF.BenchControl.Sequences.ProcessData.BatchRslts.Batch.WaterMeters;
return this;
@@ -98,7 +98,7 @@ namespace TBF.BenchControl.DataEntry.DataStream
public IOperation ShowCycleEndFormOp()
{
if (currentOp != CurrentOp.None) throw new Exception("Sequence error");
- mefImport.CloseAllConnections();
+ mefImport.CloseConnectionAll();
return null;
}
diff --git a/TBF/BenchControl/RegisterReaders/DataStream/MefImport/MefImport.cs b/TBF/BenchControl/RegisterReaders/DataStream/MefImport/MefImport.cs
index 4a80d9434..658d76c5f 100644
--- a/TBF/BenchControl/RegisterReaders/DataStream/MefImport/MefImport.cs
+++ b/TBF/BenchControl/RegisterReaders/DataStream/MefImport/MefImport.cs
@@ -102,7 +102,7 @@ namespace TBF.BenchControl.RegisterReaders.DataStream.MefImport
///
/// Wrapper for DataStreamIFace.CloseConnection() called in a loop for all connected water meters
///
- public void CloseAllConnections()
+ public bool CloseConnectionAll()
{
if (isConnectedArray != null)
{
@@ -110,13 +110,79 @@ namespace TBF.BenchControl.RegisterReaders.DataStream.MefImport
{
if (isConnectedArray[ix])
{
- if (DataStreamIFace.CloseConnection(ix))
- {
- isConnectedArray[ix] = false; /// reset IsConnected flag
- }
+ DataStreamIFace.CloseConnection(ix);
+ isConnectedArray[ix] = false; /// reset IsConnected flag regardless of returned value
}
}
}
+
+ return true;
+ }
+
+ ///
+ /// Wrapper for DataStreamIFace.StartMeasurement(), starts only connected water meters
+ ///
+ public bool StartMeasurement(int ix)
+ {
+ if (isConnectedArray != null && ix >= 0 && ix < isConnectedArray.Length && isConnectedArray[ix])
+ {
+ return DataStreamIFace.StartMeasurement(ix);
+ }
+
+ return false;
+ }
+
+ ///
+ /// Wrapper that bypasses DataStreamIFace.StartMeasurementAll(), starts only connected water meters
+ ///
+ public bool StartMeasurementAll()
+ {
+ if (isConnectedArray != null)
+ {
+ for (int ix = 0; ix < isConnectedArray.Length; ix++)
+ {
+ if (isConnectedArray[ix]) DataStreamIFace.StartMeasurement(ix);
+ }
+ return true;
+ }
+
+ return false;
+ }
+
+ ///
+ /// Wrapper for DataStreamIFace.StopMeasurement(), stops only connected water meters
+ ///
+ public bool StopMeasurement(int ix, out Int64 storedFramesCount)
+ {
+ if (isConnectedArray != null && ix >= 0 && ix < isConnectedArray.Length && isConnectedArray[ix])
+ {
+ return DataStreamIFace.StopMeasurement(ix, out storedFramesCount);
+ }
+
+ storedFramesCount = 0;
+ return false;
+ }
+
+ ///
+ /// Wrapper that bypasses DataStreamIFace.StopMeasurementAll(), stops only connected water meters
+ ///
+ public bool StopMeasurementAll(out Int64[] storedFramesCounts)
+ {
+ if (isConnectedArray != null)
+ {
+ storedFramesCounts = new Int64[isConnectedArray.Length];
+ for (int ix = 0; ix < isConnectedArray.Length; ix++)
+ {
+ if (isConnectedArray[ix])
+ DataStreamIFace.StopMeasurement(ix, out storedFramesCounts[ix]);
+ else
+ storedFramesCounts[ix] = 0;
+ }
+ return true;
+ }
+
+ storedFramesCounts = null;
+ return false;
}
}
}
diff --git a/TBF/BenchControl/RegisterReaders/DataStream/Reader/Reader.cs b/TBF/BenchControl/RegisterReaders/DataStream/Reader/Reader.cs
index 1f5e1e726..82d39ffe0 100644
--- a/TBF/BenchControl/RegisterReaders/DataStream/Reader/Reader.cs
+++ b/TBF/BenchControl/RegisterReaders/DataStream/Reader/Reader.cs
@@ -133,7 +133,7 @@ namespace TBF.BenchControl.RegisterReaders.DataStream.Reader
volumeUnit = mefImport.DataStreamIFace.GetVolumeUnits();
log.DebugFormat("timeUnit = {0}, volumeUnit = {1}", timeUnit, volumeUnit);
- bool started = mefImport.DataStreamIFace.StartMeasurement(Position - 1);
+ bool started = mefImport.StartMeasurement(Position - 1);
log.DebugFormat("{0} : DataStreamIFace.StartMeasurement({1}) in Start() returned {2}", Name, Position - 1, started);
}
}
@@ -151,7 +151,7 @@ namespace TBF.BenchControl.RegisterReaders.DataStream.Reader
TBF.BenchControl.Sequences.ProcessData.BatchRslts.Batch.WaterMeters[Position - 1] != null &&
!TBF.BenchControl.Sequences.ProcessData.BatchRslts.Batch.WaterMeters[Position - 1].Disabled)
{
- bool stopped = mefImport.DataStreamIFace.StopMeasurement(Position - 1, out storedFramesCount);
+ bool stopped = mefImport.StopMeasurement(Position - 1, out storedFramesCount);
log.DebugFormat("{0} : DataStreamIFace.StopMeasurement({1}) in Stop() returned {2}, storedFramesCount = {3}", Name, Position - 1, stopped, storedFramesCount);
if (storedFramesCount >= minSamplesCount)
diff --git a/TBF/Properties/AssemblyInfo.cs b/TBF/Properties/AssemblyInfo.cs
index 195bea34c..1610ecf29 100644
--- a/TBF/Properties/AssemblyInfo.cs
+++ b/TBF/Properties/AssemblyInfo.cs
@@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
// Build Number
// Revision
//
-[assembly: AssemblyVersion("2.26.1707.0")]
-[assembly: AssemblyFileVersion("2.26.1707.0")]
+[assembly: AssemblyVersion("2.26.1708.0")]
+[assembly: AssemblyFileVersion("2.26.1708.0")]