From bd207113f82472bae885eef3299075fb9a49c214 Mon Sep 17 00:00:00 2001 From: seerge Date: Fri, 31 Mar 2023 20:05:14 +0200 Subject: [PATCH] Fix for possible fan issues on old laptops --- app/ASUSWmi.cs | 5 +++++ app/Aura.cs | 2 +- app/GHelper.csproj | 2 +- app/HardwareMonitor.cs | 9 +++++++-- app/Program.cs | 1 + 5 files changed, 15 insertions(+), 4 deletions(-) diff --git a/app/ASUSWmi.cs b/app/ASUSWmi.cs index 70d4f129..a06bfa91 100644 --- a/app/ASUSWmi.cs +++ b/app/ASUSWmi.cs @@ -213,6 +213,11 @@ public class ASUSWmi int result; + for (int i = 8; i < curve.Length; i++) + { + curve[i] = Math.Max((byte)0, Math.Min((byte)99, curve[i])); // it seems to be a bug, when some old model's bios can go nuts if fan is set to 100% + } + switch (device) { case 1: diff --git a/app/Aura.cs b/app/Aura.cs index 98834ed4..508eeb4b 100644 --- a/app/Aura.cs +++ b/app/Aura.cs @@ -137,7 +137,7 @@ namespace GHelper public static bool HasSecondColor() { - return mode == 1; + return (mode == 1 && !Program.config.ContainsModel("TUF")); } public static int Speed diff --git a/app/GHelper.csproj b/app/GHelper.csproj index 06fa48cd..9c2f1586 100644 --- a/app/GHelper.csproj +++ b/app/GHelper.csproj @@ -16,7 +16,7 @@ x64 False True - 0.44 + 0.45 diff --git a/app/HardwareMonitor.cs b/app/HardwareMonitor.cs index 52ef7695..b46f0b0c 100644 --- a/app/HardwareMonitor.cs +++ b/app/HardwareMonitor.cs @@ -47,13 +47,14 @@ public static class HardwareMonitor public static void ReadSensors() { batteryDischarge = -1; + gpuTemp = -1; cpuFan = FormatFan(Program.wmi.DeviceGet(ASUSWmi.CPU_Fan)); gpuFan = FormatFan(Program.wmi.DeviceGet(ASUSWmi.GPU_Fan)); midFan = FormatFan(Program.wmi.DeviceGet(ASUSWmi.Mid_Fan)); cpuTemp = Program.wmi.DeviceGet(ASUSWmi.Temp_CPU); - gpuTemp = Program.wmi.DeviceGet(ASUSWmi.Temp_GPU); + if (cpuTemp < 0) try { @@ -72,11 +73,15 @@ public static class HardwareMonitor } catch (Exception ex) { - gpuTemp = null; + gpuTemp = -1; Logger.WriteLine("Failed reading GPU temp"); Logger.WriteLine(ex.ToString()); } + if (gpuTemp < 0) + gpuTemp = Program.wmi.DeviceGet(ASUSWmi.Temp_GPU); + + try { var cb = new PerformanceCounter("Power Meter", "Power", "Power Meter (0)", true); diff --git a/app/Program.cs b/app/Program.cs index 4e705fea..b68ec86e 100644 --- a/app/Program.cs +++ b/app/Program.cs @@ -56,6 +56,7 @@ namespace GHelper } + Logger.WriteLine("------------"); Logger.WriteLine("App launched"); Application.EnableVisualStyles();