Compare commits

..

6 Commits

10 changed files with 339 additions and 317 deletions

View File

@@ -344,6 +344,11 @@ public static class AppConfig
return ContainsModel("TUF"); return ContainsModel("TUF");
} }
public static bool IsProArt()
{
return ContainsModel("ProArt");
}
public static bool IsVivobook() public static bool IsVivobook()
{ {
return ContainsModel("Vivobook"); return ContainsModel("Vivobook");
@@ -384,7 +389,7 @@ public static class AppConfig
public static bool IsNoDirectRGB() public static bool IsNoDirectRGB()
{ {
return ContainsModel("GA503"); return ContainsModel("GA503") || ContainsModel("G533Q");
} }
public static bool IsStrixNumpad() public static bool IsStrixNumpad()

View File

@@ -83,10 +83,10 @@ public class AsusACPI
public const int Temp_CPU = 0x00120094; public const int Temp_CPU = 0x00120094;
public const int Temp_GPU = 0x00120097; public const int Temp_GPU = 0x00120097;
public const int PPT_TotalA0 = 0x001200A0; // SPL (Total limit for all-AMD models) / PL1 public const int PPT_APUA0 = 0x001200A0; // sPPT (slow boost limit) / PL2
public const int PPT_EDCA1 = 0x001200A1; // CPU EDC public const int PPT_EDCA1 = 0x001200A1; // CPU EDC
public const int PPT_TDCA2 = 0x001200A2; // CPU TDC public const int PPT_TDCA2 = 0x001200A2; // CPU TDC
public const int PPT_APUA3 = 0x001200A3; // sPPT (long boost limit) / PL2 public const int PPT_APUA3 = 0x001200A3; // SPL (sustained limit) / PL1
public const int PPT_CPUB0 = 0x001200B0; // CPU PPT on 2022 (PPT_LIMIT_APU) public const int PPT_CPUB0 = 0x001200B0; // CPU PPT on 2022 (PPT_LIMIT_APU)
public const int PPT_CPUB1 = 0x001200B1; // Total PPT on 2022 (PPT_LIMIT_SLOW) public const int PPT_CPUB1 = 0x001200B1; // Total PPT on 2022 (PPT_LIMIT_SLOW)

504
app/Fans.Designer.cs generated
View File

@@ -31,14 +31,14 @@ namespace GHelper
/// </summary> /// </summary>
private void InitializeComponent() private void InitializeComponent()
{ {
ChartArea chartArea17 = new ChartArea(); ChartArea chartArea5 = new ChartArea();
Title title17 = new Title(); Title title5 = new Title();
ChartArea chartArea18 = new ChartArea(); ChartArea chartArea6 = new ChartArea();
Title title18 = new Title(); Title title6 = new Title();
ChartArea chartArea19 = new ChartArea(); ChartArea chartArea7 = new ChartArea();
Title title19 = new Title(); Title title7 = new Title();
ChartArea chartArea20 = new ChartArea(); ChartArea chartArea8 = new ChartArea();
Title title20 = new Title(); Title title8 = new Title();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Fans)); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Fans));
panelFans = new Panel(); panelFans = new Panel();
labelTip = new Label(); labelTip = new Label();
@@ -88,18 +88,22 @@ namespace GHelper
panelPower = new Panel(); panelPower = new Panel();
panelApplyPower = new Panel(); panelApplyPower = new Panel();
checkApplyPower = new RCheckBox(); checkApplyPower = new RCheckBox();
panelB0 = new Panel(); panelCPU = new Panel();
labelB0 = new Label(); labelCPU = new Label();
labelLeftB0 = new Label(); labelLeftCPU = new Label();
trackB0 = new TrackBar(); trackCPU = new TrackBar();
panelC1 = new Panel(); panelFast = new Panel();
labelC1 = new Label(); labelFast = new Label();
labelLeftC1 = new Label(); labelLeftFast = new Label();
trackC1 = new TrackBar(); trackFast = new TrackBar();
panelA0 = new Panel(); panelSlow = new Panel();
labelA0 = new Label(); labelSlow = new Label();
labelLeftA0 = new Label(); labelLeftSlow = new Label();
trackA0 = new TrackBar(); trackSlow = new TrackBar();
panelTotal = new Panel();
labelTotal = new Label();
labelLeftTotal = new Label();
trackTotal = new TrackBar();
panelTitleCPU = new Panel(); panelTitleCPU = new Panel();
pictureBoxCPU = new PictureBox(); pictureBoxCPU = new PictureBox();
labelPowerLimits = new Label(); labelPowerLimits = new Label();
@@ -141,10 +145,6 @@ namespace GHelper
buttonAdvanced = new RButton(); buttonAdvanced = new RButton();
buttonGPU = new RButton(); buttonGPU = new RButton();
buttonCPU = new RButton(); buttonCPU = new RButton();
panelA3 = new Panel();
labelA3 = new Label();
labelLeftA3 = new Label();
trackA3 = new TrackBar();
panelFans.SuspendLayout(); panelFans.SuspendLayout();
tableFanCharts.SuspendLayout(); tableFanCharts.SuspendLayout();
((System.ComponentModel.ISupportInitialize)chartGPU).BeginInit(); ((System.ComponentModel.ISupportInitialize)chartGPU).BeginInit();
@@ -170,12 +170,14 @@ namespace GHelper
((System.ComponentModel.ISupportInitialize)pictureTemp).BeginInit(); ((System.ComponentModel.ISupportInitialize)pictureTemp).BeginInit();
panelPower.SuspendLayout(); panelPower.SuspendLayout();
panelApplyPower.SuspendLayout(); panelApplyPower.SuspendLayout();
panelB0.SuspendLayout(); panelCPU.SuspendLayout();
((System.ComponentModel.ISupportInitialize)trackB0).BeginInit(); ((System.ComponentModel.ISupportInitialize)trackCPU).BeginInit();
panelC1.SuspendLayout(); panelFast.SuspendLayout();
((System.ComponentModel.ISupportInitialize)trackC1).BeginInit(); ((System.ComponentModel.ISupportInitialize)trackFast).BeginInit();
panelA0.SuspendLayout(); panelSlow.SuspendLayout();
((System.ComponentModel.ISupportInitialize)trackA0).BeginInit(); ((System.ComponentModel.ISupportInitialize)trackSlow).BeginInit();
panelTotal.SuspendLayout();
((System.ComponentModel.ISupportInitialize)trackTotal).BeginInit();
panelTitleCPU.SuspendLayout(); panelTitleCPU.SuspendLayout();
((System.ComponentModel.ISupportInitialize)pictureBoxCPU).BeginInit(); ((System.ComponentModel.ISupportInitialize)pictureBoxCPU).BeginInit();
panelBoost.SuspendLayout(); panelBoost.SuspendLayout();
@@ -199,8 +201,6 @@ namespace GHelper
((System.ComponentModel.ISupportInitialize)pictureGPU).BeginInit(); ((System.ComponentModel.ISupportInitialize)pictureGPU).BeginInit();
panelNav.SuspendLayout(); panelNav.SuspendLayout();
tableNav.SuspendLayout(); tableNav.SuspendLayout();
panelA3.SuspendLayout();
((System.ComponentModel.ISupportInitialize)trackA3).BeginInit();
SuspendLayout(); SuspendLayout();
// //
// panelFans // panelFans
@@ -257,8 +257,8 @@ namespace GHelper
// //
// chartGPU // chartGPU
// //
chartArea17.Name = "ChartArea1"; chartArea5.Name = "ChartArea1";
chartGPU.ChartAreas.Add(chartArea17); chartGPU.ChartAreas.Add(chartArea5);
chartGPU.Dock = DockStyle.Fill; chartGPU.Dock = DockStyle.Fill;
chartGPU.Location = new Point(12, 493); chartGPU.Location = new Point(12, 493);
chartGPU.Margin = new Padding(2, 10, 2, 10); chartGPU.Margin = new Padding(2, 10, 2, 10);
@@ -266,13 +266,13 @@ namespace GHelper
chartGPU.Size = new Size(782, 463); chartGPU.Size = new Size(782, 463);
chartGPU.TabIndex = 17; chartGPU.TabIndex = 17;
chartGPU.Text = "chartGPU"; chartGPU.Text = "chartGPU";
title17.Name = "Title1"; title5.Name = "Title1";
chartGPU.Titles.Add(title17); chartGPU.Titles.Add(title5);
// //
// chartCPU // chartCPU
// //
chartArea18.Name = "ChartArea1"; chartArea6.Name = "ChartArea1";
chartCPU.ChartAreas.Add(chartArea18); chartCPU.ChartAreas.Add(chartArea6);
chartCPU.Dock = DockStyle.Fill; chartCPU.Dock = DockStyle.Fill;
chartCPU.Location = new Point(12, 10); chartCPU.Location = new Point(12, 10);
chartCPU.Margin = new Padding(2, 10, 2, 10); chartCPU.Margin = new Padding(2, 10, 2, 10);
@@ -280,13 +280,13 @@ namespace GHelper
chartCPU.Size = new Size(782, 463); chartCPU.Size = new Size(782, 463);
chartCPU.TabIndex = 14; chartCPU.TabIndex = 14;
chartCPU.Text = "chartCPU"; chartCPU.Text = "chartCPU";
title18.Name = "Title1"; title6.Name = "Title1";
chartCPU.Titles.Add(title18); chartCPU.Titles.Add(title6);
// //
// chartXGM // chartXGM
// //
chartArea19.Name = "ChartAreaXGM"; chartArea7.Name = "ChartAreaXGM";
chartXGM.ChartAreas.Add(chartArea19); chartXGM.ChartAreas.Add(chartArea7);
chartXGM.Dock = DockStyle.Fill; chartXGM.Dock = DockStyle.Fill;
chartXGM.Location = new Point(12, 1459); chartXGM.Location = new Point(12, 1459);
chartXGM.Margin = new Padding(2, 10, 2, 10); chartXGM.Margin = new Padding(2, 10, 2, 10);
@@ -294,14 +294,14 @@ namespace GHelper
chartXGM.Size = new Size(782, 463); chartXGM.Size = new Size(782, 463);
chartXGM.TabIndex = 14; chartXGM.TabIndex = 14;
chartXGM.Text = "chartXGM"; chartXGM.Text = "chartXGM";
title19.Name = "Title4"; title7.Name = "Title4";
chartXGM.Titles.Add(title19); chartXGM.Titles.Add(title7);
chartXGM.Visible = false; chartXGM.Visible = false;
// //
// chartMid // chartMid
// //
chartArea20.Name = "ChartArea3"; chartArea8.Name = "ChartArea3";
chartMid.ChartAreas.Add(chartArea20); chartMid.ChartAreas.Add(chartArea8);
chartMid.Dock = DockStyle.Fill; chartMid.Dock = DockStyle.Fill;
chartMid.Location = new Point(12, 976); chartMid.Location = new Point(12, 976);
chartMid.Margin = new Padding(2, 10, 2, 10); chartMid.Margin = new Padding(2, 10, 2, 10);
@@ -309,8 +309,8 @@ namespace GHelper
chartMid.Size = new Size(782, 463); chartMid.Size = new Size(782, 463);
chartMid.TabIndex = 14; chartMid.TabIndex = 14;
chartMid.Text = "chartMid"; chartMid.Text = "chartMid";
title20.Name = "Title3"; title8.Name = "Title3";
chartMid.Titles.Add(title20); chartMid.Titles.Add(title8);
chartMid.Visible = false; chartMid.Visible = false;
// //
// panelTitleFans // panelTitleFans
@@ -818,10 +818,10 @@ namespace GHelper
panelPower.AutoSize = true; panelPower.AutoSize = true;
panelPower.AutoSizeMode = AutoSizeMode.GrowAndShrink; panelPower.AutoSizeMode = AutoSizeMode.GrowAndShrink;
panelPower.Controls.Add(panelApplyPower); panelPower.Controls.Add(panelApplyPower);
panelPower.Controls.Add(panelB0); panelPower.Controls.Add(panelCPU);
panelPower.Controls.Add(panelC1); panelPower.Controls.Add(panelFast);
panelPower.Controls.Add(panelA3); panelPower.Controls.Add(panelSlow);
panelPower.Controls.Add(panelA0); panelPower.Controls.Add(panelTotal);
panelPower.Controls.Add(panelTitleCPU); panelPower.Controls.Add(panelTitleCPU);
panelPower.Controls.Add(panelBoost); panelPower.Controls.Add(panelBoost);
panelPower.Controls.Add(panelBoostTitle); panelPower.Controls.Add(panelBoostTitle);
@@ -858,152 +858,201 @@ namespace GHelper
checkApplyPower.Text = "Apply Power Limits"; checkApplyPower.Text = "Apply Power Limits";
checkApplyPower.UseVisualStyleBackColor = false; checkApplyPower.UseVisualStyleBackColor = false;
// //
// panelB0 // panelCPU
// //
panelB0.AutoSize = true; panelCPU.AutoSize = true;
panelB0.AutoSizeMode = AutoSizeMode.GrowAndShrink; panelCPU.AutoSizeMode = AutoSizeMode.GrowAndShrink;
panelB0.Controls.Add(labelB0); panelCPU.Controls.Add(labelCPU);
panelB0.Controls.Add(labelLeftB0); panelCPU.Controls.Add(labelLeftCPU);
panelB0.Controls.Add(trackB0); panelCPU.Controls.Add(trackCPU);
panelB0.Dock = DockStyle.Top; panelCPU.Dock = DockStyle.Top;
panelB0.Location = new Point(0, 680); panelCPU.Location = new Point(0, 680);
panelB0.Margin = new Padding(4); panelCPU.Margin = new Padding(4);
panelB0.MaximumSize = new Size(0, 124); panelCPU.MaximumSize = new Size(0, 124);
panelB0.Name = "panelB0"; panelCPU.Name = "panelCPU";
panelB0.Size = new Size(520, 124); panelCPU.Size = new Size(520, 124);
panelB0.TabIndex = 41; panelCPU.TabIndex = 41;
// //
// labelB0 // labelCPU
// //
labelB0.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point); labelCPU.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
labelB0.Location = new Point(398, 8); labelCPU.Location = new Point(398, 8);
labelB0.Margin = new Padding(4, 0, 4, 0); labelCPU.Margin = new Padding(4, 0, 4, 0);
labelB0.Name = "labelB0"; labelCPU.Name = "labelCPU";
labelB0.Size = new Size(116, 32); labelCPU.Size = new Size(116, 32);
labelB0.TabIndex = 13; labelCPU.TabIndex = 13;
labelB0.Text = "CPU"; labelCPU.Text = "CPU";
labelB0.TextAlign = ContentAlignment.TopRight; labelCPU.TextAlign = ContentAlignment.TopRight;
// //
// labelLeftB0 // labelLeftCPU
// //
labelLeftB0.AutoSize = true; labelLeftCPU.AutoSize = true;
labelLeftB0.Location = new Point(10, 8); labelLeftCPU.Location = new Point(10, 8);
labelLeftB0.Margin = new Padding(4, 0, 4, 0); labelLeftCPU.Margin = new Padding(4, 0, 4, 0);
labelLeftB0.Name = "labelLeftB0"; labelLeftCPU.Name = "labelLeftCPU";
labelLeftB0.Size = new Size(58, 32); labelLeftCPU.Size = new Size(58, 32);
labelLeftB0.TabIndex = 12; labelLeftCPU.TabIndex = 12;
labelLeftB0.Text = "CPU"; labelLeftCPU.Text = "CPU";
// //
// trackB0 // trackCPU
// //
trackB0.Location = new Point(6, 44); trackCPU.Location = new Point(6, 44);
trackB0.Margin = new Padding(4, 2, 4, 2); trackCPU.Margin = new Padding(4, 2, 4, 2);
trackB0.Maximum = 85; trackCPU.Maximum = 85;
trackB0.Minimum = 5; trackCPU.Minimum = 5;
trackB0.Name = "trackB0"; trackCPU.Name = "trackCPU";
trackB0.Size = new Size(508, 90); trackCPU.Size = new Size(508, 90);
trackB0.TabIndex = 11; trackCPU.TabIndex = 11;
trackB0.TickFrequency = 5; trackCPU.TickFrequency = 5;
trackB0.TickStyle = TickStyle.TopLeft; trackCPU.TickStyle = TickStyle.TopLeft;
trackB0.Value = 80; trackCPU.Value = 80;
// //
// panelC1 // panelFast
// //
panelC1.AutoSize = true; panelFast.AutoSize = true;
panelC1.AutoSizeMode = AutoSizeMode.GrowAndShrink; panelFast.AutoSizeMode = AutoSizeMode.GrowAndShrink;
panelC1.Controls.Add(labelC1); panelFast.Controls.Add(labelFast);
panelC1.Controls.Add(labelLeftC1); panelFast.Controls.Add(labelLeftFast);
panelC1.Controls.Add(trackC1); panelFast.Controls.Add(trackFast);
panelC1.Dock = DockStyle.Top; panelFast.Dock = DockStyle.Top;
panelC1.Location = new Point(0, 556); panelFast.Location = new Point(0, 556);
panelC1.Margin = new Padding(4); panelFast.Margin = new Padding(4);
panelC1.MaximumSize = new Size(0, 124); panelFast.MaximumSize = new Size(0, 124);
panelC1.Name = "panelC1"; panelFast.Name = "panelFast";
panelC1.Size = new Size(520, 124); panelFast.Size = new Size(520, 124);
panelC1.TabIndex = 45; panelFast.TabIndex = 45;
// //
// labelC1 // labelFast
// //
labelC1.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point); labelFast.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
labelC1.Location = new Point(396, 8); labelFast.Location = new Point(396, 8);
labelC1.Margin = new Padding(4, 0, 4, 0); labelFast.Margin = new Padding(4, 0, 4, 0);
labelC1.Name = "labelC1"; labelFast.Name = "labelFast";
labelC1.Size = new Size(114, 32); labelFast.Size = new Size(114, 32);
labelC1.TabIndex = 13; labelFast.TabIndex = 13;
labelC1.Text = "FPPT"; labelFast.Text = "FPPT";
labelC1.TextAlign = ContentAlignment.TopRight; labelFast.TextAlign = ContentAlignment.TopRight;
// //
// labelLeftC1 // labelLeftFast
// //
labelLeftC1.AutoSize = true; labelLeftFast.AutoSize = true;
labelLeftC1.Location = new Point(10, 8); labelLeftFast.Location = new Point(10, 8);
labelLeftC1.Margin = new Padding(4, 0, 4, 0); labelLeftFast.Margin = new Padding(4, 0, 4, 0);
labelLeftC1.Name = "labelLeftC1"; labelLeftFast.Name = "labelLeftFast";
labelLeftC1.Size = new Size(65, 32); labelLeftFast.Size = new Size(65, 32);
labelLeftC1.TabIndex = 12; labelLeftFast.TabIndex = 12;
labelLeftC1.Text = "FPPT"; labelLeftFast.Text = "FPPT";
// //
// trackC1 // trackFast
// //
trackC1.Location = new Point(6, 48); trackFast.Location = new Point(6, 48);
trackC1.Margin = new Padding(4, 2, 4, 2); trackFast.Margin = new Padding(4, 2, 4, 2);
trackC1.Maximum = 85; trackFast.Maximum = 85;
trackC1.Minimum = 5; trackFast.Minimum = 5;
trackC1.Name = "trackC1"; trackFast.Name = "trackFast";
trackC1.Size = new Size(508, 90); trackFast.Size = new Size(508, 90);
trackC1.TabIndex = 11; trackFast.TabIndex = 11;
trackC1.TickFrequency = 5; trackFast.TickFrequency = 5;
trackC1.TickStyle = TickStyle.TopLeft; trackFast.TickStyle = TickStyle.TopLeft;
trackC1.Value = 80; trackFast.Value = 80;
// //
// panelA0 // panelSlow
// //
panelA0.AutoSize = true; panelSlow.AutoSize = true;
panelA0.AutoSizeMode = AutoSizeMode.GrowAndShrink; panelSlow.AutoSizeMode = AutoSizeMode.GrowAndShrink;
panelA0.Controls.Add(labelA0); panelSlow.Controls.Add(labelSlow);
panelA0.Controls.Add(labelLeftA0); panelSlow.Controls.Add(labelLeftSlow);
panelA0.Controls.Add(trackA0); panelSlow.Controls.Add(trackSlow);
panelA0.Dock = DockStyle.Top; panelSlow.Dock = DockStyle.Top;
panelA0.Location = new Point(0, 308); panelSlow.Location = new Point(0, 432);
panelA0.Margin = new Padding(4); panelSlow.Margin = new Padding(4);
panelA0.MaximumSize = new Size(0, 124); panelSlow.MaximumSize = new Size(0, 124);
panelA0.Name = "panelA0"; panelSlow.Name = "panelSlow";
panelA0.Size = new Size(520, 124); panelSlow.Size = new Size(520, 124);
panelA0.TabIndex = 40; panelSlow.TabIndex = 51;
// //
// labelA0 // labelSlow
// //
labelA0.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point); labelSlow.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
labelA0.Location = new Point(396, 10); labelSlow.Location = new Point(396, 10);
labelA0.Margin = new Padding(4, 0, 4, 0); labelSlow.Margin = new Padding(4, 0, 4, 0);
labelA0.Name = "labelA0"; labelSlow.Name = "labelSlow";
labelA0.Size = new Size(116, 32); labelSlow.Size = new Size(116, 32);
labelA0.TabIndex = 12; labelSlow.TabIndex = 12;
labelA0.Text = "SPL"; labelSlow.Text = "SPPT";
labelA0.TextAlign = ContentAlignment.TopRight; labelSlow.TextAlign = ContentAlignment.TopRight;
// //
// labelLeftA0 // labelLeftSlow
// //
labelLeftA0.AutoSize = true; labelLeftSlow.AutoSize = true;
labelLeftA0.Location = new Point(10, 10); labelLeftSlow.Location = new Point(10, 10);
labelLeftA0.Margin = new Padding(4, 0, 4, 0); labelLeftSlow.Margin = new Padding(4, 0, 4, 0);
labelLeftA0.Name = "labelLeftA0"; labelLeftSlow.Name = "labelLeftSlow";
labelLeftA0.Size = new Size(51, 32); labelLeftSlow.Size = new Size(66, 32);
labelLeftA0.TabIndex = 11; labelLeftSlow.TabIndex = 11;
labelLeftA0.Text = "SPL"; labelLeftSlow.Text = "SPPT";
// //
// trackA0 // trackSlow
// //
trackA0.Location = new Point(6, 48); trackSlow.Location = new Point(6, 48);
trackA0.Margin = new Padding(4, 2, 4, 2); trackSlow.Margin = new Padding(4, 2, 4, 2);
trackA0.Maximum = 180; trackSlow.Maximum = 180;
trackA0.Minimum = 10; trackSlow.Minimum = 10;
trackA0.Name = "trackA0"; trackSlow.Name = "trackSlow";
trackA0.Size = new Size(508, 90); trackSlow.Size = new Size(508, 90);
trackA0.TabIndex = 10; trackSlow.TabIndex = 10;
trackA0.TickFrequency = 5; trackSlow.TickFrequency = 5;
trackA0.TickStyle = TickStyle.TopLeft; trackSlow.TickStyle = TickStyle.TopLeft;
trackA0.Value = 125; trackSlow.Value = 125;
//
// panelTotal
//
panelTotal.AutoSize = true;
panelTotal.AutoSizeMode = AutoSizeMode.GrowAndShrink;
panelTotal.Controls.Add(labelTotal);
panelTotal.Controls.Add(labelLeftTotal);
panelTotal.Controls.Add(trackTotal);
panelTotal.Dock = DockStyle.Top;
panelTotal.Location = new Point(0, 308);
panelTotal.Margin = new Padding(4);
panelTotal.MaximumSize = new Size(0, 124);
panelTotal.Name = "panelTotal";
panelTotal.Size = new Size(520, 124);
panelTotal.TabIndex = 40;
//
// labelTotal
//
labelTotal.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
labelTotal.Location = new Point(396, 10);
labelTotal.Margin = new Padding(4, 0, 4, 0);
labelTotal.Name = "labelTotal";
labelTotal.Size = new Size(116, 32);
labelTotal.TabIndex = 12;
labelTotal.Text = "SPL";
labelTotal.TextAlign = ContentAlignment.TopRight;
//
// labelLeftTotal
//
labelLeftTotal.AutoSize = true;
labelLeftTotal.Location = new Point(10, 10);
labelLeftTotal.Margin = new Padding(4, 0, 4, 0);
labelLeftTotal.Name = "labelLeftTotal";
labelLeftTotal.Size = new Size(51, 32);
labelLeftTotal.TabIndex = 11;
labelLeftTotal.Text = "SPL";
//
// trackTotal
//
trackTotal.Location = new Point(6, 48);
trackTotal.Margin = new Padding(4, 2, 4, 2);
trackTotal.Maximum = 180;
trackTotal.Minimum = 10;
trackTotal.Name = "trackTotal";
trackTotal.Size = new Size(508, 90);
trackTotal.TabIndex = 10;
trackTotal.TickFrequency = 5;
trackTotal.TickStyle = TickStyle.TopLeft;
trackTotal.Value = 125;
// //
// panelTitleCPU // panelTitleCPU
// //
@@ -1534,55 +1583,6 @@ namespace GHelper
buttonCPU.TextImageRelation = TextImageRelation.ImageBeforeText; buttonCPU.TextImageRelation = TextImageRelation.ImageBeforeText;
buttonCPU.UseVisualStyleBackColor = false; buttonCPU.UseVisualStyleBackColor = false;
// //
// panelA3
//
panelA3.AutoSize = true;
panelA3.AutoSizeMode = AutoSizeMode.GrowAndShrink;
panelA3.Controls.Add(labelA3);
panelA3.Controls.Add(labelLeftA3);
panelA3.Controls.Add(trackA3);
panelA3.Dock = DockStyle.Top;
panelA3.Location = new Point(0, 432);
panelA3.Margin = new Padding(4);
panelA3.MaximumSize = new Size(0, 124);
panelA3.Name = "panelA3";
panelA3.Size = new Size(520, 124);
panelA3.TabIndex = 51;
//
// labelA3
//
labelA3.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
labelA3.Location = new Point(396, 10);
labelA3.Margin = new Padding(4, 0, 4, 0);
labelA3.Name = "labelA3";
labelA3.Size = new Size(116, 32);
labelA3.TabIndex = 12;
labelA3.Text = "SPPT";
labelA3.TextAlign = ContentAlignment.TopRight;
//
// labelLeftA3
//
labelLeftA3.AutoSize = true;
labelLeftA3.Location = new Point(10, 10);
labelLeftA3.Margin = new Padding(4, 0, 4, 0);
labelLeftA3.Name = "labelLeftA3";
labelLeftA3.Size = new Size(66, 32);
labelLeftA3.TabIndex = 11;
labelLeftA3.Text = "SPPT";
//
// trackA3
//
trackA3.Location = new Point(6, 48);
trackA3.Margin = new Padding(4, 2, 4, 2);
trackA3.Maximum = 180;
trackA3.Minimum = 10;
trackA3.Name = "trackA3";
trackA3.Size = new Size(508, 90);
trackA3.TabIndex = 10;
trackA3.TickFrequency = 5;
trackA3.TickStyle = TickStyle.TopLeft;
trackA3.Value = 125;
//
// Fans // Fans
// //
AutoScaleDimensions = new SizeF(192F, 192F); AutoScaleDimensions = new SizeF(192F, 192F);
@@ -1637,15 +1637,18 @@ namespace GHelper
panelPower.ResumeLayout(false); panelPower.ResumeLayout(false);
panelPower.PerformLayout(); panelPower.PerformLayout();
panelApplyPower.ResumeLayout(false); panelApplyPower.ResumeLayout(false);
panelB0.ResumeLayout(false); panelCPU.ResumeLayout(false);
panelB0.PerformLayout(); panelCPU.PerformLayout();
((System.ComponentModel.ISupportInitialize)trackB0).EndInit(); ((System.ComponentModel.ISupportInitialize)trackCPU).EndInit();
panelC1.ResumeLayout(false); panelFast.ResumeLayout(false);
panelC1.PerformLayout(); panelFast.PerformLayout();
((System.ComponentModel.ISupportInitialize)trackC1).EndInit(); ((System.ComponentModel.ISupportInitialize)trackFast).EndInit();
panelA0.ResumeLayout(false); panelSlow.ResumeLayout(false);
panelA0.PerformLayout(); panelSlow.PerformLayout();
((System.ComponentModel.ISupportInitialize)trackA0).EndInit(); ((System.ComponentModel.ISupportInitialize)trackSlow).EndInit();
panelTotal.ResumeLayout(false);
panelTotal.PerformLayout();
((System.ComponentModel.ISupportInitialize)trackTotal).EndInit();
panelTitleCPU.ResumeLayout(false); panelTitleCPU.ResumeLayout(false);
panelTitleCPU.PerformLayout(); panelTitleCPU.PerformLayout();
((System.ComponentModel.ISupportInitialize)pictureBoxCPU).EndInit(); ((System.ComponentModel.ISupportInitialize)pictureBoxCPU).EndInit();
@@ -1679,9 +1682,6 @@ namespace GHelper
((System.ComponentModel.ISupportInitialize)pictureGPU).EndInit(); ((System.ComponentModel.ISupportInitialize)pictureGPU).EndInit();
panelNav.ResumeLayout(false); panelNav.ResumeLayout(false);
tableNav.ResumeLayout(false); tableNav.ResumeLayout(false);
panelA3.ResumeLayout(false);
panelA3.PerformLayout();
((System.ComponentModel.ISupportInitialize)trackA3).EndInit();
ResumeLayout(false); ResumeLayout(false);
PerformLayout(); PerformLayout();
} }
@@ -1696,14 +1696,14 @@ namespace GHelper
private Chart chartXGM; private Chart chartXGM;
private Label labelTip; private Label labelTip;
private Panel panelPower; private Panel panelPower;
private Panel panelB0; private Panel panelCPU;
private Label labelB0; private Label labelCPU;
private Label labelLeftB0; private Label labelLeftCPU;
private TrackBar trackB0; private TrackBar trackCPU;
private Panel panelA0; private Panel panelTotal;
private Label labelA0; private Label labelTotal;
private Label labelLeftA0; private Label labelLeftTotal;
private TrackBar trackA0; private TrackBar trackTotal;
private Panel panelTitleCPU; private Panel panelTitleCPU;
private PictureBox pictureBoxCPU; private PictureBox pictureBoxCPU;
private Label labelPowerLimits; private Label labelPowerLimits;
@@ -1737,10 +1737,10 @@ namespace GHelper
private RComboBox comboBoost; private RComboBox comboBoost;
private PictureBox picturePerf; private PictureBox picturePerf;
private Label labelFans; private Label labelFans;
private Panel panelC1; private Panel panelFast;
private Label labelC1; private Label labelFast;
private Label labelLeftC1; private Label labelLeftFast;
private TrackBar trackC1; private TrackBar trackFast;
private Panel panelBoost; private Panel panelBoost;
private RComboBox comboModes; private RComboBox comboModes;
private RButton buttonAdd; private RButton buttonAdd;
@@ -1789,9 +1789,9 @@ namespace GHelper
private TrackBar trackGPUClockLimit; private TrackBar trackGPUClockLimit;
private Label labelGPUClockLimitTitle; private Label labelGPUClockLimitTitle;
private RButton buttonCalibrate; private RButton buttonCalibrate;
private Panel panelA3; private Panel panelSlow;
private Label labelA3; private Label labelSlow;
private Label labelLeftA3; private Label labelLeftSlow;
private TrackBar trackA3; private TrackBar trackSlow;
} }
} }

View File

@@ -5,6 +5,7 @@ using GHelper.UI;
using GHelper.USB; using GHelper.USB;
using Ryzen; using Ryzen;
using System.Diagnostics; using System.Diagnostics;
using System.Management;
using System.Windows.Forms.DataVisualization.Charting; using System.Windows.Forms.DataVisualization.Charting;
namespace GHelper namespace GHelper
@@ -103,27 +104,27 @@ namespace GHelper
buttonReset.Click += ButtonReset_Click; buttonReset.Click += ButtonReset_Click;
trackA0.Maximum = AsusACPI.MaxTotal; trackTotal.Maximum = AsusACPI.MaxTotal;
trackA0.Minimum = AsusACPI.MinTotal; trackTotal.Minimum = AsusACPI.MinTotal;
trackA3.Maximum = AsusACPI.MaxTotal; trackSlow.Maximum = AsusACPI.MaxTotal;
trackA3.Minimum = AsusACPI.MinTotal; trackSlow.Minimum = AsusACPI.MinTotal;
trackB0.Maximum = AsusACPI.MaxCPU; trackCPU.Maximum = AsusACPI.MaxCPU;
trackB0.Minimum = AsusACPI.MinCPU; trackCPU.Minimum = AsusACPI.MinCPU;
trackC1.Maximum = AsusACPI.MaxTotal; trackFast.Maximum = AsusACPI.MaxTotal;
trackC1.Minimum = AsusACPI.MinTotal; trackFast.Minimum = AsusACPI.MinTotal;
trackC1.Scroll += TrackPower_Scroll; trackFast.Scroll += TrackPower_Scroll;
trackB0.Scroll += TrackPower_Scroll; trackCPU.Scroll += TrackPower_Scroll;
trackA0.Scroll += TrackPower_Scroll; trackTotal.Scroll += TrackPower_Scroll;
trackA3.Scroll += TrackPower_Scroll; trackSlow.Scroll += TrackPower_Scroll;
trackC1.MouseUp += TrackPower_MouseUp; trackFast.MouseUp += TrackPower_MouseUp;
trackB0.MouseUp += TrackPower_MouseUp; trackCPU.MouseUp += TrackPower_MouseUp;
trackA0.MouseUp += TrackPower_MouseUp; trackTotal.MouseUp += TrackPower_MouseUp;
trackA3.MouseUp += TrackPower_MouseUp; trackSlow.MouseUp += TrackPower_MouseUp;
checkApplyFans.Click += CheckApplyFans_Click; checkApplyFans.Click += CheckApplyFans_Click;
checkApplyPower.Click += CheckApplyPower_Click; checkApplyPower.Click += CheckApplyPower_Click;
@@ -177,6 +178,7 @@ namespace GHelper
FillModes(); FillModes();
InitAll(); InitAll();
InitCPU();
comboBoost.SelectedValueChanged += ComboBoost_Changed; comboBoost.SelectedValueChanged += ComboBoost_Changed;
comboPowerMode.SelectedValueChanged += ComboPowerMode_Changed; comboPowerMode.SelectedValueChanged += ComboPowerMode_Changed;
@@ -267,6 +269,23 @@ namespace GHelper
InitGPU(); InitGPU();
} }
public void InitCPU()
{
Task.Run(async () =>
{
string CPUName;
using (ManagementObjectSearcher myProcessorObject = new ManagementObjectSearcher("select * from Win32_Processor"))
foreach (ManagementObject obj in myProcessorObject.Get())
{
CPUName = obj["Name"].ToString();
Invoke(delegate
{
Text = Properties.Strings.FansAndPower + " - " + CPUName;
});
}
});
}
public void ToggleNavigation(int index = 0) public void ToggleNavigation(int index = 0)
{ {
@@ -789,42 +808,41 @@ namespace GHelper
public void InitPower(bool changed = false) public void InitPower(bool changed = false)
{ {
bool modeA0 = (Program.acpi.DeviceGet(AsusACPI.PPT_TotalA0) >= 0 || RyzenControl.IsAMD()); bool modeA = Program.acpi.DeviceGet(AsusACPI.PPT_APUA0) >= 0 || RyzenControl.IsAMD();
bool modeA3 = Program.acpi.DeviceGet(AsusACPI.PPT_APUA3) >= 0;
bool modeB0 = Program.acpi.IsAllAmdPPT(); bool modeB0 = Program.acpi.IsAllAmdPPT();
bool modeC1 = Program.acpi.DeviceGet(AsusACPI.PPT_APUC1) >= 0; bool modeC1 = Program.acpi.DeviceGet(AsusACPI.PPT_APUC1) >= 0;
panelA0.Visible = modeA0; panelTotal.Visible = modeA;
panelB0.Visible = modeB0; panelCPU.Visible = modeB0;
panelApplyPower.Visible = panelTitleCPU.Visible = modeA0 || modeB0 || modeC1; panelApplyPower.Visible = panelTitleCPU.Visible = modeA || modeB0 || modeC1;
// All AMD version has B0 but doesn't have C0 (Nvidia GPU) settings // All AMD version has B0 but doesn't have C0 (Nvidia GPU) settings
if (modeB0) if (modeB0)
{ {
labelLeftA0.Text = "Platform (CPU + GPU)"; labelLeftTotal.Text = "Platform (CPU + GPU)";
labelLeftB0.Text = "CPU"; labelLeftCPU.Text = "CPU";
panelC1.Visible = false; panelFast.Visible = false;
panelA3.Visible = false; panelSlow.Visible = false;
} }
else else
{ {
panelA3.Visible = modeA3; panelSlow.Visible = true;
if (RyzenControl.IsAMD()) if (RyzenControl.IsAMD())
{ {
labelLeftA0.Text = "CPU Sustained (SPL)"; labelLeftTotal.Text = "CPU Sustained (SPL)";
labelLeftA3.Text = "CPU Slow (sPPT)"; labelLeftSlow.Text = "CPU Slow (sPPT)";
labelLeftC1.Text = "CPU Fast (fPPT)"; labelLeftFast.Text = "CPU Fast (fPPT)";
panelC1.Visible = modeC1; panelFast.Visible = modeC1;
} }
else else
{ {
labelLeftA0.Text = "CPU Slow (PL1)"; labelLeftTotal.Text = "CPU Slow (PL1)";
labelLeftA3.Text = "CPU Fast (PL2)"; labelLeftSlow.Text = "CPU Fast (PL2)";
panelC1.Visible = false; panelFast.Visible = false;
} }
} }
@@ -838,10 +856,10 @@ namespace GHelper
if (changed) if (changed)
{ {
limit_total = trackA0.Value; limit_total = trackTotal.Value;
limit_slow = trackA3.Value; limit_slow = trackSlow.Value;
limit_cpu = trackB0.Value; limit_cpu = trackCPU.Value;
limit_fast = trackC1.Value; limit_fast = trackFast.Value;
} }
else else
{ {
@@ -868,17 +886,17 @@ namespace GHelper
if (limit_fast > AsusACPI.MaxTotal) limit_fast = AsusACPI.MaxTotal; if (limit_fast > AsusACPI.MaxTotal) limit_fast = AsusACPI.MaxTotal;
if (limit_fast < AsusACPI.MinTotal) limit_fast = AsusACPI.MinTotal; if (limit_fast < AsusACPI.MinTotal) limit_fast = AsusACPI.MinTotal;
trackA0.Value = limit_total; trackTotal.Value = limit_total;
trackA3.Value = limit_slow; trackSlow.Value = limit_slow;
trackB0.Value = limit_cpu; trackCPU.Value = limit_cpu;
trackC1.Value = limit_fast; trackFast.Value = limit_fast;
checkApplyPower.Checked = apply; checkApplyPower.Checked = apply;
labelA0.Text = trackA0.Value.ToString() + "W"; labelTotal.Text = trackTotal.Value.ToString() + "W";
labelA3.Text = trackA3.Value.ToString() + "W"; labelSlow.Text = trackSlow.Value.ToString() + "W";
labelB0.Text = trackB0.Value.ToString() + "W"; labelCPU.Text = trackCPU.Value.ToString() + "W";
labelC1.Text = trackC1.Value.ToString() + "W"; labelFast.Text = trackFast.Value.ToString() + "W";
AppConfig.SetMode("limit_total", limit_total); AppConfig.SetMode("limit_total", limit_total);
AppConfig.SetMode("limit_slow", limit_slow); AppConfig.SetMode("limit_slow", limit_slow);

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.145</AssemblyVersion> <AssemblyVersion>0.146</AssemblyVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">

View File

@@ -171,7 +171,7 @@ namespace GHelper.Mode
Task.Run(async () => Task.Run(async () =>
{ {
await Task.Delay(TimeSpan.FromSeconds(1)); await Task.Delay(TimeSpan.FromSeconds(1));
Program.acpi.DeviceSet(AsusACPI.PPT_TotalA0, 80, "PowerLimit Fix A0"); Program.acpi.DeviceSet(AsusACPI.PPT_APUA0, 80, "PowerLimit Fix A0");
Program.acpi.DeviceSet(AsusACPI.PPT_APUA3, 80, "PowerLimit Fix A3"); Program.acpi.DeviceSet(AsusACPI.PPT_APUA3, 80, "PowerLimit Fix A3");
}); });
} }
@@ -261,10 +261,10 @@ namespace GHelper.Mode
if (limit_slow < AsusACPI.MinTotal) return; if (limit_slow < AsusACPI.MinTotal) return;
// SPL and SPPT // SPL and SPPT
if (Program.acpi.DeviceGet(AsusACPI.PPT_TotalA0) >= 0) if (Program.acpi.DeviceGet(AsusACPI.PPT_APUA0) >= 0)
{ {
Program.acpi.DeviceSet(AsusACPI.PPT_TotalA0, limit_total, "PowerLimit A0"); Program.acpi.DeviceSet(AsusACPI.PPT_APUA3, limit_total, "PowerLimit A3");
Program.acpi.DeviceSet(AsusACPI.PPT_APUA3, limit_slow, "PowerLimit A3"); Program.acpi.DeviceSet(AsusACPI.PPT_APUA0, limit_slow, "PowerLimit A0");
customPower = limit_total; customPower = limit_total;
} }
else if (RyzenControl.IsAMD()) else if (RyzenControl.IsAMD())

View File

@@ -1414,6 +1414,7 @@ namespace GHelper
MinimumSize = new Size(822, 71); MinimumSize = new Size(822, 71);
Name = "SettingsForm"; Name = "SettingsForm";
Padding = new Padding(11); Padding = new Padding(11);
ShowIcon = false;
StartPosition = FormStartPosition.CenterScreen; StartPosition = FormStartPosition.CenterScreen;
Text = "G-Helper"; Text = "G-Helper";
panelMatrix.ResumeLayout(false); panelMatrix.ResumeLayout(false);

View File

@@ -1237,13 +1237,11 @@ namespace GHelper
buttonOptimized.Activated = GPUAuto; buttonOptimized.Activated = GPUAuto;
labelGPU.Text = Properties.Strings.GPUMode + ": " + Properties.Strings.GPUModeEco; labelGPU.Text = Properties.Strings.GPUMode + ": " + Properties.Strings.GPUModeEco;
Program.trayIcon.Icon = Properties.Resources.eco; Program.trayIcon.Icon = Properties.Resources.eco;
IconHelper.SetIcon(this, Properties.Resources.dot_eco);
break; break;
case AsusACPI.GPUModeUltimate: case AsusACPI.GPUModeUltimate:
buttonUltimate.Activated = true; buttonUltimate.Activated = true;
labelGPU.Text = Properties.Strings.GPUMode + ": " + Properties.Strings.GPUModeUltimate; labelGPU.Text = Properties.Strings.GPUMode + ": " + Properties.Strings.GPUModeUltimate;
Program.trayIcon.Icon = Properties.Resources.ultimate; Program.trayIcon.Icon = Properties.Resources.ultimate;
IconHelper.SetIcon(this, Properties.Resources.dot_ultimate);
break; break;
default: default:
buttonOptimized.BorderColor = colorStandard; buttonOptimized.BorderColor = colorStandard;
@@ -1251,7 +1249,6 @@ namespace GHelper
buttonOptimized.Activated = GPUAuto; buttonOptimized.Activated = GPUAuto;
labelGPU.Text = Properties.Strings.GPUMode + ": " + Properties.Strings.GPUModeStandard; labelGPU.Text = Properties.Strings.GPUMode + ": " + Properties.Strings.GPUModeStandard;
Program.trayIcon.Icon = Properties.Resources.standard; Program.trayIcon.Icon = Properties.Resources.standard;
IconHelper.SetIcon(this, Properties.Resources.dot_standard);
break; break;
} }

View File

@@ -76,7 +76,7 @@ namespace GHelper.USB
public static Color Color1 = Color.White; public static Color Color1 = Color.White;
public static Color Color2 = Color.Black; public static Color Color2 = Color.Black;
static bool isACPI = AppConfig.IsTUF() || AppConfig.IsVivobook(); static bool isACPI = AppConfig.IsTUF() || AppConfig.IsVivobook() || AppConfig.IsProArt();
static bool isStrix = AppConfig.IsStrix(); static bool isStrix = AppConfig.IsStrix();
static bool isStrix4Zone = AppConfig.IsStrixLimitedRGB(); static bool isStrix4Zone = AppConfig.IsStrixLimitedRGB();
@@ -527,18 +527,18 @@ namespace GHelper.USB
return; return;
} }
if (isStrix)
{
ApplyDirect(Enumerable.Repeat(color, AURA_ZONES).ToArray(), init);
return;
}
if (AppConfig.IsNoDirectRGB()) if (AppConfig.IsNoDirectRGB())
{ {
AsusHid.Write(new List<byte[]> { AuraMessage(AuraMode.AuraStatic, color, color, 0xeb, isSingleColor), MESSAGE_SET }); AsusHid.Write(new List<byte[]> { AuraMessage(AuraMode.AuraStatic, color, color, 0xeb, isSingleColor), MESSAGE_SET });
return; return;
} }
if (isStrix)
{
ApplyDirect(Enumerable.Repeat(color, AURA_ZONES).ToArray(), init);
return;
}
if (init) if (init)
{ {
//Init(); //Init();

View File

@@ -84,9 +84,9 @@ Each BIOS mode is paired with matching Windows Power Mode. You can adjust this s
### 🔖 Important Notice ### 🔖 Important Notice
G-Helper is **not** an operating system, firmware or a driver. It doesn't "run" your hardware in realtime anyhow. G-Helper is **NOT** an operating system, firmware or a driver. It **DOESN'T** "run" your hardware in realtime anyhow.
It's an app that lets you select (already predefined and stored in BIOS) operating modes and (optionally) set some settings that already exist on your device (same as Armoury Crate). It's an app that lets you select (already predefined and stored in BIOS) operating modes and (optionally) set some settings that already exist on your device (same as Armoury Crate). If you use same mode / settings as in Armoury Crate - performance of your device won't be different.
Role of G-Helper for your laptop is similar to a role of a remote control for your TV. Role of G-Helper for your laptop is similar to a role of a remote control for your TV.
@@ -117,6 +117,7 @@ Huge thanks to [@IceStormNG](https://github.com/IceStormNG) 👑 for contributio
- ``Shift + M1 / M2`` - Backlight brightness Down / Up - ``Shift + M1 / M2`` - Backlight brightness Down / Up
- ``Fn + C`` - Fn-Lock - ``Fn + C`` - Fn-Lock
- ``Fn + Shift + F7 / F8`` - Matrix brightness Down / Up - ``Fn + Shift + F7 / F8`` - Matrix brightness Down / Up
- ``Fn + Shift + F7 / F8`` - Screenpad brightness Down / Up
- ``Ctrl + Shift + F20`` - Mute Microphone - ``Ctrl + Shift + F20`` - Mute Microphone
- ``Ctrl + Shift + Alt + F14`` - Eco Mode - ``Ctrl + Shift + Alt + F14`` - Eco Mode
- ``Ctrl + Shift + Alt + F15`` - Standard Mode - ``Ctrl + Shift + Alt + F15`` - Standard Mode