Added native temp sensors, brightness controll, etc

This commit is contained in:
seerge
2023-03-29 17:04:22 +02:00
parent 8af8823ee4
commit 136b5b4f55
5 changed files with 58 additions and 27 deletions

View File

@@ -1,4 +1,5 @@
using System.Diagnostics;
using GHelper;
using GHelper.Gpu;
public static class HardwareMonitor
@@ -9,16 +10,41 @@ public static class HardwareMonitor
public static float? batteryDischarge = -1;
public static int? gpuTemp = null;
public static string? cpuFan;
public static string? gpuFan;
public static string? midFan;
private static string FormatFan(int fan)
{
// fix for old models
if (fan < 0)
{
fan += 65536;
if (fan <= 0 || fan > 100) return null; //nothing reasonable
}
if (Program.config.getConfig("fan_rpm") == 1)
return " Fan: " + (fan * 100).ToString() + "RPM";
else
return " Fan: " + Math.Min(Math.Round(fan / 0.6), 100).ToString() + "%"; // relatively to 6000 rpm
}
public static void ReadSensors()
{
cpuTemp = -1;
batteryDischarge = -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));
try
{
cpuTemp = Program.wmi.DeviceGet(ASUSWmi.Temp_CPU);
/*
var ct = new PerformanceCounter("Thermal Zone Information", "Temperature", @"\_TZ.THRM", true);
cpuTemp = ct.NextValue() - 273;
ct.Dispose();
ct.Dispose();*/
} catch
{
Logger.WriteLine("Failed reading CPU temp");
@@ -37,8 +63,12 @@ public static class HardwareMonitor
try
{
gpuTemp = GpuTemperatureProvider?.GetCurrentTemperature();
} catch (Exception ex) {
gpuTemp = Program.wmi.DeviceGet(ASUSWmi.Temp_GPU);
if (gpuTemp < 0)
gpuTemp = GpuTemperatureProvider?.GetCurrentTemperature();
}
catch (Exception ex) {
gpuTemp = null;
Logger.WriteLine("Failed reading GPU temp");
Logger.WriteLine(ex.ToString());