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.cs40
1 files changed, 36 insertions, 4 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 5f439e1ca..6a9725106 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
@@ -455,6 +455,15 @@ namespace Tango.MachineStudio.Technician.ViewModels
heaterItem.HeaterState = heaterState;
}
}
+ else if (item.GetType() == typeof(BlowerItem))
+ {
+ BlowerItem blowerItem = item as BlowerItem;
+
+ if (data.Monitors.BlowerVoltage.Count > 0)
+ {
+ blowerItem.EffectiveActive = data.Monitors.BlowerVoltage.Last() > 0;
+ }
+ }
else if (item.GetType() == typeof(ControllerItem))
{
ControllerItem controllerItem = item as ControllerItem;
@@ -635,7 +644,8 @@ namespace Tango.MachineStudio.Technician.ViewModels
}
else if (item is BlowerItem)
{
- CreateElement<BlowerElementEditor, BlowerItem, HardwareBlowerType>(bounds, Adapter.HardwareBlowerTypes.FirstOrDefault());
+ var editor = CreateElement<BlowerElementEditor, BlowerItem, HardwareBlowerType>(bounds, Adapter.HardwareBlowerTypes.FirstOrDefault());
+ InitBlowerItem(editor.BlowerItem);
}
else if (item is BreakSensorItem)
{
@@ -782,7 +792,8 @@ namespace Tango.MachineStudio.Technician.ViewModels
else if (item is BlowerItem)
{
(item as BlowerItem).HardwareBlowerType = Adapter.HardwareBlowerTypes.FirstOrDefault(x => x.Guid == item.ItemGuid);
- CreateElement<BlowerElementEditor>(item);
+ var editor = CreateElement<BlowerElementEditor>(item);
+ InitBlowerItem(editor.BlowerItem);
}
else if (item is BreakSensorItem)
{
@@ -916,6 +927,27 @@ namespace Tango.MachineStudio.Technician.ViewModels
#region Init Tech Items
/// <summary>
+ /// Initializes the blower item.
+ /// </summary>
+ /// <param name="item">The blower item.</param>
+ private void InitBlowerItem(BlowerItem item)
+ {
+ item.SetCommandClicked += async (_, isActive) =>
+ {
+ try
+ {
+ CheckMachineOperator();
+ await MachineOperator.SetBlowerState((PMR.Hardware.HardwareBlowerType)item.HardwareBlower.HardwareBlowerType.Code, isActive, item.HardwareBlower.Voltage);
+ }
+ catch (Exception ex)
+ {
+ LogManager.Log(ex, $"Error executing SetBlowerState command for blower {item.HardwareBlower.HardwareBlowerType.Name}.");
+ _eventLogger.Log(ex, $"Error executing SetBlowerState command for blower {item.HardwareBlower.HardwareBlowerType.Name}.");
+ }
+ };
+ }
+
+ /// <summary>
/// Initializes the tech heater.
/// </summary>
/// <param name="item">The item.</param>
@@ -1377,7 +1409,7 @@ namespace Tango.MachineStudio.Technician.ViewModels
/// <param name="item">The controller item.</param>
private void InitControllerItem(ControllerItem item)
{
- item.ValueChanged += async (x, value) =>
+ item.SetCommandClicked += async (_, __) =>
{
try
{
@@ -1385,7 +1417,7 @@ namespace Tango.MachineStudio.Technician.ViewModels
await MachineOperator.SetComponentValue(new SetComponentValueRequest()
{
Component = (ValueComponent)item.TechController.Code,
- Value = value
+ Value = item.Value
});
}
catch (Exception ex)