Compare commits

..

1 Commits

Author SHA1 Message Date
Serge
04afbea26f Restrict fan curve points 2024-10-06 12:03:42 +02:00
11 changed files with 42 additions and 157 deletions

View File

@@ -413,7 +413,7 @@ public static class AppConfig
public static bool IsDUO() public static bool IsDUO()
{ {
return ContainsModel("Duo") || ContainsModel("GX550") || ContainsModel("GX650") || ContainsModel("UX840"); return ContainsModel("Duo") || ContainsModel("GX550") || ContainsModel("GX650");
} }
// G14 2020 has no aura, but media keys instead // G14 2020 has no aura, but media keys instead
@@ -454,7 +454,7 @@ public static class AppConfig
public static bool IsOLED() public static bool IsOLED()
{ {
return ContainsModel("OLED") || IsSlash() || ContainsModel("M7600") || ContainsModel("UX64") || ContainsModel("UX34") || ContainsModel("UX53") || ContainsModel("K360") || ContainsModel("X150") || ContainsModel("M350") || ContainsModel("K650") || ContainsModel("UM53") || ContainsModel("K660") || ContainsModel("UX84") || ContainsModel("M650") || ContainsModel("M550") || ContainsModel("K340") || ContainsModel("K350") || ContainsModel("M140") || ContainsModel("UM340") || ContainsModel("S540") || ContainsModel("M7400") || ContainsModel("N650") || ContainsModel("HN7306") || ContainsModel("H7606") || ContainsModel("UX5406") || ContainsModel("M5606"); return ContainsModel("OLED") || IsSlash() || ContainsModel("M7600") || ContainsModel("UX64") || ContainsModel("UX34") || ContainsModel("UX53") || ContainsModel("K360") || ContainsModel("X150") || ContainsModel("M350") || ContainsModel("K650") || ContainsModel("UM53") || ContainsModel("K660") || ContainsModel("UX84") || ContainsModel("M650") || ContainsModel("M550") || ContainsModel("K340") || ContainsModel("K350") || ContainsModel("M140") || ContainsModel("UM340") || ContainsModel("S540") || ContainsModel("M7400") || ContainsModel("N650") || ContainsModel("HN7306") || ContainsModel("H7606") || ContainsModel("UX5406") || ContainsModel("UM5606");
} }
public static bool IsNoOverdrive() public static bool IsNoOverdrive()
@@ -696,7 +696,7 @@ public static class AppConfig
public static bool IsForceMiniled() public static bool IsForceMiniled()
{ {
return ContainsModel("G834JYR") || ContainsModel("G834JZR") || Is("force_miniled"); return ContainsModel("G834JYR") || Is("force_miniled");
} }
public static bool SaveDimming() public static bool SaveDimming()

View File

@@ -583,7 +583,7 @@ public class AsusACPI
} }
//Logger.WriteLine($"GetFan {device} :" + BitConverter.ToString(result)); //Logger.WriteLine($"GetFan {device} :" + BitConverter.ToString(result));
if (IsInvalidCurve(result)) result = AppConfig.GetDefaultCurve(device);
return result; return result;
} }
@@ -598,43 +598,20 @@ public class AsusACPI
return curve.All(singleByte => singleByte == 0); return curve.All(singleByte => singleByte == 0);
} }
public static int FixTemp(int temp, int index)
{
var dxMin = 30 + 10 * index;
var dxMax = dxMin + 9;
return Math.Min(dxMax, Math.Max(dxMin, temp));
}
public static byte[] FixFanCurve(byte[] curve) public static byte[] FixFanCurve(byte[] curve)
{ {
if (curve.Length != 16) throw new Exception("Incorrect curve"); if (curve.Length != 16) throw new Exception("Incorrect curve");
var points = new Dictionary<byte, byte>();
byte old = 0;
for (int i = 0; i < 8; i++) for (int i = 0; i < 8; i++)
{ {
if (curve[i] <= old) curve[i] = (byte)Math.Min(100, old + 6); // preventing 2 points in same spot from default asus profiles curve[i] = (byte)FixTemp(curve[i], i);
points[curve[i]] = curve[i + 8];
old = curve[i];
}
var pointsFixed = new Dictionary<byte, byte>();
bool fix = false;
int count = 0;
foreach (var pair in points.OrderBy(x => x.Key))
{
if (count == 0 && pair.Key >= 40)
{
fix = true;
pointsFixed.Add(30, 0);
}
if (count != 3 || !fix)
pointsFixed.Add(pair.Key, pair.Value);
count++;
}
count = 0;
foreach (var pair in pointsFixed.OrderBy(x => x.Key))
{
curve[count] = pair.Key;
curve[count + 8] = pair.Value;
count++;
} }
return curve; return curve;

View File

@@ -6,14 +6,7 @@ namespace GHelper.Display
{ {
public const int MAX_REFRESH = 1000; public const int MAX_REFRESH = 1000;
public static int MIN_RATE = AppConfig.Get("min_rate", 60);
public static int MAX_RATE = AppConfig.Get("max_rate");
public static int GetMaxRate(string? laptopScreen)
{
if (MAX_RATE > 0) return MAX_RATE;
else return ScreenNative.GetMaxRefreshRate(laptopScreen);
}
public void AutoScreen(bool force = false) public void AutoScreen(bool force = false)
{ {
@@ -22,7 +15,7 @@ namespace GHelper.Display
if (SystemInformation.PowerStatus.PowerLineStatus == PowerLineStatus.Online) if (SystemInformation.PowerStatus.PowerLineStatus == PowerLineStatus.Online)
SetScreen(MAX_REFRESH, 1); SetScreen(MAX_REFRESH, 1);
else else
SetScreen(MIN_RATE, 0); SetScreen(60, 0);
} }
else else
{ {
@@ -36,7 +29,7 @@ namespace GHelper.Display
var refreshRate = ScreenNative.GetRefreshRate(laptopScreen); var refreshRate = ScreenNative.GetRefreshRate(laptopScreen);
if (refreshRate < 0) return; if (refreshRate < 0) return;
ScreenNative.SetRefreshRate(laptopScreen, refreshRate > MIN_RATE ? MIN_RATE : GetMaxRate(laptopScreen)); ScreenNative.SetRefreshRate(laptopScreen, refreshRate > 60 ? 60 : ScreenNative.GetMaxRefreshRate(laptopScreen));
InitScreen(); InitScreen();
} }
@@ -50,7 +43,7 @@ namespace GHelper.Display
if (frequency >= MAX_REFRESH) if (frequency >= MAX_REFRESH)
{ {
frequency = GetMaxRate(laptopScreen); frequency = ScreenNative.GetMaxRefreshRate(laptopScreen);
} }
if (frequency > 0 && frequency != refreshRate) if (frequency > 0 && frequency != refreshRate)
@@ -158,7 +151,7 @@ namespace GHelper.Display
{ {
var laptopScreen = ScreenNative.FindLaptopScreen(); var laptopScreen = ScreenNative.FindLaptopScreen();
int frequency = ScreenNative.GetRefreshRate(laptopScreen); int frequency = ScreenNative.GetRefreshRate(laptopScreen);
int maxFrequency = GetMaxRate(laptopScreen); int maxFrequency = ScreenNative.GetMaxRefreshRate(laptopScreen);
if (maxFrequency > 0) AppConfig.Set("max_frequency", maxFrequency); if (maxFrequency > 0) AppConfig.Set("max_frequency", maxFrequency);
else maxFrequency = AppConfig.Get("max_frequency"); else maxFrequency = AppConfig.Get("max_frequency");

View File

@@ -1,5 +1,4 @@
using GHelper.Helpers; using GHelper.Helpers;
using Microsoft.Win32;
using System.Management; using System.Management;
namespace GHelper.Display namespace GHelper.Display
@@ -38,7 +37,6 @@ namespace GHelper.Display
Cinema = 25, Cinema = 25,
Vivid = 13, Vivid = 13,
Eyecare = 17, Eyecare = 17,
Disabled = 18,
} }
public static class VisualControl public static class VisualControl
{ {
@@ -101,7 +99,7 @@ namespace GHelper.Display
foreach (FileInfo icm in icms) foreach (FileInfo icm in icms)
{ {
//Logger.WriteLine(icm.FullName); //Logger.WriteLine(icm.FullName);
if (icm.Name.Contains("sRGB")) if (icm.Name.Contains("sRGB"))
{ {
try try
@@ -109,7 +107,7 @@ namespace GHelper.Display
_modes.Add(isVivo ? SplendidGamut.VivoSRGB : SplendidGamut.sRGB, "Gamut: sRGB"); _modes.Add(isVivo ? SplendidGamut.VivoSRGB : SplendidGamut.sRGB, "Gamut: sRGB");
Logger.WriteLine(icm.FullName + " sRGB"); Logger.WriteLine(icm.FullName + " sRGB");
} }
catch catch
{ {
} }
} }
@@ -177,8 +175,7 @@ namespace GHelper.Display
{ SplendidCommand.FPS, "FPS"}, { SplendidCommand.FPS, "FPS"},
{ SplendidCommand.Cinema, "Cinema"}, { SplendidCommand.Cinema, "Cinema"},
{ SplendidCommand.Vivid, "Vivid" }, { SplendidCommand.Vivid, "Vivid" },
{ SplendidCommand.Eyecare, "Eyecare"}, { SplendidCommand.Eyecare, "Eyecare"}
{ SplendidCommand.Disabled, "Disabled"}
}; };
} }
@@ -208,20 +205,6 @@ namespace GHelper.Display
}; };
} }
const string GameVisualKey = @"HKEY_CURRENT_USER\Software\ASUS\ARMOURY CRATE Service\GameVisual";
const string GameVisualValue = "ActiveGVStatus";
public static bool IsEnabled()
{
var status = (int?)Registry.GetValue(GameVisualKey, GameVisualValue, 1);
return status > 0;
}
public static void SetRegStatus(int status = 1)
{
Registry.SetValue(GameVisualKey, GameVisualValue, status, RegistryValueKind.DWord);
}
public static void SetGamut(int mode = -1) public static void SetGamut(int mode = -1)
{ {
if (skipGamut) return; if (skipGamut) return;
@@ -252,7 +235,7 @@ namespace GHelper.Display
public static void SetVisual(SplendidCommand mode = SplendidCommand.Default, int whiteBalance = DefaultColorTemp, bool init = false) public static void SetVisual(SplendidCommand mode = SplendidCommand.Default, int whiteBalance = DefaultColorTemp, bool init = false)
{ {
if (mode == SplendidCommand.None) return; if (mode == SplendidCommand.None) return;
if ((mode == SplendidCommand.Disabled || mode == SplendidCommand.Default || mode == SplendidCommand.VivoNormal) && init) return; // Skip default setting on init if ((mode == SplendidCommand.Default || mode == SplendidCommand.VivoNormal) && init) return; // Skip default setting on init
if (!forceVisual && ScreenCCD.GetHDRStatus(true)) return; if (!forceVisual && ScreenCCD.GetHDRStatus(true)) return;
if (!forceVisual && ScreenNative.GetRefreshRate(ScreenNative.FindLaptopScreen(true)) < 0) return; if (!forceVisual && ScreenNative.GetRefreshRate(ScreenNative.FindLaptopScreen(true)) < 0) return;
@@ -262,16 +245,12 @@ namespace GHelper.Display
if (whiteBalance != DefaultColorTemp && !init) ProcessHelper.RunAsAdmin(); if (whiteBalance != DefaultColorTemp && !init) ProcessHelper.RunAsAdmin();
int? balance = null; int? balance;
int command = 0;
switch (mode) switch (mode)
{ {
case SplendidCommand.Disabled:
command = 2;
break;
case SplendidCommand.Eyecare: case SplendidCommand.Eyecare:
balance = 4; balance = 2;
break; break;
case SplendidCommand.VivoNormal: case SplendidCommand.VivoNormal:
case SplendidCommand.VivoVivid: case SplendidCommand.VivoVivid:
@@ -285,7 +264,7 @@ namespace GHelper.Display
break; break;
} }
int result = RunSplendid(mode, command, balance); var result = RunSplendid(mode, 0, balance);
if (result == 0) return; if (result == 0) return;
if (result == -1) if (result == -1)
{ {
@@ -342,11 +321,6 @@ namespace GHelper.Display
var result = ProcessHelper.RunCMD(splendid, (int)command + " " + param1 + " " + param2); var result = ProcessHelper.RunCMD(splendid, (int)command + " " + param1 + " " + param2);
if (result.Contains("file not exist") || (result.Length == 0 && !isVivo)) return 1; if (result.Contains("file not exist") || (result.Length == 0 && !isVivo)) return 1;
if (result.Contains("return code: -1")) return -1; if (result.Contains("return code: -1")) return -1;
if (result.Contains("Visual is disabled"))
{
SetRegStatus(1);
return 1;
}
} }
return 0; return 0;

View File

@@ -757,8 +757,8 @@ namespace GHelper
chart.Titles[0].Text = title; chart.Titles[0].Text = title;
chart.ChartAreas[0].AxisX.Minimum = 10; chart.ChartAreas[0].AxisX.Minimum = 20;
chart.ChartAreas[0].AxisX.Maximum = 100; chart.ChartAreas[0].AxisX.Maximum = 110;
chart.ChartAreas[0].AxisX.Interval = 10; chart.ChartAreas[0].AxisX.Interval = 10;
chart.ChartAreas[0].AxisY.Minimum = 0; chart.ChartAreas[0].AxisY.Minimum = 0;
@@ -1019,7 +1019,7 @@ namespace GHelper
int chartCount = 2; int chartCount = 2;
// Middle / system fan check // Middle / system fan check
if (!AsusACPI.IsEmptyCurve(Program.acpi.GetFanCurve(AsusFan.Mid)) || Program.acpi.GetFan(AsusFan.Mid) >= 0) if (Program.acpi.GetFan(AsusFan.Mid) >= 0)
{ {
AppConfig.Set("mid_fan", 1); AppConfig.Set("mid_fan", 1);
chartCount++; chartCount++;
@@ -1082,15 +1082,10 @@ namespace GHelper
if (reset || AsusACPI.IsInvalidCurve(curve)) if (reset || AsusACPI.IsInvalidCurve(curve))
{ {
curve = Program.acpi.GetFanCurve(device, Modes.GetCurrentBase()); curve = Program.acpi.GetFanCurve(device, Modes.GetCurrentBase());
Logger.WriteLine($"Default {device}:" + BitConverter.ToString(curve));
if (AsusACPI.IsInvalidCurve(curve))
curve = AppConfig.GetDefaultCurve(device);
curve = AsusACPI.FixFanCurve(curve);
} }
//Debug.WriteLine(BitConverter.ToString(curve)); curve = AsusACPI.FixFanCurve(curve);
byte old = 0; byte old = 0;
for (int i = 0; i < 8; i++) for (int i = 0; i < 8; i++)
@@ -1245,8 +1240,7 @@ namespace GHelper
dx = ax.PixelPositionToValue(e.X); dx = ax.PixelPositionToValue(e.X);
dy = ay.PixelPositionToValue(e.Y); dy = ay.PixelPositionToValue(e.Y);
if (dx < 20) dx = 20; dx = AsusACPI.FixTemp((int)dx, curIndex);
if (dx > 100) dx = 100;
if (dy < 0) dy = 0; if (dy < 0) dy = 0;
if (dy > fansMax) dy = fansMax; if (dy > fansMax) dy = fansMax;

View File

@@ -15,7 +15,7 @@
<PlatformTarget>AnyCPU</PlatformTarget> <PlatformTarget>AnyCPU</PlatformTarget>
<ProduceReferenceAssembly>False</ProduceReferenceAssembly> <ProduceReferenceAssembly>False</ProduceReferenceAssembly>
<AllowUnsafeBlocks>True</AllowUnsafeBlocks> <AllowUnsafeBlocks>True</AllowUnsafeBlocks>
<AssemblyVersion>0.197</AssemblyVersion> <AssemblyVersion>0.195</AssemblyVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">

View File

@@ -24,7 +24,7 @@ public static class HardwareControl
public static decimal? fullCapacity; public static decimal? fullCapacity;
public static decimal? chargeCapacity; public static decimal? chargeCapacity;
public static string? batteryCharge;
public static string? cpuFan; public static string? cpuFan;
public static string? gpuFan; public static string? gpuFan;
@@ -34,20 +34,6 @@ public static class HardwareControl
static long lastUpdate; static long lastUpdate;
static bool _chargeWatt = AppConfig.Is("charge_watt");
public static bool chargeWatt
{
get
{
return _chargeWatt;
}
set
{
AppConfig.Set("charge_watt", value ? 1 : 0);
_chargeWatt = value;
}
}
private static int GetGpuUse() private static int GetGpuUse()
{ {
try try
@@ -240,16 +226,8 @@ public static class HardwareControl
if (fullCapacity > 0 && chargeCapacity > 0) if (fullCapacity > 0 && chargeCapacity > 0)
{ {
batteryCapacity = Math.Min(100, (decimal)chargeCapacity / (decimal)fullCapacity * 100); batteryCapacity = Math.Min(100, ((decimal)chargeCapacity / (decimal)fullCapacity) * 100);
if (batteryCapacity > 99) BatteryControl.UnSetBatteryLimitFull(); if (batteryCapacity > 99) BatteryControl.UnSetBatteryLimitFull();
if (chargeWatt)
{
batteryCharge = Math.Round((decimal)chargeCapacity / 1000, 1).ToString() + "Wh";
}
else
{
batteryCharge = Math.Round(batteryCapacity, 1) + "%";
}
} }

View File

@@ -106,7 +106,7 @@ public class Startup
{ {
td.RegistrationInfo.Description = "G-Helper Auto Start"; td.RegistrationInfo.Description = "G-Helper Auto Start";
td.Triggers.Add(new LogonTrigger { UserId = WindowsIdentity.GetCurrent().Name, Delay = TimeSpan.FromSeconds(2) }); td.Triggers.Add(new LogonTrigger { UserId = WindowsIdentity.GetCurrent().Name, Delay = TimeSpan.FromSeconds(1) });
td.Actions.Add(strExeFilePath); td.Actions.Add(strExeFilePath);
if (ProcessHelper.IsUserAdministrator()) if (ProcessHelper.IsUserAdministrator())

View File

@@ -118,13 +118,6 @@ namespace GHelper.Input
if (!AppConfig.Is("skip_hotkeys")) if (!AppConfig.Is("skip_hotkeys"))
{ {
if (AppConfig.IsDUO())
{
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, Keys.F7);
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, Keys.F8);
}
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, Keys.F13); hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, Keys.F13);
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, Keys.F14); hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, Keys.F14);
@@ -136,6 +129,8 @@ namespace GHelper.Input
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, Keys.F19); hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, Keys.F19);
hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, Keys.F20); hook.RegisterHotKey(ModifierKeys.Shift | ModifierKeys.Control | ModifierKeys.Alt, Keys.F20);
hook.RegisterHotKey(ModifierKeys.Control, Keys.VolumeDown); hook.RegisterHotKey(ModifierKeys.Control, Keys.VolumeDown);
hook.RegisterHotKey(ModifierKeys.Control, Keys.VolumeUp); hook.RegisterHotKey(ModifierKeys.Control, Keys.VolumeUp);
hook.RegisterHotKey(ModifierKeys.Shift, Keys.VolumeDown); hook.RegisterHotKey(ModifierKeys.Shift, Keys.VolumeDown);
@@ -440,12 +435,6 @@ namespace GHelper.Input
case Keys.F4: case Keys.F4:
Program.settingsForm.BeginInvoke(Program.settingsForm.allyControl.ToggleModeHotkey); Program.settingsForm.BeginInvoke(Program.settingsForm.allyControl.ToggleModeHotkey);
break; break;
case Keys.F7:
SetScreenpad(-10);
break;
case Keys.F8:
SetScreenpad(10);
break;
case Keys.F13: case Keys.F13:
ToggleScreenRate(); ToggleScreenRate();
break; break;
@@ -746,7 +735,6 @@ namespace GHelper.Input
KeyProcess("fne"); KeyProcess("fne");
return; return;
case 174: // FN+F5 case 174: // FN+F5
case 157: // Zenbook DUO FN+F
modeControl.CyclePerformanceMode(Control.ModifierKeys == Keys.Shift); modeControl.CyclePerformanceMode(Control.ModifierKeys == Keys.Shift);
return; return;
case 179: // FN+F4 case 179: // FN+F4

View File

@@ -10,8 +10,6 @@ namespace GHelper.Input
CancellationTokenSource cancellationTokenSource = new CancellationTokenSource(); CancellationTokenSource cancellationTokenSource = new CancellationTokenSource();
Action<int> _handler; Action<int> _handler;
static int retry = 0;
public KeyboardListener(Action<int> KeyHandler) public KeyboardListener(Action<int> KeyHandler)
{ {
_handler = KeyHandler; _handler = KeyHandler;
@@ -69,12 +67,6 @@ namespace GHelper.Input
catch (Exception ex) catch (Exception ex)
{ {
Logger.WriteLine($"Listener exited: {ex.Message}"); Logger.WriteLine($"Listener exited: {ex.Message}");
if (retry++ < 2)
{
Thread.Sleep(300);
Logger.WriteLine($"Restarting listener {retry}");
Listen();
}
} }
} }

View File

@@ -235,7 +235,6 @@ namespace GHelper
labelCharge.MouseEnter += PanelBattery_MouseEnter; labelCharge.MouseEnter += PanelBattery_MouseEnter;
labelCharge.MouseLeave += PanelBattery_MouseLeave; labelCharge.MouseLeave += PanelBattery_MouseLeave;
labelBattery.Click += LabelBattery_Click;
buttonPeripheral1.Click += ButtonPeripheral_Click; buttonPeripheral1.Click += ButtonPeripheral_Click;
buttonPeripheral2.Click += ButtonPeripheral_Click; buttonPeripheral2.Click += ButtonPeripheral_Click;
@@ -285,12 +284,6 @@ namespace GHelper
InitVisual(); InitVisual();
} }
private void LabelBattery_Click(object? sender, EventArgs e)
{
HardwareControl.chargeWatt = !HardwareControl.chargeWatt;
RefreshSensors(true);
}
private void ButtonDonate_Click(object? sender, EventArgs e) private void ButtonDonate_Click(object? sender, EventArgs e)
{ {
AppConfig.Set("donate_click", 1); AppConfig.Set("donate_click", 1);
@@ -850,7 +843,7 @@ namespace GHelper
private void Button60Hz_MouseHover(object? sender, EventArgs e) private void Button60Hz_MouseHover(object? sender, EventArgs e)
{ {
labelTipScreen.Text = Properties.Strings.MinRefreshTooltip.Replace("60", ScreenControl.MIN_RATE.ToString()); labelTipScreen.Text = Properties.Strings.MinRefreshTooltip;
} }
private void ButtonScreen_MouseLeave(object? sender, EventArgs e) private void ButtonScreen_MouseLeave(object? sender, EventArgs e)
@@ -860,7 +853,7 @@ namespace GHelper
private void ButtonScreenAuto_MouseHover(object? sender, EventArgs e) private void ButtonScreenAuto_MouseHover(object? sender, EventArgs e)
{ {
labelTipScreen.Text = Properties.Strings.AutoRefreshTooltip.Replace("60", ScreenControl.MIN_RATE.ToString()); labelTipScreen.Text = Properties.Strings.AutoRefreshTooltip;
} }
private void ButtonUltimate_MouseHover(object? sender, EventArgs e) private void ButtonUltimate_MouseHover(object? sender, EventArgs e)
@@ -1215,7 +1208,7 @@ namespace GHelper
private void Button60Hz_Click(object? sender, EventArgs e) private void Button60Hz_Click(object? sender, EventArgs e)
{ {
AppConfig.Set("screen_auto", 0); AppConfig.Set("screen_auto", 0);
screenControl.SetScreen(ScreenControl.MIN_RATE, 0); screenControl.SetScreen(60, 0);
} }
@@ -1246,18 +1239,16 @@ namespace GHelper
{ {
buttonScreenAuto.Activated = true; buttonScreenAuto.Activated = true;
} }
else if (frequency == ScreenControl.MIN_RATE) else if (frequency == 60)
{ {
button60Hz.Activated = true; button60Hz.Activated = true;
} }
else if (frequency > ScreenControl.MIN_RATE) else if (frequency > 60)
{ {
button120Hz.Activated = true; button120Hz.Activated = true;
} }
button60Hz.Text = ScreenControl.MIN_RATE + "Hz"; if (maxFrequency > 60)
if (maxFrequency > ScreenControl.MIN_RATE)
{ {
button120Hz.Text = maxFrequency.ToString() + "Hz" + (overdriveSetting ? " + OD" : ""); button120Hz.Text = maxFrequency.ToString() + "Hz" + (overdriveSetting ? " + OD" : "");
panelScreen.Visible = true; panelScreen.Visible = true;
@@ -1429,9 +1420,7 @@ namespace GHelper
cpuTemp = ": " + Math.Round((decimal)HardwareControl.cpuTemp).ToString() + "°C"; cpuTemp = ": " + Math.Round((decimal)HardwareControl.cpuTemp).ToString() + "°C";
if (HardwareControl.batteryCapacity > 0) if (HardwareControl.batteryCapacity > 0)
{ charge = Properties.Strings.BatteryCharge + ": " + Math.Round(HardwareControl.batteryCapacity, 1) + "% ";
charge = Properties.Strings.BatteryCharge + ": " + HardwareControl.batteryCharge;
}
if (HardwareControl.batteryRate < 0) if (HardwareControl.batteryRate < 0)
battery = Properties.Strings.Discharging + ": " + Math.Round(-(decimal)HardwareControl.batteryRate, 1).ToString() + "W"; battery = Properties.Strings.Discharging + ": " + Math.Round(-(decimal)HardwareControl.batteryRate, 1).ToString() + "W";