diff --git a/TBF/BenchControl/Elde/ControlBoardDev.cs b/TBF/BenchControl/Elde/ControlBoardDev.cs index 01d4e4fcf..448a06975 100644 --- a/TBF/BenchControl/Elde/ControlBoardDev.cs +++ b/TBF/BenchControl/Elde/ControlBoardDev.cs @@ -335,6 +335,8 @@ namespace TBF.BenchControl.Elde /// Run this device public void RunDeviceBefore() { + if (DebugLevel == DebugMode.Simulate) return; + controlCom.RunDeviceBefore(); previousEmergencyStop = emergencyStop; @@ -425,6 +427,8 @@ namespace TBF.BenchControl.Elde /// Run this device public void RunDeviceAfter() { + if (DebugLevel == DebugMode.Simulate) return; + if (sendCommandFlag) { controlCom.SendCommand(cmd, refNr, (benchModelRoute & routeMask), diff --git a/TBF/BenchControl/Events.cs b/TBF/BenchControl/Events.cs index 0b9f2c6e3..d963e5244 100644 --- a/TBF/BenchControl/Events.cs +++ b/TBF/BenchControl/Events.cs @@ -135,7 +135,7 @@ namespace TBF.BenchControl UiCmdBreak, UiCmdResetResults, UiCmdAcceptResults, - UiCmdCalibration, + UiCmdShutdown, UiCmdCameraTest, UiCmdSensitivityTest, UiCmdCustom, diff --git a/TBF/BenchControl/Operations/CheckUIOp.cs b/TBF/BenchControl/Operations/CheckUIOp.cs index 66b2665c7..ca4ad90b9 100644 --- a/TBF/BenchControl/Operations/CheckUIOp.cs +++ b/TBF/BenchControl/Operations/CheckUIOp.cs @@ -1,5 +1,5 @@ /// -/// Copyright (c) 2013-2015 Sensus Metering Systems +/// Copyright (c) 2013-2018 Sensus Slovensko a.s. /// using log4net; using TBF.UiBridge; @@ -95,7 +95,7 @@ namespace TBF.BenchControl.Operations case UI2BenchCmd.Break: return Event.UiCmdBreak; case UI2BenchCmd.ResetResults: return Event.UiCmdResetResults; case UI2BenchCmd.AcceptResults: return Event.UiCmdAcceptResults; - case UI2BenchCmd.Calibration: return Event.UiCmdCalibration; + case UI2BenchCmd.Shutdown: return Event.UiCmdShutdown; case UI2BenchCmd.CameraTest: return Event.UiCmdCameraTest; case UI2BenchCmd.SensitivityTest: return Event.UiCmdSensitivityTest; case UI2BenchCmd.Custom: return Event.UiCmdCustom; diff --git a/TBF/BenchControl/Operations/MessageBoxForm.Designer.cs b/TBF/BenchControl/Operations/MessageBoxForm.Designer.cs index b02388b73..51db86fe6 100644 --- a/TBF/BenchControl/Operations/MessageBoxForm.Designer.cs +++ b/TBF/BenchControl/Operations/MessageBoxForm.Designer.cs @@ -65,8 +65,10 @@ namespace TBF.BenchControl.Operations this.ClientSize = new System.Drawing.Size(454, 201); this.Controls.Add(this.messageLabel); this.Controls.Add(this.okButton); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; this.Name = "MessageBoxForm"; - this.Text = "Message"; + this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.TopMost = true; this.ResumeLayout(false); this.PerformLayout(); diff --git a/TBF/BenchControl/Operations/MessageBoxForm.cs b/TBF/BenchControl/Operations/MessageBoxForm.cs index 3b4a9a8a8..e20d5cf1e 100644 --- a/TBF/BenchControl/Operations/MessageBoxForm.cs +++ b/TBF/BenchControl/Operations/MessageBoxForm.cs @@ -1,5 +1,5 @@ /// -/// Copyright (c) 2013-2017 Sensus Metering Systems +/// Copyright (c) 2013-2018 Sensus Slovensko a.s. /// using System; using System.Drawing; @@ -15,13 +15,14 @@ namespace TBF.BenchControl.Operations bool completed; - public MessageBoxForm(string message) + public MessageBoxForm(string message, Color backgroundColor) { InitializeComponent(); ControlBox = false; Localize(); messageLabel.Text = message; + BackColor = backgroundColor; float textWidth = Graphics.FromImage(new Bitmap(1, 1)).MeasureString(messageLabel.Text, messageLabel.Font).Width; int rqrdFormWidth = (int)textWidth + 80; /// Form width calculated from the text width @@ -39,7 +40,6 @@ namespace TBF.BenchControl.Operations void Localize() { - Text = Strings.Message; okButton.Text = Strings.OkBtnText; } diff --git a/TBF/BenchControl/Operations/MessageBoxOp.cs b/TBF/BenchControl/Operations/MessageBoxOp.cs index 8d3b815ac..3a112d526 100644 --- a/TBF/BenchControl/Operations/MessageBoxOp.cs +++ b/TBF/BenchControl/Operations/MessageBoxOp.cs @@ -1,8 +1,9 @@ /// -/// Copyright (c) 2013-2015 Sensus Metering Systems +/// Copyright (c) 2013-2018 Sensus Slovensko a.s. /// using System; using System.Collections.Generic; +using System.Drawing; using TBF.BenchControl; using TBF.Resources; @@ -13,6 +14,7 @@ namespace TBF.BenchControl.Operations MessageBoxForm modelessDlg; string message; + Color backColor; bool completed = false; /// Reference to the operation @@ -21,16 +23,22 @@ namespace TBF.BenchControl.Operations { } - public MessageBoxOp(string message) + public MessageBoxOp(string message) + : this (message, Color.Goldenrod) + { + } + + public MessageBoxOp(string message, Color backColor) { this.message = message; + this.backColor = backColor; } delegate void MessageBoxFormDlgt(MessageBoxOp myRef); /// void OpenFormDlg(MessageBoxOp myRef) { - myRef.modelessDlg = new MessageBoxForm(message); + myRef.modelessDlg = new MessageBoxForm(message, backColor); modelessDlg.Show(); } diff --git a/TBF/BenchControl/Sequences/MainSeq.cs b/TBF/BenchControl/Sequences/MainSeq.cs index 83080b423..ec3f7ec80 100644 --- a/TBF/BenchControl/Sequences/MainSeq.cs +++ b/TBF/BenchControl/Sequences/MainSeq.cs @@ -109,16 +109,16 @@ namespace TBF.BenchControl.Sequences StateMachine.LoadProcedure(true); // TODO: Implement as an operation so that the worker thread is not blocked - //-------------------------------------------------------------------------------------------- Bridge.OnActivity(this, Strings.Starting_system); + State.Create("MainSeq : Press OK to start the system") + .AddOperation(new BenchControl.Operations.MessageBoxOp(Strings.Start_the_test_bench, System.Drawing.Color.OliveDrab)) + .EnterState(); + while (!StateMachine.WaitRunDevsRunOps().Contains(Event.OK)); + State.Create("MainSeq : Setting valves to default positions") .AddOperation(StateMachine.ControlBoard.SetValvesOp(StateMachine.DefaultValvesOpen, StateMachine.DefaultValvesClose)) .EnterState(); - do - { - e = StateMachine.WaitRunDevsRunOps(); - } - while (e.Contains(Event.ValvesBusy)); + while (StateMachine.WaitRunDevsRunOps().Contains(Event.ValvesBusy)); /// @@ -302,12 +302,13 @@ namespace TBF.BenchControl.Sequences do { selection = MakeSelection(MKSelContext.ProcedureNotSelected); - switch (selection) + switch (selection) { - case Selection.Q1: selectedTestName = "Q1"; break; - case Selection.Q2: selectedTestName = "Q2"; break; - case Selection.Q3: selectedTestName = "Q3"; break; - default: selectedTestName = Bridge.SelectedTestName; break; + case Selection.Shutdown: return null; /// Return from MainSeq.Execute() + case Selection.Q1: selectedTestName = "Q1"; break; + case Selection.Q2: selectedTestName = "Q2"; break; + case Selection.Q3: selectedTestName = "Q3"; break; + default: selectedTestName = Bridge.SelectedTestName; break; } UiBridge.Bridge.OnError(this, string.Empty); /// Clear an error message (if any) @@ -521,10 +522,11 @@ namespace TBF.BenchControl.Sequences selection = MakeSelection(MKSelContext.InsideProcedure); switch (selection) { - case Selection.Q1: selectedTestName = "Q1"; break; - case Selection.Q2: selectedTestName = "Q2"; break; - case Selection.Q3: selectedTestName = "Q3"; break; - default: selectedTestName = Bridge.SelectedTestName; break; + case Selection.Shutdown: return null; /// Return from MainSeq.Execute() + case Selection.Q1: selectedTestName = "Q1"; break; + case Selection.Q2: selectedTestName = "Q2"; break; + case Selection.Q3: selectedTestName = "Q3"; break; + default: selectedTestName = Bridge.SelectedTestName; break; } /// UiBridge.Bridge.OnError(this, string.Empty); /// Clear an error message (if any) @@ -1159,6 +1161,7 @@ namespace TBF.BenchControl.Sequences Q3, SaveResults, RestoreBatch, + Shutdown, Custom, } @@ -1173,6 +1176,10 @@ namespace TBF.BenchControl.Sequences /// private Selection MakeSelection(MKSelContext context) { + log.WarnFormat("MakeSelection({0})", context); + + bool shutdownInProgress = false; + /// Tank emptying valves states bool draining1 = false; bool draining2 = false; @@ -1226,8 +1233,19 @@ namespace TBF.BenchControl.Sequences e = StateMachine.WaitRunDevsRunOps(); /// Handled inside MakeSelection() inside the selection loop - if (e.Contains(Event.Error)) break; - if (!draining1 && e.Contains(Event.UiCmdDrainTank1)) break; + if (e.Contains(Event.UiCmdShutdown)) + { +#if true + /// TBF shutdown without tank draining + return Selection.Shutdown; +#else + /// TBF shutdown with tank draining + shutdownInProgress = true; + break; +#endif + } + if (e.Contains(Event.Error)) break; + if (!draining1 && e.Contains(Event.UiCmdDrainTank1)) break; if (!draining2 && e.Contains(Event.UiCmdDrainTank2)) break; if (!draining3 && e.Contains(Event.UiCmdDrainTank3)) break; if (draining1 && e.Contains(Event.UiCmdStopDrainingTank1)) break; @@ -1262,65 +1280,93 @@ namespace TBF.BenchControl.Sequences .EnterState(); while (true) StateMachine.WaitRunDevsRunOps(); /// Endless loop } - else - { - string stateText = "MainSeq : "; - IList openValves = new List(); - IList closeValves = new List(); + else + { + string stateText = "MainSeq : "; + IList openValves = new List(); + IList closeValves = new List(); - if (draining1 && (StateMachine.Scale1.IsEmpty(mass1.Val) || e.Contains(Event.UiCmdStopDrainingTank1))) - { - draining1 = false; - closeValves.Add(StateMachine.DrainValve1); - stateText = stateText + "close tank 1, "; - } - else if (draining2 && (StateMachine.Scale2.IsEmpty(mass2.Val) || e.Contains(Event.UiCmdStopDrainingTank2))) - { - draining2 = false; - closeValves.Add(StateMachine.DrainValve2); - stateText = stateText + "close tank 2, "; - } - else if (draining3 && (StateMachine.Scale3.IsEmpty(mass3.Val) || e.Contains(Event.UiCmdStopDrainingTank3))) - { - draining3 = false; - closeValves.Add(StateMachine.DrainValve3); - stateText = stateText + "close tank 3, "; - } - else if (!draining1 && e.Contains(Event.UiCmdDrainTank1)) - { - draining1 = true; - openValves.Add(StateMachine.DrainValve1); - stateText = stateText + "open tank 1, "; - } - else if (!draining2 && e.Contains(Event.UiCmdDrainTank2)) - { - draining2 = true; - openValves.Add(StateMachine.DrainValve2); - stateText = stateText + "open tank 2, "; - } - else if (!draining3 && e.Contains(Event.UiCmdDrainTank3)) - { - draining3 = true; - openValves.Add(StateMachine.DrainValve3); - stateText = stateText + "open tank 3, "; - } + if (e.Contains(Event.UiCmdShutdown)) + { + if (StateMachine.DrainValve1 != null && !draining1) + { + draining1 = true; + openValves.Add(StateMachine.DrainValve1); + stateText = stateText + "open tank 1, "; + } + if (StateMachine.DrainValve2 != null && !draining2) + { + draining2 = true; + openValves.Add(StateMachine.DrainValve2); + stateText = stateText + "open tank 2, "; + } + if (StateMachine.DrainValve3 != null && !draining3) + { + draining3 = true; + openValves.Add(StateMachine.DrainValve3); + stateText = stateText + "open tank 3, "; + } + } + else if (draining1 && (StateMachine.Scale1.IsEmpty(mass1.Val) || e.Contains(Event.UiCmdStopDrainingTank1))) + { + draining1 = false; + closeValves.Add(StateMachine.DrainValve1); + stateText = stateText + "close tank 1, "; + } + else if (draining2 && (StateMachine.Scale2.IsEmpty(mass2.Val) || e.Contains(Event.UiCmdStopDrainingTank2))) + { + draining2 = false; + closeValves.Add(StateMachine.DrainValve2); + stateText = stateText + "close tank 2, "; + } + else if (draining3 && (StateMachine.Scale3.IsEmpty(mass3.Val) || e.Contains(Event.UiCmdStopDrainingTank3))) + { + draining3 = false; + closeValves.Add(StateMachine.DrainValve3); + stateText = stateText + "close tank 3, "; + } + else if (!draining1 && e.Contains(Event.UiCmdDrainTank1)) + { + draining1 = true; + openValves.Add(StateMachine.DrainValve1); + stateText = stateText + "open tank 1, "; + } + else if (!draining2 && e.Contains(Event.UiCmdDrainTank2)) + { + draining2 = true; + openValves.Add(StateMachine.DrainValve2); + stateText = stateText + "open tank 2, "; + } + else if (!draining3 && e.Contains(Event.UiCmdDrainTank3)) + { + draining3 = true; + openValves.Add(StateMachine.DrainValve3); + stateText = stateText + "open tank 3, "; + } - draining = draining1 || draining2 || draining3; - if (draining) Bridge.OnActivity(this, Strings.Emptying_tank); + draining = draining1 || draining2 || draining3; + if (draining && !shutdownInProgress) Bridge.OnActivity(this, Strings.Emptying_tank); - Bridge.Bench2UI(((context == MKSelContext.ProcedureNotSelected) ? ButtonsEtc.ProcedureCmbBoxEn : 0) | - ((StateMachine.DrainValve1 == null) ? 0 : (draining1 ? ButtonsEtc.DrainTankBtn1Hi : ButtonsEtc.DrainTankBtn1En)) | - ((StateMachine.DrainValve2 == null) ? 0 : (draining2 ? ButtonsEtc.DrainTankBtn2Hi : ButtonsEtc.DrainTankBtn2En)) | - ((StateMachine.DrainValve3 == null) ? 0 : (draining3 ? ButtonsEtc.DrainTankBtn3Hi : ButtonsEtc.DrainTankBtn3En))); + Bridge.Bench2UI(((context == MKSelContext.ProcedureNotSelected) ? ButtonsEtc.ProcedureCmbBoxEn : 0) | + ((StateMachine.DrainValve1 == null) ? 0 : (draining1 ? ButtonsEtc.DrainTankBtn1Hi : ButtonsEtc.DrainTankBtn1En)) | + ((StateMachine.DrainValve2 == null) ? 0 : (draining2 ? ButtonsEtc.DrainTankBtn2Hi : ButtonsEtc.DrainTankBtn2En)) | + ((StateMachine.DrainValve3 == null) ? 0 : (draining3 ? ButtonsEtc.DrainTankBtn3Hi : ButtonsEtc.DrainTankBtn3En))); - State.Create(stateText) - .AddOperation(StateMachine.ControlBoard.SetValvesOp(openValves, closeValves)) - .EnterState(); - do { - e = StateMachine.WaitRunDevsRunOps(); - } - while (e.Contains(Event.ValvesBusy)); - } + State.Create(stateText) + .AddOperation(StateMachine.ControlBoard.SetValvesOp(openValves, closeValves)) + .EnterState(); + do + { + e = StateMachine.WaitRunDevsRunOps(); + } + while (e.Contains(Event.ValvesBusy)); + + if (shutdownInProgress && !draining) + { + /// Shutdown is in progress and draining was completed => quit the main sequence + return Selection.Shutdown; + } + } } } diff --git a/TBF/BenchControl/StateMachine.cs b/TBF/BenchControl/StateMachine.cs index 7e1147c52..606b43f9f 100644 --- a/TBF/BenchControl/StateMachine.cs +++ b/TBF/BenchControl/StateMachine.cs @@ -66,7 +66,6 @@ namespace TBF.BenchControl static DateTime startDateTime; /// DateTime of time instance when the state machine worker thread starts static int currentTimeSec; /// Time from the start of the state machine in seconds - static bool quitStateMachine; /// flag to stop the worker thread /// true when the state machine is running static bool stateMachineRunning; @@ -134,7 +133,6 @@ namespace TBF.BenchControl states = new List(); currentTimeSec = 0; - quitStateMachine = false; } /// @@ -562,15 +560,6 @@ namespace TBF.BenchControl } - /// - /// Stops the state machine (and the worker thread) - /// - public static void Stop() - { - if (stateMachineRunning) quitStateMachine = true; - } - - /* * This is and example sequence of RunDeviceBefore() / RunOperations() / RunDeviceAfter() calls * as they are executed during normal run from the progran start to the end. @@ -615,24 +604,22 @@ namespace TBF.BenchControl /// Run all devices for the first time foreach (var device in devices) device.RunDeviceBefore(); - try - { - SequenceBase.ReferenceFlowmetersCount = SequenceBase.FlowMeters.Count; - SequenceBase.CalibratedLtrPerRefPulse = new float[SequenceBase.ReferenceFlowmetersCount]; - foreach (var flowmtr in SequenceBase.FlowMeters) + SequenceBase.ReferenceFlowmetersCount = SequenceBase.FlowMeters.Count; + SequenceBase.CalibratedLtrPerRefPulse = new float[SequenceBase.ReferenceFlowmetersCount]; + foreach (var flowmtr in SequenceBase.FlowMeters) + { + int ix = flowmtr.Idx1; + if (ix > 0 && ix <= SequenceBase.ReferenceFlowmetersCount) { - int ix = flowmtr.Idx1; - if (ix > 0 && ix <= SequenceBase.ReferenceFlowmetersCount) - { - SequenceBase.CalibratedLtrPerRefPulse[ix - 1] = flowmtr.NominalFlow / 7200.0f; - } + SequenceBase.CalibratedLtrPerRefPulse[ix - 1] = flowmtr.NominalFlow / 7200.0f; } - - (new Sequences.MainSeq()).Execute(null); - } - catch (QuitStateMachineException) - { } + + new Sequences.MainSeq().Execute(null); + + State.StopOperations(); + + stateMachineRunning = false; } @@ -644,21 +631,7 @@ namespace TBF.BenchControl { foreach (var device in devices) device.RunDeviceAfter(); - /// Simulation - UiBridge.Bridge.OnProcessData(null, new UiBridge.ProcessDataEventArgs("test", 1, 0, 1,Progress.Test)); - - if (WaitNextTick()) - { - /// - /// Executed when the state machine is stopped - /// - wlog.Fatal("quitStateMachine == true ... The last StopOperaions() start now"); - State.StopOperations(); - stateMachineRunning = false; - wlog.Fatal("StopOperaions() completed ... stateMachineRunning = false)"); - - throw new QuitStateMachineException(); - } + WaitNextTick(); foreach (var device in devices) device.RunDeviceBefore(); @@ -674,7 +647,7 @@ namespace TBF.BenchControl /// Wait time period - synchronize /// /// true when interrupted by 'quitStateMachine', otherwise false - public static bool WaitNextTick() + public static void WaitNextTick() { currentTimeSec += Period; @@ -684,10 +657,7 @@ namespace TBF.BenchControl while (DateTime.Now < nextLoopDateTime) { Thread.Sleep(100); - if (quitStateMachine) return true; } - - return false; } } } diff --git a/TBF/MainWnd.cs b/TBF/MainWnd.cs index 450dfe78f..bc8533392 100644 --- a/TBF/MainWnd.cs +++ b/TBF/MainWnd.cs @@ -20,6 +20,7 @@ namespace TBF public UiControls.BenchControlPanel BenchControlPanel; public string ProcedureName; public Procedure CurrentProcedure; + public bool CycleRunning; /// /// This dialog is shown when emergency stop is activated @@ -113,6 +114,7 @@ namespace TBF iPerlHeadsToolStripMenuItem.Visible = false; #endif + CycleRunning = false; benchInitializationFailed = false; /// @@ -374,12 +376,12 @@ namespace TBF return; } - bool noCycleRunning = ((args.Flags & UiBridge.ButtonsEtc.ProcedureCmbBoxEn) != 0); + CycleRunning = ((args.Flags & UiBridge.ButtonsEtc.ProcedureCmbBoxEn) == 0); - procedureComboBox.Enabled = noCycleRunning; - iPerlHeadsToolStripMenuItem.Enabled = noCycleRunning; + procedureComboBox.Enabled = !CycleRunning; + iPerlHeadsToolStripMenuItem.Enabled = !CycleRunning; - if (noCycleRunning && ProceduresUpdated) + if (!CycleRunning && ProceduresUpdated) { ReloadProcedures(); } @@ -543,6 +545,13 @@ namespace TBF emergencyStopModelessDlg.Visible = false; } + if (BenchControl.StateMachine.Running && CycleRunning) + { + MessageBox.Show(Strings.Finish_the_session_please, string.Empty, MessageBoxButtons.OK, MessageBoxIcon.Information); + if (e is FormClosingEventArgs) (e as FormClosingEventArgs).Cancel = true; + return; + } + if (DialogResult.Yes == MessageBox.Show(Strings.Do_you_want_to_exit_TBF, Strings.Closing_the_program, MessageBoxButtons.YesNo, @@ -563,9 +572,9 @@ namespace TBF Thread formThread = new Thread(() => form.ShowDialog()); formThread.Start(); - /// Stop the system - BenchControl.StateMachine.Stop(); - while (BenchControl.StateMachine.Running) { } /// wait until the last StopOperaions() completes + Bridge.Ui2Bench(UI2BenchCmd.Shutdown); /// Drain tanks and quit the main sequence + + while (BenchControl.StateMachine.Running) { } /// Wait until StateMachine.Worker() completes BenchControl.StateMachine.StopDevices(); BenchControl.StateMachine.StopDevices2(); diff --git a/TBF/Properties/AssemblyInfo.cs b/TBF/Properties/AssemblyInfo.cs index 5dfb29a7a..85b9a8dfc 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.18.801.0")] -[assembly: AssemblyFileVersion("2.18.801.0")] +[assembly: AssemblyVersion("2.18.802.0")] +[assembly: AssemblyFileVersion("2.18.802.0")] diff --git a/TBF/Resources/Strings.Designer.cs b/TBF/Resources/Strings.Designer.cs index d209827a9..18d229fb7 100644 --- a/TBF/Resources/Strings.Designer.cs +++ b/TBF/Resources/Strings.Designer.cs @@ -1662,6 +1662,15 @@ namespace TBF.Resources { } } + /// + /// Looks up a localized string similar to Finish measurements please. + /// + internal static string Finish_the_session_please { + get { + return ResourceManager.GetString("Finish_the_session_please", resourceCulture); + } + } + /// /// Looks up a localized string similar to Finish. /// @@ -2850,6 +2859,15 @@ namespace TBF.Resources { } } + /// + /// Looks up a localized string similar to Press OK to start the bench. + /// + internal static string Press_OK_to_start_the_bench { + get { + return ResourceManager.GetString("Press_OK_to_start_the_bench", resourceCulture); + } + } + /// /// Looks up a localized string similar to Pressure [bar]. /// @@ -4074,6 +4092,15 @@ namespace TBF.Resources { } } + /// + /// Looks up a localized string similar to Start the test bench. + /// + internal static string Start_the_test_bench { + get { + return ResourceManager.GetString("Start_the_test_bench", resourceCulture); + } + } + /// /// Looks up a localized string similar to Starting the system. /// diff --git a/TBF/Resources/Strings.cs.resx b/TBF/Resources/Strings.cs.resx index 873276e62..27cc6ff9f 100644 --- a/TBF/Resources/Strings.cs.resx +++ b/TBF/Resources/Strings.cs.resx @@ -1314,4 +1314,10 @@ Poznámka + + Spustit stanici + + + Ukončete měření prosím + \ No newline at end of file diff --git a/TBF/Resources/Strings.de.resx b/TBF/Resources/Strings.de.resx index fe52e07ea..149cd3fa7 100644 --- a/TBF/Resources/Strings.de.resx +++ b/TBF/Resources/Strings.de.resx @@ -1455,4 +1455,10 @@ Bemerkung + + Starten Sie den Prüfstand + + + Beenden Sie die Messungen bitte + \ No newline at end of file diff --git a/TBF/Resources/Strings.resx b/TBF/Resources/Strings.resx index f1dc1c882..84790ae18 100644 --- a/TBF/Resources/Strings.resx +++ b/TBF/Resources/Strings.resx @@ -1843,4 +1843,13 @@ Enable 'Remark' + + Press OK to start the bench + + + Start the test bench + + + Finish measurements please + \ No newline at end of file diff --git a/TBF/UiBridge/Enums.cs b/TBF/UiBridge/Enums.cs index 72ef05b65..9c170b201 100644 --- a/TBF/UiBridge/Enums.cs +++ b/TBF/UiBridge/Enums.cs @@ -25,7 +25,7 @@ namespace TBF.UiBridge Break, ResetResults, AcceptResults, - Calibration, + Shutdown, SensitivityTest, CameraTest, B1,