diff --git a/TestBenchFramework/BenchControl/Elde/ControlBoardDev.cs b/TestBenchFramework/BenchControl/Elde/ControlBoardDev.cs index 045b7510a..75c7bebfa 100644 --- a/TestBenchFramework/BenchControl/Elde/ControlBoardDev.cs +++ b/TestBenchFramework/BenchControl/Elde/ControlBoardDev.cs @@ -106,7 +106,8 @@ namespace TBF.BenchControl.Elde /// State of valves sent out - buffered by the last SendCommand() public ulong Route { get { return route; } } - ulong valvesToInvert; /// Route = valesToInvert ^ RequiredRouteWithoutInvertedVlaves + ulong valvesToInvert; /// Route = valesToInvert ^ RequiredRouteWithoutInvertedVlaves + readonly ulong routeMask; /// This mask masks out virtual valves, routeMask is set in the constructor /// /// Initialization data updated by constructors of children components @@ -128,8 +129,6 @@ namespace TBF.BenchControl.Elde public uint[] BalanceRange = new uint[2]; - readonly ulong routeMask; /// This mask masks out virtual valves, routeMask is set in the constructor - /// /// Private values sent by the last SendCommand() /// @@ -412,6 +411,18 @@ namespace TBF.BenchControl.Elde return oldRoute ^ route; } + /// + /// Set Route to value returned by RRoute. Take virtual valves into account. + /// + /// 'ulong' with bits of valves that have changed set to '1' + public ulong SyncRoute() + { + ulong oldRoute = route; + route = (RRoute & routeMask) | (route & (~routeMask)); + log.DebugFormat("SyncRoute(), new route = {0}", Utils.ShowRoute(route)); + return oldRoute ^ route; + } + /// /// Regulation valves control. /// diff --git a/TestBenchFramework/BenchControl/Elde/StartMeasurementOp.cs b/TestBenchFramework/BenchControl/Elde/StartMeasurementOp.cs index e19e6c605..4188019a2 100644 --- a/TestBenchFramework/BenchControl/Elde/StartMeasurementOp.cs +++ b/TestBenchFramework/BenchControl/Elde/StartMeasurementOp.cs @@ -57,7 +57,8 @@ namespace TBF.BenchControl.Elde /// Start this operation public void Start() { - controlBoard.SendCommand(Command.Start, flowMeterIdx, controlBoard.RRoute, refPulses, testMethod, + controlBoard.SyncRoute(); + controlBoard.SendCommand(Command.Start, flowMeterIdx, controlBoard.Route, refPulses, testMethod, filterConstant, 20, 0, StopDevs.None); } diff --git a/TestBenchFramework/BenchControl/Elde/StopPreviousOp.cs b/TestBenchFramework/BenchControl/Elde/StopPreviousOp.cs index 98bbac97d..50b2997dc 100644 --- a/TestBenchFramework/BenchControl/Elde/StopPreviousOp.cs +++ b/TestBenchFramework/BenchControl/Elde/StopPreviousOp.cs @@ -32,9 +32,10 @@ namespace TBF.BenchControl.Elde /// Start this operation public void Start() { + controlBoard.SyncRoute(); controlBoard.SendCommand(Command.Stop, 0, /// ref. flowmeter number - controlBoard.RRoute, /// route + controlBoard.Route, /// route 0, /// ref. pulses TestMethods.Diverter, 0.0f, diff --git a/TestBenchFramework/Properties/AssemblyInfo.cs b/TestBenchFramework/Properties/AssemblyInfo.cs index 1e7a1518e..b5fa5e85b 100644 --- a/TestBenchFramework/Properties/AssemblyInfo.cs +++ b/TestBenchFramework/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("1.5.64.1")] -[assembly: AssemblyFileVersion("1.5.64.1")] +[assembly: AssemblyVersion("1.5.65.1")] +[assembly: AssemblyFileVersion("1.5.65.1")]