aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels
diff options
context:
space:
mode:
authorRoy <roy.mail.net@gmail.com>2018-02-10 23:23:29 +0200
committerRoy <roy.mail.net@gmail.com>2018-02-10 23:23:29 +0200
commitdbfde8706313c147a28b16bcc7e7fef158d930bb (patch)
tree66643f03c403603f963067f721c2294d2671e9ab /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels
parentf8e1ff79cc2fa09b52093c6e029392b3456ad8bb (diff)
downloadTango-dbfde8706313c147a28b16bcc7e7fef158d930bb.tar.gz
Tango-dbfde8706313c147a28b16bcc7e7fef158d930bb.zip
Implemented GPIO Controller.
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs35
1 files changed, 33 insertions, 2 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 8ed8a4a80..21d2c50c2 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
@@ -116,6 +116,15 @@ namespace Tango.MachineStudio.Technician.ViewModels
}
}
}
+ else if (item.GetType() == typeof(IOItem))
+ {
+ IOItem ioItem = item as IOItem;
+
+ if (ioItem.Port < data.GPIO.Count)
+ {
+ ioItem.EffectiveValue = data.GPIO[ioItem.Port];
+ }
+ }
else if (item.GetType() == typeof(MeterItem))
{
MeterItem meterItem = item as MeterItem;
@@ -260,6 +269,13 @@ namespace Tango.MachineStudio.Technician.ViewModels
Elements.Add(editor);
InitDispenserItem(dispenserItem);
}
+ else if (SelectedTechItem is IOItem)
+ {
+ var ioItem = new IOItem(0);
+ IOElementEditor editor = new IOElementEditor(ioItem, bounds);
+ Elements.Add(editor);
+ InitIOItem(ioItem);
+ }
}
public void OnElementsRemoved(List<IElementEditor> elements)
@@ -366,13 +382,13 @@ namespace Tango.MachineStudio.Technician.ViewModels
{
Code = item.TechMotor.Code
})
- .Subscribe((response) =>
+ .Subscribe((response) =>
{
item.HomingMaximumProgress = response.Message.MaxProgress;
item.HomingProgress = response.Message.Progress;
- }, () =>
+ }, () =>
{
item.IsHoming = false;
@@ -461,5 +477,20 @@ namespace Tango.MachineStudio.Technician.ViewModels
}
};
}
+
+ private void InitIOItem(IOItem item)
+ {
+ item.ValueChanged += async (x, value) =>
+ {
+ try
+ {
+ await MachineOperator.SetGPIOState(new SetGPIOStateRequest() { Port = item.Port, Value = value });
+ }
+ catch (Exception ex)
+ {
+ //TODO: Show Exception.
+ }
+ };
+ }
}
}