From 4464a2025bdfb8c0a5b25a1c382994b143719a42 Mon Sep 17 00:00:00 2001 From: Milan Hanajik Date: Mon, 26 Apr 2021 11:34:49 +0200 Subject: [PATCH] Changes in binding between KPackE.Radio and KPackE.RegisterReader (Register(), Unregister(), ver. 2.26.1636 --- .../RegisterReaders/KPackE/Radio/Radio.cs | 29 ++++++--- .../KPackE/RegisterReader/RegisterReader.cs | 60 +++++++++---------- TBF/Properties/AssemblyInfo.cs | 4 +- 3 files changed, 52 insertions(+), 41 deletions(-) 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")]