diff options
| author | Roy <roy.mail.net@gmail.com> | 2018-02-10 23:23:29 +0200 |
|---|---|---|
| committer | Roy <roy.mail.net@gmail.com> | 2018-02-10 23:23:29 +0200 |
| commit | dbfde8706313c147a28b16bcc7e7fef158d930bb (patch) | |
| tree | 66643f03c403603f963067f721c2294d2671e9ab /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels | |
| parent | f8e1ff79cc2fa09b52093c6e029392b3456ad8bb (diff) | |
| download | Tango-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.cs | 35 |
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. + } + }; + } } } |
