From b9858454b21aa53f818a5a148e8ad1e75d13a83d Mon Sep 17 00:00:00 2001 From: Roy Ben Shabat Date: Tue, 21 May 2024 21:21:49 +0300 Subject: Some more work on idle and power down request. --- .../MachineStatus/SetPowerDownTimeRequest.proto | 3 +- .../ViewModels/MainViewVM.cs | 38 +++++++----- .../Tango.PPC.MachineSettings/Views/MainView.xaml | 15 ++--- .../Connection/DefaultMachineProvider.cs | 2 +- .../PPC/Tango.PPC.Common/PPCSettings.cs | 14 +++-- .../Operation/IMachineOperator.cs | 7 ++- .../Tango.Integration/Operation/MachineOperator.cs | 8 +-- .../MachineStatus/SetPowerDownTimeRequest.cs | 69 +++++++++++++++------- 8 files changed, 99 insertions(+), 57 deletions(-) (limited to 'Software') diff --git a/Software/PMR/Messages/MachineStatus/SetPowerDownTimeRequest.proto b/Software/PMR/Messages/MachineStatus/SetPowerDownTimeRequest.proto index e5c683999..99ac230ba 100644 --- a/Software/PMR/Messages/MachineStatus/SetPowerDownTimeRequest.proto +++ b/Software/PMR/Messages/MachineStatus/SetPowerDownTimeRequest.proto @@ -5,5 +5,6 @@ option java_package = "com.twine.tango.pmr.machinestatus"; message SetPowerDownTimeRequest { - int32 TimeoutMinutes = 1; + int32 TimeToIdleMinutes = 1; + int32 TimeToPowerOffMinutes = 2; } \ No newline at end of file diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/ViewModels/MainViewVM.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/ViewModels/MainViewVM.cs index 594d3f5c9..f6b31d93c 100644 --- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/ViewModels/MainViewVM.cs +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/ViewModels/MainViewVM.cs @@ -46,7 +46,7 @@ namespace Tango.PPC.MachineSettings.ViewModels public class PowerDownTime { - public PowerDownMinutes Minutes { get; set; } + public PowerSavingModes Minutes { get; set; } public String Name { @@ -292,13 +292,20 @@ namespace Tango.PPC.MachineSettings.ViewModels set { _manualFineTuningLength = value; RaisePropertyChangedAuto(); } } - public List PowerDownTimes { get; set; } + public List PowerSavingModes { get; set; } - private PowerDownTime _selectedPowerDownTime; - public PowerDownTime SelectedPowerDownTime + private PowerDownTime _selectedPoweroffTime; + public PowerDownTime SelectedPowerOffTime { - get { return _selectedPowerDownTime; } - set { _selectedPowerDownTime = value; RaisePropertyChangedAuto(); } + get { return _selectedPoweroffTime; } + set { _selectedPoweroffTime = value; RaisePropertyChangedAuto(); } + } + + private PowerDownTime _selectedIdleTime; + public PowerDownTime SelectedIdleTime + { + get { return _selectedIdleTime; } + set { _selectedIdleTime = value; RaisePropertyChangedAuto(); } } @@ -330,12 +337,12 @@ namespace Tango.PPC.MachineSettings.ViewModels DiscardCommand = new RelayCommand(Discard); SynchronizeCommand = new RelayCommand(Synchronize, () => !MachineDataSynchronizer.IsSynchronizing && IsFree); - PowerDownTimes = new List() + PowerSavingModes = new List() { - new PowerDownTime() { Minutes = PowerDownMinutes.Minimum }, - new PowerDownTime() { Minutes = PowerDownMinutes.Default }, - new PowerDownTime() { Minutes = PowerDownMinutes.Maximum }, - new PowerDownTime() { Minutes = PowerDownMinutes.Never }, + new PowerDownTime() { Minutes = Common.PowerSavingModes.Minimum }, + new PowerDownTime() { Minutes = Common.PowerSavingModes.Default }, + new PowerDownTime() { Minutes = Common.PowerSavingModes.Maximum }, + new PowerDownTime() { Minutes = Common.PowerSavingModes.Never }, }; } @@ -369,7 +376,9 @@ namespace Tango.PPC.MachineSettings.ViewModels Settings.LubricationLevels = LubricationLevels.Where(x => x.LubricationLevel != LubricationLevel.Standard).Select(x => x.ToRmlLubricationLevel()).ToList(); Settings.DefaultTabColorSpace = DefaultTabColorSpace; Settings.FineTuningTrialLengthMeters = FineTuningLength; - Settings.PowerSavingMode = SelectedPowerDownTime.Minutes; + + Settings.PowerSavingModeIdle = SelectedIdleTime.Minutes; + Settings.PowerSavingModePowerOff = SelectedPowerOffTime.Minutes; MachineDataSynchronizer.IsEnabled = SynchronizeJobs || SynchronizeDiagnostics; @@ -391,7 +400,7 @@ namespace Tango.PPC.MachineSettings.ViewModels { try { - await MachineProvider.MachineOperator.SetPowerDownTime((int)Settings.PowerSavingMode); + await MachineProvider.MachineOperator.SetPowerSavingMode((int)Settings.PowerSavingModeIdle, (int)Settings.PowerSavingModePowerOff); } catch { } } @@ -561,7 +570,8 @@ namespace Tango.PPC.MachineSettings.ViewModels ExternalBridgePassword = Settings.ExternalBridgePassword; - SelectedPowerDownTime = PowerDownTimes.FirstOrDefault(x => x.Minutes == Settings.PowerSavingMode); + SelectedIdleTime = PowerSavingModes.FirstOrDefault(x => x.Minutes == Settings.PowerSavingModeIdle); + SelectedPowerOffTime = PowerSavingModes.FirstOrDefault(x => x.Minutes == Settings.PowerSavingModePowerOff); _enableRemoteAssistance = RemoteAssistanceProvider.IsEnabled; RaisePropertyChanged(nameof(EnableRemoteAssistance)); diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/Views/MainView.xaml b/Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/Views/MainView.xaml index a1414f60c..3e2eff01c 100644 --- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/Views/MainView.xaml +++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.MachineSettings/Views/MainView.xaml @@ -30,7 +30,7 @@ - + @@ -367,16 +367,11 @@ - - - Automatically turn off the machine on idle time after - - - - - - + Machine goes to idle mode automatically after + + Power off the machine when idle for +