diff options
| author | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-02-13 17:28:44 +0200 |
|---|---|---|
| committer | Roy Ben-Shabat <Roy@Twine-s.com> | 2018-02-13 17:28:44 +0200 |
| commit | 7fd31b19dc4a836230bed3e4c38f5cc94e5d0a37 (patch) | |
| tree | a18bf1cf076a5fca4a48057e2b4e5320d0a71fde /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs | |
| parent | d55420499a73f2a3e8e50cf221ff1dd32f8a3d71 (diff) | |
| download | Tango-7fd31b19dc4a836230bed3e4c38f5cc94e5d0a37.tar.gz Tango-7fd31b19dc4a836230bed3e4c38f5cc94e5d0a37.zip | |
Implemented Digital In.
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs')
| -rw-r--r-- | Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs | 93 |
1 files changed, 57 insertions, 36 deletions
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 c886c2345..c6f72be3e 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 @@ -212,17 +212,6 @@ namespace Tango.MachineStudio.Technician.ViewModels } } } - else if (item.GetType() == typeof(DigitalOutItem)) - { - DigitalOutItem digitalOutItem = item as DigitalOutItem; - - var digitalPin = data.DigitalPins.SingleOrDefault(x => x.Port == digitalOutItem.TechIo.Port); - - if (digitalPin != null) - { - digitalOutItem.EffectiveValue = digitalPin.Value; - } - } else if (item.GetType() == typeof(MeterItem)) { MeterItem meterItem = item as MeterItem; @@ -269,6 +258,28 @@ namespace Tango.MachineStudio.Technician.ViewModels } } } + else if (item.GetType() == typeof(DigitalOutItem)) + { + DigitalOutItem digitalOutItem = item as DigitalOutItem; + + var digitalPin = data.DigitalPins.SingleOrDefault(x => x.Port == digitalOutItem.TechIo.Port); + + if (digitalPin != null) + { + digitalOutItem.EffectiveValue = digitalPin.Value; + } + } + else if (item.GetType() == typeof(DigitalInItem)) + { + DigitalInItem digitalInItem = item as DigitalInItem; + + var digitalPin = data.DigitalPins.SingleOrDefault(x => x.Port == digitalInItem.TechIo.Port); + + if (digitalPin != null) + { + digitalInItem.Value = digitalPin.Value; + } + } } } } @@ -358,11 +369,6 @@ namespace Tango.MachineStudio.Technician.ViewModels var editor = CreateElement<DispenserElementEditor, DispenserItem, TechDispenser>(bounds, Adapter.TechDispensers.FirstOrDefault()); InitDispenserItem(editor.DispenserItem); } - else if (item is DigitalOutItem) - { - var editor = CreateElement<DigitalOutElementEditor, DigitalOutItem, TechIo>(bounds, Adapter.TechIos.Where(x => x.Type == IOType.DigitalOutput.ToInt32()).FirstOrDefault()); - InitDigitalOutItem(editor.DigitalOutItem); - } else if (item is ThreadMotionItem) { var editor = CreateElement<ThreadMotionElementEditor, ThreadMotionItem, object>(bounds, null); @@ -373,6 +379,15 @@ namespace Tango.MachineStudio.Technician.ViewModels var editor = CreateElement<MotorGroupElementEditor, MotorGroupItem, object>(bounds, null); InitMotorGroupItem(editor.MotorGroupItem); } + else if (item is DigitalOutItem) + { + var editor = CreateElement<DigitalOutElementEditor, DigitalOutItem, TechIo>(bounds, Adapter.TechIos.Where(x => x.Type == IOType.DigitalOutput.ToInt32()).FirstOrDefault()); + InitDigitalOutItem(editor.DigitalOutItem); + } + else if (item is DigitalInItem) + { + CreateElement<DigitalInElementEditor, DigitalInItem, TechIo>(bounds, Adapter.TechIos.Where(x => x.Type == IOType.DigitalInput.ToInt32()).FirstOrDefault()); + } } private Editor CreateElement<Editor, Tech, Value>(Rect bounds, Value value) where Editor : IElementEditor where Tech : TechItem @@ -426,11 +441,6 @@ namespace Tango.MachineStudio.Technician.ViewModels var editor = CreateElement<DispenserElementEditor>(item); InitDispenserItem(editor.DispenserItem); } - else if (item is DigitalOutItem) - { - var editor = CreateElement<DigitalOutElementEditor>(item); - InitDigitalOutItem(editor.DigitalOutItem); - } else if (item is ThreadMotionItem) { var editor = CreateElement<ThreadMotionElementEditor>(item); @@ -441,6 +451,17 @@ namespace Tango.MachineStudio.Technician.ViewModels var editor = CreateElement<MotorGroupElementEditor>(item); InitMotorGroupItem(editor.MotorGroupItem); } + else if (item is DigitalOutItem) + { + (item as DigitalOutItem).TechIo = Adapter.TechIos.FirstOrDefault(x => x.Guid == item.ItemGuid); + var editor = CreateElement<DigitalOutElementEditor>(item); + InitDigitalOutItem(editor.DigitalOutItem); + } + else if (item is DigitalInItem) + { + (item as DigitalInItem).TechIo = Adapter.TechIos.FirstOrDefault(x => x.Guid == item.ItemGuid); + CreateElement<DigitalInElementEditor>(item); + } } public void OnElementsRemoved(List<IElementEditor> elements) @@ -672,21 +693,6 @@ namespace Tango.MachineStudio.Technician.ViewModels }; } - private void InitDigitalOutItem(DigitalOutItem item) - { - item.ValueChanged += async (x, value) => - { - try - { - await MachineOperator.SetDigitalOut(new SetDigitalOutRequest() { Port = item.TechIo.Port, Value = value }); - } - catch (Exception ex) - { - //TODO: Show Exception. - } - }; - } - private void InitSingleGraphitem(SingleGraphItem item, SingleGraphElementEditor editor) { editor.InnerGraph.InnerGraph.MaxPoints = Common.Helpers.GraphsHelper.GetMaxPoints(item.TechMonitor.PointsPerFrame); @@ -815,6 +821,21 @@ namespace Tango.MachineStudio.Technician.ViewModels }; } + private void InitDigitalOutItem(DigitalOutItem item) + { + item.ValueChanged += async (x, value) => + { + try + { + await MachineOperator.SetDigitalOut(new SetDigitalOutRequest() { Port = item.TechIo.Port, Value = value }); + } + catch (Exception ex) + { + //TODO: Show Exception. + } + }; + } + #endregion #region Public Methods |
