diff --git a/TBF/BenchControl/RegisterReaders/KPackE/Radio/Radio.cs b/TBF/BenchControl/RegisterReaders/KPackE/Radio/Radio.cs
index 8abb5343c..01efe6299 100644
--- a/TBF/BenchControl/RegisterReaders/KPackE/Radio/Radio.cs
+++ b/TBF/BenchControl/RegisterReaders/KPackE/Radio/Radio.cs
@@ -105,6 +105,25 @@ namespace TBF.BenchControl.RegisterReaders.KPackE.Radio
}
+ ///
+ /// Register(rr) is called from Initialize() function of RegisterReader-s
+ ///
+ /// RegisterReader reference
+ public void Register(RegisterReader.RegisterReader regReader)
+ {
+ RegReaders.Add(regReader);
+ }
+
+ ///
+ /// Unregister(rr) is called from StopDevice() function of RegisterReader-s
+ ///
+ /// RegisterReader reference
+ public void Unregister(RegisterReader.RegisterReader regReader)
+ {
+ RegReaders.Remove(regReader);
+ }
+
+
public void SendAcknowledgeNow()
{
serialPort.Write(Ack, 0, Ack.Length);
@@ -166,9 +185,8 @@ namespace TBF.BenchControl.RegisterReaders.KPackE.Radio
{
if (rr.SerialNr == serialNr)
{
- double wmState = (double)reading;
- rr.WMStateReceived(wmState);
- EntryForm.WMStateReceived(serialNr, wmState);
+ rr.WMStateReceived((int)reading);
+ EntryForm.WMStateReceived(serialNr, reading * rr.LtrsPerPulse);
break;
}
}
@@ -259,12 +277,9 @@ namespace TBF.BenchControl.RegisterReaders.KPackE.Radio
/// Stop this device
public void StopDevice()
{
- if (serialPort != null)
+ if (serialPort != null && serialPort.IsOpen)
{
- //stopWorkerThread = true;
- //workerThread.Join(2000);
serialPort.Close();
- serialPort = null;
}
}
diff --git a/TBF/BenchControl/RegisterReaders/KPackE/RegisterReader/RegisterReader.cs b/TBF/BenchControl/RegisterReaders/KPackE/RegisterReader/RegisterReader.cs
index 9b3cbeb88..56b2e5e20 100644
--- a/TBF/BenchControl/RegisterReaders/KPackE/RegisterReader/RegisterReader.cs
+++ b/TBF/BenchControl/RegisterReaders/KPackE/RegisterReader/RegisterReader.cs
@@ -1,5 +1,5 @@
///
-/// Copyright (c) 2018 Sensus Slovensko a.s.
+/// Copyright (c) 2018-2021 Sensus Slovensko a.s.
///
using System;
using System.Collections.Generic;
@@ -8,7 +8,7 @@ using TBF.Boxes;
namespace TBF.BenchControl.RegisterReaders.KPackE.RegisterReader
{
- public class RegisterReader : ComponentBase, GenericDevices.IRegReader, IOperation
+ public class RegisterReader : ComponentBase, Generic.IDevice, GenericDevices.IRegReader, IOperation
{
private static readonly ILog log = LogManager.GetLogger(typeof(RegisterReader));
public override string ToString() { return string.Format("{0}({1})", ClassName, Cfg.ToString(-1)); }
@@ -41,39 +41,26 @@ namespace TBF.BenchControl.RegisterReaders.KPackE.RegisterReader
/// Called by Radio when data for SerialNr were received
///
///
- public void WMStateReceived(double wmState)
+ public void WMStateReceived(int wmState)
{
+ WMPulses = wmState;
+
if (IsEndOfTest)
{
- endWMState = wmState;
+ EndWMState = wmState;
}
else
{
- beginWMState = wmState;
+ BeginWMState = wmState;
}
}
- double beginWMState;
- public double BeginWMState
- {
- get { return beginWMState; }
- set { beginWMState = value; }
- }
-
- double endWMState;
- public double EndWMState
- {
- get { return endWMState; }
- set { endWMState = value; }
- }
-
- public double WMVolume { get { return endWMState - beginWMState; } }
-
- public int WMPulses { get { return (int)(WMVolume / LtrsPerPulse); } }
-
- int wmRefPulses;
- public int WMRefPulses { get { return wmRefPulses; } }
+ public int WMPulses { get; set; }
+ public int WMRefPulses { get; set; }
+ public double WMVolume { get { return WMPulses * LtrsPerPulse; } }
+ public double BeginWMState { get; set; }
+ public double EndWMState { get; set; }
public RegisterReader() { }
@@ -92,6 +79,7 @@ namespace TBF.BenchControl.RegisterReaders.KPackE.RegisterReader
controlBoard = StateMachine.ControlBoard;
+ radio.Register(this);
Clear();
log.FatalFormat("{0} initialized: {1}", Name, this);
@@ -100,11 +88,21 @@ namespace TBF.BenchControl.RegisterReaders.KPackE.RegisterReader
public void Clear()
{
log.DebugFormat("{0}:Clear()", Name);
- beginWMState = 0;
- endWMState = 0;
- wmRefPulses = 0;
+ BeginWMState = 0;
+ EndWMState = 0;
+ WMRefPulses = 0;
}
+ public void StopDevice()
+ {
+ radio.Unregister(this);
+ }
+
+ public void RunDeviceBefore() { }
+ public void RunDeviceAfter() { }
+ public void StopDevice2() { }
+
+
public void TestCompleted()
{
@@ -123,7 +121,7 @@ namespace TBF.BenchControl.RegisterReaders.KPackE.RegisterReader
private void ReadPulses()
{
- wmRefPulses = (controlBoard != null) ? controlBoard.EtPulses(0) : 0;
+ WMRefPulses = (controlBoard != null) ? controlBoard.EtPulses(0) : 0;
}
/// Start this operation
@@ -141,8 +139,6 @@ namespace TBF.BenchControl.RegisterReaders.KPackE.RegisterReader
}
/// Stop this operation
- public void Stop()
- {
- }
+ public void Stop() { }
}
}
diff --git a/TBF/Properties/AssemblyInfo.cs b/TBF/Properties/AssemblyInfo.cs
index de7b952b0..05ff44df4 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.1623.0")]
-[assembly: AssemblyFileVersion("2.26.1623.0")]
+[assembly: AssemblyVersion("2.26.1636.0")]
+[assembly: AssemblyFileVersion("2.26.1636.0")]