From d5a5fd2813a98d97e0198342bbcc53df454c3e01 Mon Sep 17 00:00:00 2001 From: Roy Ben-Shabat Date: Tue, 13 Feb 2018 16:35:28 +0200 Subject: Digital out. --- .../ViewModels/MachineTechViewVM.cs | 33 ++++++++++++---------- 1 file changed, 18 insertions(+), 15 deletions(-) (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 1b0ee0a56..c886c2345 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 @@ -16,6 +16,7 @@ using System.Windows.Media; using Tango.Core.Helpers; using Tango.Editors; using Tango.Integration.Observables; +using Tango.Integration.Observables.Enumerations; using Tango.Integration.Operators; using Tango.MachineStudio.Common.Notifications; using Tango.MachineStudio.Common.StudioApplication; @@ -211,13 +212,15 @@ namespace Tango.MachineStudio.Technician.ViewModels } } } - else if (item.GetType() == typeof(IOItem)) + else if (item.GetType() == typeof(DigitalOutItem)) { - IOItem ioItem = item as IOItem; + DigitalOutItem digitalOutItem = item as DigitalOutItem; - if (ioItem.Port < data.GPIO.Count) + var digitalPin = data.DigitalPins.SingleOrDefault(x => x.Port == digitalOutItem.TechIo.Port); + + if (digitalPin != null) { - ioItem.EffectiveValue = data.GPIO[ioItem.Port]; + digitalOutItem.EffectiveValue = digitalPin.Value; } } else if (item.GetType() == typeof(MeterItem)) @@ -355,10 +358,10 @@ namespace Tango.MachineStudio.Technician.ViewModels var editor = CreateElement(bounds, Adapter.TechDispensers.FirstOrDefault()); InitDispenserItem(editor.DispenserItem); } - else if (item is IOItem) + else if (item is DigitalOutItem) { - var editor = CreateElement(bounds, 0); - InitIOItem(editor.IOItem); + var editor = CreateElement(bounds, Adapter.TechIos.Where(x => x.Type == IOType.DigitalOutput.ToInt32()).FirstOrDefault()); + InitDigitalOutItem(editor.DigitalOutItem); } else if (item is ThreadMotionItem) { @@ -423,10 +426,10 @@ namespace Tango.MachineStudio.Technician.ViewModels var editor = CreateElement(item); InitDispenserItem(editor.DispenserItem); } - else if (item is IOItem) + else if (item is DigitalOutItem) { - var editor = CreateElement(item); - InitIOItem(editor.IOItem); + var editor = CreateElement(item); + InitDigitalOutItem(editor.DigitalOutItem); } else if (item is ThreadMotionItem) { @@ -507,10 +510,10 @@ namespace Tango.MachineStudio.Technician.ViewModels var dispenser = element.HostedElement as DispenserItem; InitDispenserItem(dispenser); } - else if (element is IOElementEditor) + else if (element is DigitalOutItem) { - var ioItem = element.HostedElement as IOItem; - InitIOItem(ioItem); + var ioItem = element.HostedElement as DigitalOutItem; + InitDigitalOutItem(ioItem); } else if (element is ThreadMotionItem) { @@ -669,13 +672,13 @@ namespace Tango.MachineStudio.Technician.ViewModels }; } - private void InitIOItem(IOItem item) + private void InitDigitalOutItem(DigitalOutItem item) { item.ValueChanged += async (x, value) => { try { - await MachineOperator.SetGPIOState(new SetGPIOStateRequest() { Port = item.Port, Value = value }); + await MachineOperator.SetDigitalOut(new SetDigitalOutRequest() { Port = item.TechIo.Port, Value = value }); } catch (Exception ex) { -- cgit v1.3.1