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()
{
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
/// <summary>Stop this device</summary>
public void StopDevice()
{
if (serialPort != null)
if (serialPort != null && serialPort.IsOpen)
{
//stopWorkerThread = true;
//workerThread.Join(2000);
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.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
/// </summary>
/// <param name="wmState"></param>
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;
}
/// <summary>Start this operation</summary>
@@ -141,8 +139,6 @@ namespace TBF.BenchControl.RegisterReaders.KPackE.RegisterReader
}
/// <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
// 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")]