aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs
diff options
context:
space:
mode:
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.cs93
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