From a801f688bde7b6c75f47ca4ebd2991271c521d34 Mon Sep 17 00:00:00 2001 From: Roy Date: Sun, 11 Feb 2018 21:11:52 +0200 Subject: Implemented Thread Motion Tech Item. --- .../ViewModels/MachineTechViewVM.cs | 35 ++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs') diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs index a4a9f0965..e3cbb61cd 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs @@ -343,6 +343,11 @@ namespace Tango.MachineStudio.Technician.ViewModels var editor = CreateElement(bounds, 0); InitIOItem(editor.IOItem); } + else if (item is ThreadMotionItem) + { + var editor = CreateElement(bounds, 0); + InitThreadMotionItem(editor.ThreadMotionItem); + } } private Editor CreateElement(Rect bounds, Value value) where Editor : IElementEditor where Tech : TechItem @@ -401,6 +406,11 @@ namespace Tango.MachineStudio.Technician.ViewModels var editor = CreateElement(item); InitIOItem(editor.IOItem); } + else if (item is ThreadMotionItem) + { + var editor = CreateElement(item); + InitThreadMotionItem(editor.ThreadMotionItem); + } } public void OnElementsRemoved(List elements) @@ -670,6 +680,31 @@ namespace Tango.MachineStudio.Technician.ViewModels _multiControllers.Add(item, controller); } + private void InitThreadMotionItem(ThreadMotionItem item) + { + item.ActionExecuted += async (x, action) => + { + if (action == MotorActionType.ForwardPressed) + { + await MachineOperator.StartThreadJogging(new ThreadJoggingRequest() + { + Direction = MotorDirection.Forward, + }); + } + else if (action == MotorActionType.BackwardPressed) + { + await MachineOperator.StartThreadJogging(new ThreadJoggingRequest() + { + Direction = MotorDirection.Backward, + }); + } + else if (action == MotorActionType.ForwardReleased || action == MotorActionType.BackwardReleased) + { + await MachineOperator.StopThreadJogging(new ThreadAbortJoggingRequest()); + } + }; + } + #endregion #region Public Methods -- cgit v1.3.1