aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs')
-rw-r--r--Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs29
1 files changed, 29 insertions, 0 deletions
diff --git a/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs b/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs
index fe4e230ec..e439c4ee9 100644
--- a/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs
+++ b/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs
@@ -774,8 +774,37 @@ namespace Tango.Integration.Operation
/// <param name="response">The response.</param>
protected virtual void OnMachineStatusChanged(StartMachineStatusUpdateResponse response)
{
+ bool changed = (MachineStatus == null || response.Status.State != MachineStatus.State);
+
MachineStatus = response.Status;
MachineStatusChanged?.Invoke(this, MachineStatus);
+
+ if (changed)
+ {
+ LogManager.Log($"Machine State Changed: {MachineStatus.State}.");
+
+ switch (MachineStatus.State)
+ {
+ case MachineState.Initializing:
+ Status = MachineStatuses.Service;
+ break;
+ //case MachineState.PreparingJob:
+ // Status = MachineStatuses.GettingReady;
+ // break;
+ case MachineState.Ready:
+ Status = MachineStatuses.ReadyToDye;
+ break;
+ //case MachineState.Sleep:
+ // Status = MachineStatuses.Standby;
+ // break;
+ case MachineState.PowerOff:
+ Status = MachineStatuses.ShuttingDown;
+ break;
+ case MachineState.Error:
+ Status = MachineStatuses.Error;
+ break;
+ }
+ }
}
/// <summary>