mirror of
https://github.com/jkocon/g-helper.git
synced 2026-02-23 13:00:52 +01:00
Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cdb633be04 | ||
|
|
7cb9b1f64f |
@@ -24,6 +24,7 @@ public class ASUSWmi
|
|||||||
|
|
||||||
public const uint DevsCPUFanCurve = 0x00110024;
|
public const uint DevsCPUFanCurve = 0x00110024;
|
||||||
public const uint DevsGPUFanCurve = 0x00110025;
|
public const uint DevsGPUFanCurve = 0x00110025;
|
||||||
|
public const uint DevsMidFanCurve = 0x00110032;
|
||||||
|
|
||||||
public const int PPT_TotalA0 = 0x001200A0; // Total PPT on 2022 and CPU PPT on 2021
|
public const int PPT_TotalA0 = 0x001200A0; // Total PPT on 2022 and CPU PPT on 2021
|
||||||
public const int PPT_EDCA1 = 0x001200A1; // CPU EDC
|
public const int PPT_EDCA1 = 0x001200A1; // CPU EDC
|
||||||
@@ -185,12 +186,25 @@ public class ASUSWmi
|
|||||||
if (curve.Length != 16) return;
|
if (curve.Length != 16) return;
|
||||||
if (curve.All(singleByte => singleByte == 0)) return;
|
if (curve.All(singleByte => singleByte == 0)) return;
|
||||||
|
|
||||||
Logger.WriteLine("Fans" + ((device == 1) ? "GPU" : "CPU") + " " + BitConverter.ToString(curve));
|
string name;
|
||||||
|
|
||||||
if (device == 1)
|
switch (device)
|
||||||
DeviceSet(DevsGPUFanCurve, curve);
|
{
|
||||||
else
|
case 1:
|
||||||
DeviceSet(DevsCPUFanCurve, curve);
|
DeviceSet(DevsGPUFanCurve, curve);
|
||||||
|
name = "GPU";
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
DeviceSet(DevsMidFanCurve, curve);
|
||||||
|
name = "Mid";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
DeviceSet(DevsCPUFanCurve, curve);
|
||||||
|
name = "CPU";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
Logger.WriteLine("Fans" + name + " " + BitConverter.ToString(curve));
|
||||||
}
|
}
|
||||||
|
|
||||||
public byte[] GetFanCurve(int device, int mode = 0)
|
public byte[] GetFanCurve(int device, int mode = 0)
|
||||||
@@ -205,10 +219,15 @@ public class ASUSWmi
|
|||||||
default: fan_mode = 0; break;
|
default: fan_mode = 0; break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (device == 1)
|
switch (device)
|
||||||
return DeviceGetBuffer(DevsGPUFanCurve, fan_mode);
|
{
|
||||||
else
|
case 1:
|
||||||
return DeviceGetBuffer(DevsCPUFanCurve, fan_mode);
|
return DeviceGetBuffer(DevsGPUFanCurve, fan_mode);
|
||||||
|
case 2:
|
||||||
|
return DeviceGetBuffer(DevsMidFanCurve, fan_mode);
|
||||||
|
default:
|
||||||
|
return DeviceGetBuffer(DevsCPUFanCurve, fan_mode);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,11 +2,8 @@
|
|||||||
|
|
||||||
using Starlight.Communication;
|
using Starlight.Communication;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.Text;
|
|
||||||
using System.Management;
|
using System.Management;
|
||||||
using static System.Windows.Forms.VisualStyles.VisualStyleElement.Window;
|
using System.Text;
|
||||||
using System.Drawing.Imaging;
|
|
||||||
using System.Windows.Forms;
|
|
||||||
|
|
||||||
namespace Starlight.AnimeMatrix
|
namespace Starlight.AnimeMatrix
|
||||||
{
|
{
|
||||||
@@ -82,7 +79,7 @@ namespace Starlight.AnimeMatrix
|
|||||||
public int MaxRows = 61;
|
public int MaxRows = 61;
|
||||||
public int FullRows = 11;
|
public int FullRows = 11;
|
||||||
|
|
||||||
public int EmptyFirstRow = 0;
|
public int EmptyFirstRow = 1;
|
||||||
|
|
||||||
private int frameIndex = 0;
|
private int frameIndex = 0;
|
||||||
|
|
||||||
@@ -90,15 +87,16 @@ namespace Starlight.AnimeMatrix
|
|||||||
: base(0x0B05, 0x193B, 640)
|
: base(0x0B05, 0x193B, 640)
|
||||||
{
|
{
|
||||||
string model = GetModel();
|
string model = GetModel();
|
||||||
Debug.WriteLine(model);
|
|
||||||
|
|
||||||
if (model is not null && model.Contains("401"))
|
Logger.WriteLine("Animatrix: " + model);
|
||||||
|
|
||||||
|
if (model.Contains("401"))
|
||||||
{
|
{
|
||||||
EmptyFirstRow = 1;
|
EmptyFirstRow = 1;
|
||||||
FullRows = 6;
|
FullRows = 6;
|
||||||
MaxColumns = 33;
|
MaxColumns = 33;
|
||||||
MaxRows = 55;
|
MaxRows = 55;
|
||||||
LedCount = 1213;
|
LedCount = 1214;
|
||||||
UpdatePageLength = 410;
|
UpdatePageLength = 410;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -126,7 +124,6 @@ namespace Starlight.AnimeMatrix
|
|||||||
|
|
||||||
public void PresentNextFrame()
|
public void PresentNextFrame()
|
||||||
{
|
{
|
||||||
//Debug.WriteLine(frameIndex);
|
|
||||||
if (frameIndex >= frames.Count) frameIndex = 0;
|
if (frameIndex >= frames.Count) frameIndex = 0;
|
||||||
_displayBuffer = frames[frameIndex];
|
_displayBuffer = frames[frameIndex];
|
||||||
Present();
|
Present();
|
||||||
@@ -150,25 +147,25 @@ namespace Starlight.AnimeMatrix
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public int EmptyColumns(int row)
|
public int XStart(int row)
|
||||||
{
|
{
|
||||||
if (row == 0) return EmptyFirstRow;
|
|
||||||
return (int)Math.Ceiling(Math.Max(0, row - FullRows) / 2.0);
|
return (int)Math.Ceiling(Math.Max(0, row - FullRows) / 2.0);
|
||||||
}
|
}
|
||||||
public int Columns(int row)
|
|
||||||
|
public int XEnd(int row)
|
||||||
{
|
{
|
||||||
EnsureRowInRange(row);
|
if (row == 0) return MaxColumns - EmptyFirstRow;
|
||||||
return MaxColumns - EmptyColumns(row);
|
return MaxColumns;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int RowToLinearAddress(int row)
|
public int RowToLinearAddress(int row)
|
||||||
{
|
{
|
||||||
EnsureRowInRange(row);
|
EnsureRowInRange(row);
|
||||||
|
|
||||||
var ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
for (var i = 0; i < row; i++)
|
for (var i = 0; i < row; i++)
|
||||||
ret += Columns(i);
|
ret += XEnd(i) - XStart(i);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@@ -198,13 +195,20 @@ namespace Starlight.AnimeMatrix
|
|||||||
Set(Packet<AnimeMatrixPacket>(0xC0, 0x03));
|
Set(Packet<AnimeMatrixPacket>(0xC0, 0x03));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetLedPlanar(int x, int y, byte value)
|
public int SetLedPlanar(int x, int y, byte value)
|
||||||
{
|
{
|
||||||
EnsureRowInRange(y);
|
EnsureRowInRange(y);
|
||||||
var start = RowToLinearAddress(y) - EmptyColumns(y);
|
var start = RowToLinearAddress(y) - XStart(y);
|
||||||
|
|
||||||
if (x >= EmptyColumns(y))
|
if (x >= XStart(y) && x < XEnd(y))
|
||||||
|
{
|
||||||
|
//Debug.Write((start + x).ToString("D4") + ",");
|
||||||
SetLedLinear(start + x, value);
|
SetLedLinear(start + x, value);
|
||||||
|
return start + x;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Debug.Write(" ");
|
||||||
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Clear(bool present = false)
|
public void Clear(bool present = false)
|
||||||
@@ -274,13 +278,13 @@ namespace Starlight.AnimeMatrix
|
|||||||
|
|
||||||
static int GetColor(Bitmap bmp, int x, int y)
|
static int GetColor(Bitmap bmp, int x, int y)
|
||||||
{
|
{
|
||||||
var pixel = bmp.GetPixel(Math.Max(0,Math.Min(bmp.Width - 1,x)), Math.Max(0, Math.Min(bmp.Height - 1, y)));
|
var pixel = bmp.GetPixel(Math.Max(0, Math.Min(bmp.Width - 1, x)), Math.Max(0, Math.Min(bmp.Height - 1, y)));
|
||||||
return (Math.Max((pixel.R + pixel.G + pixel.B) / 3 - 10, 0));
|
return (Math.Max((pixel.R + pixel.G + pixel.B) / 3 - 10, 0));
|
||||||
}
|
}
|
||||||
public void GenerateFrame(Image image)
|
public void GenerateFrame(Image image)
|
||||||
{
|
{
|
||||||
|
|
||||||
int width = MaxColumns*3;
|
int width = MaxColumns * 3;
|
||||||
int height = MaxRows;
|
int height = MaxRows;
|
||||||
float scale;
|
float scale;
|
||||||
|
|
||||||
@@ -298,19 +302,30 @@ namespace Starlight.AnimeMatrix
|
|||||||
|
|
||||||
graph.DrawImage(image, ((int)width - scaleWidth), 0, scaleWidth, scaleHeight);
|
graph.DrawImage(image, ((int)width - scaleWidth), 0, scaleWidth, scaleHeight);
|
||||||
|
|
||||||
|
int addr, counter = 0;
|
||||||
|
|
||||||
Bitmap bmp = new Bitmap(canvas, MaxColumns * 2, MaxRows);
|
Bitmap bmp = new Bitmap(canvas, MaxColumns * 2, MaxRows);
|
||||||
|
|
||||||
for (int y = 0; y < bmp.Height; y++)
|
for (int y = 0; y < bmp.Height; y++)
|
||||||
{
|
{
|
||||||
for (int x = 0; x < bmp.Width; x++)
|
for (int x = 0; x < bmp.Width; x++)
|
||||||
{
|
{
|
||||||
if (x % 2 == (y % 2))
|
if (x % 2 == y % 2)
|
||||||
{
|
{
|
||||||
var color = GetColor(bmp, x, y);
|
var color = GetColor(bmp, x, y);
|
||||||
//var color2= GetColor(bmp, x+1, y);
|
//var color2= GetColor(bmp, x+1, y);
|
||||||
SetLedPlanar(x/2,y, (byte)color);
|
addr = SetLedPlanar(x / 2, y, (byte)color);
|
||||||
|
if (addr != -1) {
|
||||||
|
if (addr != counter)
|
||||||
|
Debug.Write("ERROR");
|
||||||
|
counter++;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//Debug.Write("\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
36
app/Fans.Designer.cs
generated
36
app/Fans.Designer.cs
generated
@@ -35,6 +35,8 @@ namespace GHelper
|
|||||||
Title title1 = new Title();
|
Title title1 = new Title();
|
||||||
ChartArea chartArea2 = new ChartArea();
|
ChartArea chartArea2 = new ChartArea();
|
||||||
Title title2 = new Title();
|
Title title2 = new Title();
|
||||||
|
ChartArea chartArea3 = new ChartArea();
|
||||||
|
Title title3 = new Title();
|
||||||
panelFans = new Panel();
|
panelFans = new Panel();
|
||||||
labelTip = new Label();
|
labelTip = new Label();
|
||||||
labelBoost = new Label();
|
labelBoost = new Label();
|
||||||
@@ -43,6 +45,7 @@ namespace GHelper
|
|||||||
tableFanCharts = new TableLayoutPanel();
|
tableFanCharts = new TableLayoutPanel();
|
||||||
chartGPU = new Chart();
|
chartGPU = new Chart();
|
||||||
chartCPU = new Chart();
|
chartCPU = new Chart();
|
||||||
|
chartMid = new Chart();
|
||||||
labelFans = new Label();
|
labelFans = new Label();
|
||||||
checkAuto = new CheckBox();
|
checkAuto = new CheckBox();
|
||||||
buttonReset = new RButton();
|
buttonReset = new RButton();
|
||||||
@@ -68,6 +71,7 @@ namespace GHelper
|
|||||||
tableFanCharts.SuspendLayout();
|
tableFanCharts.SuspendLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)chartGPU).BeginInit();
|
((System.ComponentModel.ISupportInitialize)chartGPU).BeginInit();
|
||||||
((System.ComponentModel.ISupportInitialize)chartCPU).BeginInit();
|
((System.ComponentModel.ISupportInitialize)chartCPU).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)chartMid).BeginInit();
|
||||||
panelPower.SuspendLayout();
|
panelPower.SuspendLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)pictureBox1).BeginInit();
|
((System.ComponentModel.ISupportInitialize)pictureBox1).BeginInit();
|
||||||
panelCPU.SuspendLayout();
|
panelCPU.SuspendLayout();
|
||||||
@@ -147,14 +151,14 @@ namespace GHelper
|
|||||||
tableFanCharts.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100F));
|
tableFanCharts.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100F));
|
||||||
tableFanCharts.Controls.Add(chartGPU, 0, 1);
|
tableFanCharts.Controls.Add(chartGPU, 0, 1);
|
||||||
tableFanCharts.Controls.Add(chartCPU, 0, 0);
|
tableFanCharts.Controls.Add(chartCPU, 0, 0);
|
||||||
|
tableFanCharts.Controls.Add(chartMid, 0, 2);
|
||||||
tableFanCharts.Location = new Point(28, 64);
|
tableFanCharts.Location = new Point(28, 64);
|
||||||
tableFanCharts.Margin = new Padding(6);
|
tableFanCharts.Margin = new Padding(6);
|
||||||
tableFanCharts.Name = "tableFanCharts";
|
tableFanCharts.Name = "tableFanCharts";
|
||||||
tableFanCharts.RowCount = 2;
|
tableFanCharts.RowCount = 2;
|
||||||
tableFanCharts.RowStyles.Add(new RowStyle(SizeType.Percent, 50F));
|
tableFanCharts.RowStyles.Add(new RowStyle(SizeType.Percent, 33F));
|
||||||
tableFanCharts.RowStyles.Add(new RowStyle(SizeType.Percent, 50F));
|
tableFanCharts.RowStyles.Add(new RowStyle(SizeType.Percent, 33F));
|
||||||
tableFanCharts.RowStyles.Add(new RowStyle(SizeType.Absolute, 40F));
|
tableFanCharts.RowStyles.Add(new RowStyle(SizeType.Percent, 33F));
|
||||||
tableFanCharts.RowStyles.Add(new RowStyle(SizeType.Absolute, 40F));
|
|
||||||
tableFanCharts.Size = new Size(764, 992);
|
tableFanCharts.Size = new Size(764, 992);
|
||||||
tableFanCharts.TabIndex = 36;
|
tableFanCharts.TabIndex = 36;
|
||||||
//
|
//
|
||||||
@@ -163,12 +167,12 @@ namespace GHelper
|
|||||||
chartArea1.Name = "ChartArea1";
|
chartArea1.Name = "ChartArea1";
|
||||||
chartGPU.ChartAreas.Add(chartArea1);
|
chartGPU.ChartAreas.Add(chartArea1);
|
||||||
chartGPU.Dock = DockStyle.Fill;
|
chartGPU.Dock = DockStyle.Fill;
|
||||||
chartGPU.Location = new Point(2, 506);
|
chartGPU.Location = new Point(2, 340);
|
||||||
chartGPU.Margin = new Padding(2, 10, 2, 10);
|
chartGPU.Margin = new Padding(2, 10, 2, 10);
|
||||||
chartGPU.Name = "chartGPU";
|
chartGPU.Name = "chartGPU";
|
||||||
chartGPU.Size = new Size(760, 476);
|
chartGPU.Size = new Size(760, 310);
|
||||||
chartGPU.TabIndex = 17;
|
chartGPU.TabIndex = 17;
|
||||||
chartGPU.Text = "chart1";
|
chartGPU.Text = "chartGPU";
|
||||||
title1.Name = "Title1";
|
title1.Name = "Title1";
|
||||||
chartGPU.Titles.Add(title1);
|
chartGPU.Titles.Add(title1);
|
||||||
//
|
//
|
||||||
@@ -180,12 +184,26 @@ namespace GHelper
|
|||||||
chartCPU.Location = new Point(2, 10);
|
chartCPU.Location = new Point(2, 10);
|
||||||
chartCPU.Margin = new Padding(2, 10, 2, 10);
|
chartCPU.Margin = new Padding(2, 10, 2, 10);
|
||||||
chartCPU.Name = "chartCPU";
|
chartCPU.Name = "chartCPU";
|
||||||
chartCPU.Size = new Size(760, 476);
|
chartCPU.Size = new Size(760, 310);
|
||||||
chartCPU.TabIndex = 14;
|
chartCPU.TabIndex = 14;
|
||||||
chartCPU.Text = "chartCPU";
|
chartCPU.Text = "chartCPU";
|
||||||
title2.Name = "Title1";
|
title2.Name = "Title1";
|
||||||
chartCPU.Titles.Add(title2);
|
chartCPU.Titles.Add(title2);
|
||||||
//
|
//
|
||||||
|
// chartMid
|
||||||
|
//
|
||||||
|
chartArea3.Name = "ChartArea3";
|
||||||
|
chartMid.ChartAreas.Add(chartArea3);
|
||||||
|
chartMid.Dock = DockStyle.Fill;
|
||||||
|
chartMid.Location = new Point(2, 670);
|
||||||
|
chartMid.Margin = new Padding(2, 10, 2, 10);
|
||||||
|
chartMid.Name = "chartMid";
|
||||||
|
chartMid.Size = new Size(760, 312);
|
||||||
|
chartMid.TabIndex = 14;
|
||||||
|
chartMid.Text = "chartMid";
|
||||||
|
title3.Name = "Title3";
|
||||||
|
chartMid.Titles.Add(title3);
|
||||||
|
//
|
||||||
// labelFans
|
// labelFans
|
||||||
//
|
//
|
||||||
labelFans.AutoSize = true;
|
labelFans.AutoSize = true;
|
||||||
@@ -465,6 +483,7 @@ namespace GHelper
|
|||||||
tableFanCharts.ResumeLayout(false);
|
tableFanCharts.ResumeLayout(false);
|
||||||
((System.ComponentModel.ISupportInitialize)chartGPU).EndInit();
|
((System.ComponentModel.ISupportInitialize)chartGPU).EndInit();
|
||||||
((System.ComponentModel.ISupportInitialize)chartCPU).EndInit();
|
((System.ComponentModel.ISupportInitialize)chartCPU).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)chartMid).EndInit();
|
||||||
panelPower.ResumeLayout(false);
|
panelPower.ResumeLayout(false);
|
||||||
panelPower.PerformLayout();
|
panelPower.PerformLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)pictureBox1).EndInit();
|
((System.ComponentModel.ISupportInitialize)pictureBox1).EndInit();
|
||||||
@@ -501,6 +520,7 @@ namespace GHelper
|
|||||||
private TableLayoutPanel tableFanCharts;
|
private TableLayoutPanel tableFanCharts;
|
||||||
private System.Windows.Forms.DataVisualization.Charting.Chart chartGPU;
|
private System.Windows.Forms.DataVisualization.Charting.Chart chartGPU;
|
||||||
private System.Windows.Forms.DataVisualization.Charting.Chart chartCPU;
|
private System.Windows.Forms.DataVisualization.Charting.Chart chartCPU;
|
||||||
|
private System.Windows.Forms.DataVisualization.Charting.Chart chartMid;
|
||||||
private Label labelFans;
|
private Label labelFans;
|
||||||
private PictureBox picturePerf;
|
private PictureBox picturePerf;
|
||||||
private PictureBox pictureBox1;
|
private PictureBox pictureBox1;
|
||||||
|
|||||||
27
app/Fans.cs
27
app/Fans.cs
@@ -10,6 +10,7 @@ namespace GHelper
|
|||||||
DataPoint curPoint = null;
|
DataPoint curPoint = null;
|
||||||
Series seriesCPU;
|
Series seriesCPU;
|
||||||
Series seriesGPU;
|
Series seriesGPU;
|
||||||
|
Series seriesMid;
|
||||||
|
|
||||||
static int MinRPM, MaxRPM;
|
static int MinRPM, MaxRPM;
|
||||||
|
|
||||||
@@ -27,6 +28,8 @@ namespace GHelper
|
|||||||
|
|
||||||
if (device == 1)
|
if (device == 1)
|
||||||
title = "GPU Fan Profile";
|
title = "GPU Fan Profile";
|
||||||
|
else if (device == 2)
|
||||||
|
title = "Middle Fan Profile";
|
||||||
else
|
else
|
||||||
title = "CPU Fan Profile";
|
title = "CPU Fan Profile";
|
||||||
|
|
||||||
@@ -97,9 +100,11 @@ namespace GHelper
|
|||||||
|
|
||||||
seriesCPU = chartCPU.Series.Add("CPU");
|
seriesCPU = chartCPU.Series.Add("CPU");
|
||||||
seriesGPU = chartGPU.Series.Add("GPU");
|
seriesGPU = chartGPU.Series.Add("GPU");
|
||||||
|
seriesMid = chartMid.Series.Add("Mid");
|
||||||
|
|
||||||
seriesCPU.Color = colorStandard;
|
seriesCPU.Color = colorStandard;
|
||||||
seriesGPU.Color = colorTurbo;
|
seriesGPU.Color = colorTurbo;
|
||||||
|
seriesMid.Color = colorEco;
|
||||||
|
|
||||||
chartCPU.MouseMove += ChartCPU_MouseMove;
|
chartCPU.MouseMove += ChartCPU_MouseMove;
|
||||||
chartCPU.MouseUp += ChartCPU_MouseUp;
|
chartCPU.MouseUp += ChartCPU_MouseUp;
|
||||||
@@ -107,6 +112,9 @@ namespace GHelper
|
|||||||
chartGPU.MouseMove += ChartCPU_MouseMove;
|
chartGPU.MouseMove += ChartCPU_MouseMove;
|
||||||
chartGPU.MouseUp += ChartCPU_MouseUp;
|
chartGPU.MouseUp += ChartCPU_MouseUp;
|
||||||
|
|
||||||
|
chartMid.MouseMove += ChartCPU_MouseMove;
|
||||||
|
chartMid.MouseUp += ChartCPU_MouseUp;
|
||||||
|
|
||||||
buttonReset.Click += ButtonReset_Click;
|
buttonReset.Click += ButtonReset_Click;
|
||||||
buttonApply.Click += ButtonApply_Click;
|
buttonApply.Click += ButtonApply_Click;
|
||||||
|
|
||||||
@@ -264,6 +272,21 @@ namespace GHelper
|
|||||||
public void InitFans()
|
public void InitFans()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
byte[] curve = Program.wmi.GetFanCurve(2);
|
||||||
|
|
||||||
|
if (curve.All(singleByte => singleByte == 0))
|
||||||
|
{
|
||||||
|
Program.config.setConfig("mid_fan", 0);
|
||||||
|
chartMid.Visible = false;
|
||||||
|
|
||||||
|
} else
|
||||||
|
{
|
||||||
|
Program.config.setConfig("mid_fan", 1);
|
||||||
|
SetChart(chartMid, 2);
|
||||||
|
LoadProfile(seriesMid, 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
SetChart(chartCPU, 0);
|
SetChart(chartCPU, 0);
|
||||||
SetChart(chartGPU, 1);
|
SetChart(chartGPU, 1);
|
||||||
|
|
||||||
@@ -328,6 +351,8 @@ namespace GHelper
|
|||||||
{
|
{
|
||||||
ApplyProfile(seriesCPU, 0);
|
ApplyProfile(seriesCPU, 0);
|
||||||
ApplyProfile(seriesGPU, 1);
|
ApplyProfile(seriesGPU, 1);
|
||||||
|
if (Program.config.getConfig("mid_fan") == 1)
|
||||||
|
ApplyProfile(seriesMid, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ButtonReset_Click(object? sender, EventArgs e)
|
private void ButtonReset_Click(object? sender, EventArgs e)
|
||||||
@@ -335,6 +360,8 @@ namespace GHelper
|
|||||||
|
|
||||||
LoadProfile(seriesCPU, 0, 1);
|
LoadProfile(seriesCPU, 0, 1);
|
||||||
LoadProfile(seriesGPU, 1, 1);
|
LoadProfile(seriesGPU, 1, 1);
|
||||||
|
if (Program.config.getConfig("mid_fan") == 1)
|
||||||
|
LoadProfile(seriesMid, 2, 1);
|
||||||
|
|
||||||
checkAuto.Checked = false;
|
checkAuto.Checked = false;
|
||||||
checkApplyPower.Checked = false;
|
checkApplyPower.Checked = false;
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
<PlatformTarget>x64</PlatformTarget>
|
<PlatformTarget>x64</PlatformTarget>
|
||||||
<ProduceReferenceAssembly>False</ProduceReferenceAssembly>
|
<ProduceReferenceAssembly>False</ProduceReferenceAssembly>
|
||||||
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
|
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
|
||||||
<AssemblyVersion>0.33</AssemblyVersion>
|
<AssemblyVersion>0.35</AssemblyVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -852,6 +852,9 @@ namespace GHelper
|
|||||||
{
|
{
|
||||||
Program.wmi.SetFanCurve(0, Program.config.getFanConfig(0));
|
Program.wmi.SetFanCurve(0, Program.config.getFanConfig(0));
|
||||||
Program.wmi.SetFanCurve(1, Program.config.getFanConfig(1));
|
Program.wmi.SetFanCurve(1, Program.config.getFanConfig(1));
|
||||||
|
|
||||||
|
if (Program.config.getConfig("mid_fan") == 1)
|
||||||
|
Program.wmi.SetFanCurve(2, Program.config.getFanConfig(2));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Program.config.getConfigPerf("auto_apply_power") == 1)
|
if (Program.config.getConfigPerf("auto_apply_power") == 1)
|
||||||
|
|||||||
Reference in New Issue
Block a user