aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2018-09-20 17:35:49 +0300
committerRoy Ben-Shabat <Roy@Twine-s.com>2018-09-20 17:35:49 +0300
commit1e5d6d1b458aa963e6ddcd9b15d692a274acd561 (patch)
treee529e531c8b3a8b37bbc9c1a2edb4a8b50572323 /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels
parent7a113fa2131b107c644c07fc0a2e7f4bc17b218f (diff)
downloadTango-1e5d6d1b458aa963e6ddcd9b15d692a274acd561.tar.gz
Tango-1e5d6d1b458aa963e6ddcd9b15d692a274acd561.zip
Implemented Heater widget on tech board!
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.cs42
1 files changed, 42 insertions, 0 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 6575bd53c..5f439e1ca 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
@@ -444,6 +444,17 @@ namespace Tango.MachineStudio.Technician.ViewModels
digitalInItem.Value = digitalPin.Value;
}
}
+ else if (item.GetType() == typeof(HeaterItem))
+ {
+ HeaterItem heaterItem = item as HeaterItem;
+
+ var heaterState = data.HeatersStates.SingleOrDefault(x => x.HeaterType == (HeaterType)heaterItem.TechHeater.Code);
+
+ if (heaterState != null)
+ {
+ heaterItem.HeaterState = heaterState;
+ }
+ }
else if (item.GetType() == typeof(ControllerItem))
{
ControllerItem controllerItem = item as ControllerItem;
@@ -557,6 +568,11 @@ namespace Tango.MachineStudio.Technician.ViewModels
{
CreateElement<MeterElementEditor, MeterItem, TechMonitor>(bounds, Adapter.TechMonitors.Where(x => !x.MultiChannel).FirstOrDefault());
}
+ else if (item is HeaterItem)
+ {
+ var editor = CreateElement<HeaterElementEditor, HeaterItem, TechHeater>(bounds, Adapter.TechHeaters.FirstOrDefault());
+ InitTechHeater(editor.HeaterItem);
+ }
else if (item is SingleGraphItem)
{
var editor = CreateElement<SingleGraphElementEditor, SingleGraphItem, TechMonitor>(bounds, Adapter.TechMonitors.Where(x => !x.MultiChannel).FirstOrDefault());
@@ -682,6 +698,11 @@ namespace Tango.MachineStudio.Technician.ViewModels
(item as MonitorItem).TechMonitor = Adapter.TechMonitors.Where(x => !x.MultiChannel).FirstOrDefault(x => x.Guid == item.ItemGuid);
CreateElement<MonitorElementEditor>(item);
}
+ else if (item is HeaterItem)
+ {
+ (item as HeaterItem).TechHeater = Adapter.TechHeaters.FirstOrDefault(x => x.Guid == item.ItemGuid);
+ CreateElement<HeaterElementEditor>(item);
+ }
else if (item is MeterItem)
{
(item as MeterItem).TechMonitor = Adapter.TechMonitors.Where(x => !x.MultiChannel).FirstOrDefault(x => x.Guid == item.ItemGuid);
@@ -895,6 +916,27 @@ namespace Tango.MachineStudio.Technician.ViewModels
#region Init Tech Items
/// <summary>
+ /// Initializes the tech heater.
+ /// </summary>
+ /// <param name="item">The item.</param>
+ private void InitTechHeater(HeaterItem item)
+ {
+ item.SetCommandClicked += async () =>
+ {
+ try
+ {
+ CheckMachineOperator();
+ await MachineOperator.SetHeaterState((HeaterType)item.TechHeater.Code, item.SetPoint);
+ }
+ catch (Exception ex)
+ {
+ LogManager.Log(ex, $"Error executing SetHeaterState command for heater {item.TechHeater.Name}.");
+ _eventLogger.Log(ex, $"Error executing SetHeaterState command for heater {item.TechHeater.Name}.");
+ }
+ };
+ }
+
+ /// <summary>
/// Initializes the motor item.
/// </summary>
/// <param name="item">The item.</param>