aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2018-02-13 16:35:28 +0200
committerRoy Ben-Shabat <Roy@Twine-s.com>2018-02-13 16:35:28 +0200
commitd5a5fd2813a98d97e0198342bbcc53df454c3e01 (patch)
tree8e3012262ba6417c3236d33a582df2d7ab0cd16a /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs
parent2b1e86aeee219b236ba8cb33c5ebfa8bde89f14f (diff)
downloadTango-d5a5fd2813a98d97e0198342bbcc53df454c3e01.tar.gz
Tango-d5a5fd2813a98d97e0198342bbcc53df454c3e01.zip
Digital out.
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.cs33
1 files changed, 18 insertions, 15 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 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<DispenserElementEditor, DispenserItem, TechDispenser>(bounds, Adapter.TechDispensers.FirstOrDefault());
InitDispenserItem(editor.DispenserItem);
}
- else if (item is IOItem)
+ else if (item is DigitalOutItem)
{
- var editor = CreateElement<IOElementEditor, IOItem, int>(bounds, 0);
- InitIOItem(editor.IOItem);
+ 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)
{
@@ -423,10 +426,10 @@ namespace Tango.MachineStudio.Technician.ViewModels
var editor = CreateElement<DispenserElementEditor>(item);
InitDispenserItem(editor.DispenserItem);
}
- else if (item is IOItem)
+ else if (item is DigitalOutItem)
{
- var editor = CreateElement<IOElementEditor>(item);
- InitIOItem(editor.IOItem);
+ var editor = CreateElement<DigitalOutElementEditor>(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)
{