From 097d91b5a45228ab2a8e27bfc26bca6eab4efdae Mon Sep 17 00:00:00 2001 From: Serge <5920850+seerge@users.noreply.github.com> Date: Sat, 2 Mar 2024 11:23:22 +0100 Subject: [PATCH 1/4] Cleanup --- app/AsusACPI.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/AsusACPI.cs b/app/AsusACPI.cs index f90d86ee..0aca9fbd 100644 --- a/app/AsusACPI.cs +++ b/app/AsusACPI.cs @@ -554,7 +554,7 @@ public class AsusACPI break; } - Logger.WriteLine($"GetFan {device} :" + BitConverter.ToString(result)); + //Logger.WriteLine($"GetFan {device} :" + BitConverter.ToString(result)); return result; From 6f49af19ed6de2dd8d6496f16555e0ea04e0fa7e Mon Sep 17 00:00:00 2001 From: Serge <5920850+seerge@users.noreply.github.com> Date: Sat, 2 Mar 2024 11:25:11 +0100 Subject: [PATCH 2/4] Cleanup --- app/Display/ScreenControl.cs | 31 ++++--------------------------- 1 file changed, 4 insertions(+), 27 deletions(-) diff --git a/app/Display/ScreenControl.cs b/app/Display/ScreenControl.cs index c979af5d..cc034c84 100644 --- a/app/Display/ScreenControl.cs +++ b/app/Display/ScreenControl.cs @@ -24,29 +24,6 @@ namespace GHelper.Display } } - public void SaveGamma() - { - var screenName = ScreenNative.FindLaptopScreen(); - if (screenName is null) return; - - try - { - var handle = ScreenNative.CreateDC(screenName, screenName, null, IntPtr.Zero); - var gammaRamp = new GammaRamp(); - if (ScreenNative.GetDeviceGammaRamp(handle, ref gammaRamp)) - { - var gamma = new DisplayGammaRamp(gammaRamp); - Logger.WriteLine("Gamma R: " + string.Join("-", gamma.Red)); - Logger.WriteLine("Gamma G: " + string.Join("-", gamma.Green)); - Logger.WriteLine("Gamma B: " + string.Join("-", gamma.Blue)); - } - } - catch (Exception ex) - { - Logger.WriteLine(ex.ToString()); - } - } - public void SetBrightness(int brightness = -1) { if (!AppConfig.IsOLED()) return; @@ -74,15 +51,15 @@ namespace GHelper.Display if (ScreenNative.GetDeviceGammaRamp(handle, ref gammaDump)) { gammaRamp = new DisplayGammaRamp(gammaDump); - Logger.WriteLine("Gamma R: " + string.Join("-", gammaRamp.Red)); - Logger.WriteLine("Gamma G: " + string.Join("-", gammaRamp.Green)); - Logger.WriteLine("Gamma B: " + string.Join("-", gammaRamp.Blue)); + //Logger.WriteLine("Gamma R: " + string.Join("-", gammaRamp.Red)); + //Logger.WriteLine("Gamma G: " + string.Join("-", gammaRamp.Green)); + //Logger.WriteLine("Gamma B: " + string.Join("-", gammaRamp.Blue)); } } if (gammaRamp is null || !gammaRamp.IsOriginal()) { - Logger.WriteLine("Default Gamma"); + Logger.WriteLine("Not default Gamma"); gammaRamp = new DisplayGammaRamp(); } From 2d0defd484565afb7d39976435b44bf323b488a5 Mon Sep 17 00:00:00 2001 From: Serge <5920850+seerge@users.noreply.github.com> Date: Sat, 2 Mar 2024 12:00:37 +0100 Subject: [PATCH 3/4] Power limits cleanup --- app/Mode/ModeControl.cs | 44 ++++++++++------------------------------- 1 file changed, 10 insertions(+), 34 deletions(-) diff --git a/app/Mode/ModeControl.cs b/app/Mode/ModeControl.cs index 0d22adf9..5b0c03ca 100644 --- a/app/Mode/ModeControl.cs +++ b/app/Mode/ModeControl.cs @@ -145,17 +145,16 @@ namespace GHelper.Mode Program.acpi.SetFanCurve(AsusFan.Mid, AppConfig.GetFanConfig(AsusFan.Mid)); - // something went wrong, resetting to default profile + // Alternative way to set fan curve if (cpuResult != 1 || gpuResult != 1) { cpuResult = Program.acpi.SetFanRange(AsusFan.CPU, AppConfig.GetFanConfig(AsusFan.CPU)); gpuResult = Program.acpi.SetFanRange(AsusFan.GPU, AppConfig.GetFanConfig(AsusFan.GPU)); + // Something went wrong, resetting to default profile if (cpuResult != 1 || gpuResult != 1) { - int mode = Modes.GetCurrentBase(); - Logger.WriteLine("ASUS BIOS rejected fan curve, resetting mode to " + mode); - Program.acpi.DeviceSet(AsusACPI.PerformanceMode, mode, "Reset Mode"); + Program.acpi.DeviceSet(AsusACPI.PerformanceMode, Modes.GetCurrentBase(), "Reset Mode"); settings.LabelFansResult("ASUS BIOS rejected fan curve"); } } @@ -189,45 +188,22 @@ namespace GHelper.Mode bool applyPower = AppConfig.IsMode("auto_apply_power"); bool applyFans = AppConfig.IsMode("auto_apply"); - //bool applyGPU = true; - if (applyPower && !applyFans) + Task.Run(async () => { - // force fan curve for misbehaving bios PPTs on some models - if (AppConfig.IsFanRequired()) + if (applyPower && !applyFans && (AppConfig.IsFanRequired() || AppConfig.IsManualModeRequired())) { delay = 500; AutoFans(true); } - // Fix for models that don't support PPT settings in all modes, setting a "manual" mode for them - if (AppConfig.IsManualModeRequired()) - { - AutoFans(true); - } - } - - if (delay > 0) - { - var timer = new System.Timers.Timer(delay); - timer.Elapsed += delegate - { - timer.Stop(); - timer.Dispose(); - - if (applyPower) SetPower(); - Thread.Sleep(500); - SetGPUPower(); - AutoRyzen(); - }; - timer.Start(); - } - else - { - if (applyPower) SetPower(true); + await Task.Delay(TimeSpan.FromMilliseconds(delay)); + if (applyPower) SetPower(delay == 0); + + await Task.Delay(TimeSpan.FromMilliseconds(500)); SetGPUPower(); AutoRyzen(); - } + }); } From b94e20a3fc410d48bd6101e82d7e8db39352db7c Mon Sep 17 00:00:00 2001 From: Serge <5920850+seerge@users.noreply.github.com> Date: Sat, 2 Mar 2024 12:35:47 +0100 Subject: [PATCH 4/4] Power limits cleanup --- app/Fans.cs | 5 ++++- app/Mode/ModeControl.cs | 34 ++++++++++++++++++---------------- 2 files changed, 22 insertions(+), 17 deletions(-) diff --git a/app/Fans.cs b/app/Fans.cs index 793de7f0..600f8c3f 100644 --- a/app/Fans.cs +++ b/app/Fans.cs @@ -762,7 +762,10 @@ namespace GHelper private void TrackPower_MouseUp(object? sender, MouseEventArgs e) { - modeControl.AutoPower(); + Task.Run(() => + { + modeControl.AutoPower(); + }); } diff --git a/app/Mode/ModeControl.cs b/app/Mode/ModeControl.cs index 5b0c03ca..773822e1 100644 --- a/app/Mode/ModeControl.cs +++ b/app/Mode/ModeControl.cs @@ -87,8 +87,13 @@ namespace GHelper.Mode Program.toast.RunToast(Modes.GetCurrentName(), SystemInformation.PowerStatus.PowerLineStatus == PowerLineStatus.Online ? ToastIcon.Charger : ToastIcon.Battery); SetGPUClocks(); - AutoFans(); - AutoPower(1000); + + Task.Run(async () => + { + AutoFans(); + AutoPower(1000); + }); + // Power plan from config or defaulting to balanced if (AppConfig.GetModeString("scheme") is not null) @@ -155,7 +160,7 @@ namespace GHelper.Mode if (cpuResult != 1 || gpuResult != 1) { Program.acpi.DeviceSet(AsusACPI.PerformanceMode, Modes.GetCurrentBase(), "Reset Mode"); - settings.LabelFansResult("ASUS BIOS rejected fan curve"); + settings.LabelFansResult("Model doesn't support custom fan curves"); } } else @@ -189,21 +194,18 @@ namespace GHelper.Mode bool applyPower = AppConfig.IsMode("auto_apply_power"); bool applyFans = AppConfig.IsMode("auto_apply"); - Task.Run(async () => + if (applyPower && !applyFans && (AppConfig.IsFanRequired() || AppConfig.IsManualModeRequired())) { - if (applyPower && !applyFans && (AppConfig.IsFanRequired() || AppConfig.IsManualModeRequired())) - { - delay = 500; - AutoFans(true); - } + delay = 500; + AutoFans(true); + } - await Task.Delay(TimeSpan.FromMilliseconds(delay)); - if (applyPower) SetPower(delay == 0); - - await Task.Delay(TimeSpan.FromMilliseconds(500)); - SetGPUPower(); - AutoRyzen(); - }); + Thread.Sleep(delay); + if (applyPower) SetPower(delay == 0); + + Thread.Sleep(500); + SetGPUPower(); + AutoRyzen(); }