Changes in binding between KPackE.Radio and KPackE.RegisterReader (Register(), Unregister(), ver. 2.26.1636

This commit is contained in:
Milan Hanajik
2021-04-28 08:45:19 +02:00
parent 03197dc8f3
commit 4464a2025b
3 changed files with 52 additions and 41 deletions
@@ -105,6 +105,25 @@ namespace TBF.BenchControl.RegisterReaders.KPackE.Radio
} }
/// <summary>
/// Register(rr) is called from Initialize() function of RegisterReader-s
/// </summary>
/// <param name="regReader">RegisterReader reference</param>
public void Register(RegisterReader.RegisterReader regReader)
{
RegReaders.Add(regReader);
}
/// <summary>
/// Unregister(rr) is called from StopDevice() function of RegisterReader-s
/// </summary>
/// <param name="regReader">RegisterReader reference</param>
public void Unregister(RegisterReader.RegisterReader regReader)
{
RegReaders.Remove(regReader);
}
public void SendAcknowledgeNow() public void SendAcknowledgeNow()
{ {
serialPort.Write(Ack, 0, Ack.Length); serialPort.Write(Ack, 0, Ack.Length);
@@ -166,9 +185,8 @@ namespace TBF.BenchControl.RegisterReaders.KPackE.Radio
{ {
if (rr.SerialNr == serialNr) if (rr.SerialNr == serialNr)
{ {
double wmState = (double)reading; rr.WMStateReceived((int)reading);
rr.WMStateReceived(wmState); EntryForm.WMStateReceived(serialNr, reading * rr.LtrsPerPulse);
EntryForm.WMStateReceived(serialNr, wmState);
break; break;
} }
} }
@@ -259,12 +277,9 @@ namespace TBF.BenchControl.RegisterReaders.KPackE.Radio
/// <summary>Stop this device</summary> /// <summary>Stop this device</summary>
public void StopDevice() public void StopDevice()
{ {
if (serialPort != null) if (serialPort != null && serialPort.IsOpen)
{ {
//stopWorkerThread = true;
//workerThread.Join(2000);
serialPort.Close(); serialPort.Close();
serialPort = null;
} }
} }
@@ -1,5 +1,5 @@
/// ///
/// Copyright (c) 2018 Sensus Slovensko a.s. /// Copyright (c) 2018-2021 Sensus Slovensko a.s.
/// ///
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
@@ -8,7 +8,7 @@ using TBF.Boxes;
namespace TBF.BenchControl.RegisterReaders.KPackE.RegisterReader 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)); private static readonly ILog log = LogManager.GetLogger(typeof(RegisterReader));
public override string ToString() { return string.Format("{0}({1})", ClassName, Cfg.ToString(-1)); } 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 /// Called by Radio when data for SerialNr were received
/// </summary> /// </summary>
/// <param name="wmState"></param> /// <param name="wmState"></param>
public void WMStateReceived(double wmState) public void WMStateReceived(int wmState)
{ {
WMPulses = wmState;
if (IsEndOfTest) if (IsEndOfTest)
{ {
endWMState = wmState; EndWMState = wmState;
} }
else else
{ {
beginWMState = wmState; BeginWMState = wmState;
} }
} }
double beginWMState; public int WMPulses { get; set; }
public double BeginWMState public int WMRefPulses { get; set; }
{ public double WMVolume { get { return WMPulses * LtrsPerPulse; } }
get { return beginWMState; } public double BeginWMState { get; set; }
set { beginWMState = value; } public double EndWMState { get; set; }
}
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 RegisterReader() { } public RegisterReader() { }
@@ -92,6 +79,7 @@ namespace TBF.BenchControl.RegisterReaders.KPackE.RegisterReader
controlBoard = StateMachine.ControlBoard; controlBoard = StateMachine.ControlBoard;
radio.Register(this);
Clear(); Clear();
log.FatalFormat("{0} initialized: {1}", Name, this); log.FatalFormat("{0} initialized: {1}", Name, this);
@@ -100,11 +88,21 @@ namespace TBF.BenchControl.RegisterReaders.KPackE.RegisterReader
public void Clear() public void Clear()
{ {
log.DebugFormat("{0}:Clear()", Name); log.DebugFormat("{0}:Clear()", Name);
beginWMState = 0; BeginWMState = 0;
endWMState = 0; EndWMState = 0;
wmRefPulses = 0; WMRefPulses = 0;
} }
public void StopDevice()
{
radio.Unregister(this);
}
public void RunDeviceBefore() { }
public void RunDeviceAfter() { }
public void StopDevice2() { }
public void TestCompleted() public void TestCompleted()
{ {
@@ -123,7 +121,7 @@ namespace TBF.BenchControl.RegisterReaders.KPackE.RegisterReader
private void ReadPulses() private void ReadPulses()
{ {
wmRefPulses = (controlBoard != null) ? controlBoard.EtPulses(0) : 0; WMRefPulses = (controlBoard != null) ? controlBoard.EtPulses(0) : 0;
} }
/// <summary>Start this operation</summary> /// <summary>Start this operation</summary>
@@ -141,8 +139,6 @@ namespace TBF.BenchControl.RegisterReaders.KPackE.RegisterReader
} }
/// <summary>Stop this operation</summary> /// <summary>Stop this operation</summary>
public void Stop() public void Stop() { }
{
}
} }
} }
+2 -2
View File
@@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
// Build Number // Build Number
// Revision // Revision
// //
[assembly: AssemblyVersion("2.26.1623.0")] [assembly: AssemblyVersion("2.26.1636.0")]
[assembly: AssemblyFileVersion("2.26.1623.0")] [assembly: AssemblyFileVersion("2.26.1636.0")]