diff --git a/External/OxyPlot/OxyPlot/PlotModel/PlotModel.cs b/External/OxyPlot/OxyPlot/PlotModel/PlotModel.cs
index 08effd7..50da5d4 100644
--- a/External/OxyPlot/OxyPlot/PlotModel/PlotModel.cs
+++ b/External/OxyPlot/OxyPlot/PlotModel/PlotModel.cs
@@ -310,6 +310,28 @@ namespace OxyPlot
this.Subtitle = subtitle;
}
+ public PlotModel(double dpiXscale, double dpiYscale)
+ : this()
+ {
+ this.PlotMargins = new OxyThickness(this.PlotMargins.Left * dpiXscale,
+ this.PlotMargins.Top * dpiYscale,
+ this.PlotMargins.Right * dpiXscale,
+ this.PlotMargins.Bottom * dpiYscale
+ );
+ this.Padding = new OxyThickness(this.Padding.Left * dpiXscale,
+ this.Padding.Top * dpiYscale,
+ this.Padding.Right * dpiXscale,
+ this.Padding.Bottom * dpiYscale
+ );
+ this.TitlePadding *= dpiXscale;
+ this.LegendSymbolLength *= dpiXscale;
+ this.LegendSymbolMargin *= dpiXscale;
+ this.LegendPadding *= dpiXscale;
+ this.LegendColumnSpacing *= dpiXscale;
+ this.LegendItemSpacing *= dpiXscale;
+ this.LegendMargin *= dpiXscale;
+ }
+
///
/// The synchronization root object.
///
diff --git a/GUI/PlotPanel.cs b/GUI/PlotPanel.cs
index b4b732f..c7cbbb3 100644
--- a/GUI/PlotPanel.cs
+++ b/GUI/PlotPanel.cs
@@ -35,11 +35,16 @@ namespace OpenHardwareMonitor.GUI {
private UserOption stackedAxes;
private DateTime now;
+ private float dpiX;
+ private float dpiY;
+ private double dpiXscale = 1;
+ private double dpiYscale = 1;
public PlotPanel(PersistentSettings settings, UnitManager unitManager) {
this.settings = settings;
this.unitManager = unitManager;
+ this.SetDPI();
this.model = CreatePlotModel();
this.plot = new Plot();
@@ -168,7 +173,7 @@ namespace OpenHardwareMonitor.GUI {
axes.Add(type, axis);
}
- var model = new PlotModel();
+ var model = new PlotModel(this.dpiXscale, this.dpiYscale);
model.Axes.Add(timeAxis);
foreach (var axis in axes.Values)
model.Axes.Add(axis);
@@ -178,6 +183,30 @@ namespace OpenHardwareMonitor.GUI {
return model;
}
+ private void SetDPI() {
+ // https://msdn.microsoft.com/en-us/library/windows/desktop/dn469266(v=vs.85).aspx
+ const int _default_dpi = 96;
+ Graphics g = this.CreateGraphics();
+
+ try
+ {
+ this.dpiX = g.DpiX;
+ this.dpiY = g.DpiY;
+ }
+ finally
+ {
+ g.Dispose();
+ }
+ if (dpiX > 0)
+ {
+ this.dpiXscale = dpiX / _default_dpi;
+ }
+ if (dpiY > 0)
+ {
+ this.dpiYscale = dpiY / _default_dpi;
+ }
+ }
+
public void SetSensors(List sensors,
IDictionary colors) {
this.model.Series.Clear();
diff --git a/Hardware/CPU/CPUID.cs b/Hardware/CPU/CPUID.cs
index b219b6c..fed0aa5 100644
--- a/Hardware/CPU/CPUID.cs
+++ b/Hardware/CPU/CPUID.cs
@@ -12,14 +12,13 @@ using System;
using System.Text;
namespace OpenHardwareMonitor.Hardware.CPU {
-
- internal enum Vendor {
+ public enum Vendor {
Unknown,
Intel,
AMD,
}
- internal class CPUID {
+ public class CPUID {
private readonly int thread;
diff --git a/Hardware/CPU/GenericCPU.cs b/Hardware/CPU/GenericCPU.cs
index cfdc9b5..ecf91d4 100644
--- a/Hardware/CPU/GenericCPU.cs
+++ b/Hardware/CPU/GenericCPU.cs
@@ -17,7 +17,7 @@ using System.Text;
using System.Threading;
namespace OpenHardwareMonitor.Hardware.CPU {
- internal class GenericCPU : Hardware {
+ public class GenericCPU : Hardware {
protected readonly CPUID[][] cpuid;
diff --git a/Hardware/CPU/IntelCPU.cs b/Hardware/CPU/IntelCPU.cs
index 8f3eb3b..190ced7 100644
--- a/Hardware/CPU/IntelCPU.cs
+++ b/Hardware/CPU/IntelCPU.cs
@@ -29,7 +29,8 @@ namespace OpenHardwareMonitor.Hardware.CPU {
Skylake,
Airmont,
KabyLake,
- ApolloLake
+ ApolloLake,
+ CoffeeLake
}
private readonly Sensor[] coreTemperatures;
@@ -187,6 +188,10 @@ namespace OpenHardwareMonitor.Hardware.CPU {
case 0x5C: // Intel ApolloLake
microarchitecture = Microarchitecture.ApolloLake;
tjMax = GetTjMaxFromMSR();
+ break;
+ case 0xAE: // Intel Core i5, i7 8xxxx (14nm++)
+ microarchitecture = Microarchitecture.CoffeeLake;
+ tjMax = GetTjMaxFromMSR();
break;
default:
microarchitecture = Microarchitecture.Unknown;
@@ -237,7 +242,8 @@ namespace OpenHardwareMonitor.Hardware.CPU {
case Microarchitecture.Skylake:
case Microarchitecture.Airmont:
case Microarchitecture.ApolloLake:
- case Microarchitecture.KabyLake: {
+ case Microarchitecture.KabyLake:
+ case Microarchitecture.CoffeeLake: {
uint eax, edx;
if (Ring0.Rdmsr(MSR_PLATFORM_INFO, out eax, out edx)) {
timeStampCounterMultiplier = (eax >> 8) & 0xff;
@@ -421,7 +427,8 @@ namespace OpenHardwareMonitor.Hardware.CPU {
case Microarchitecture.Silvermont:
case Microarchitecture.Skylake:
case Microarchitecture.ApolloLake:
- case Microarchitecture.KabyLake: {
+ case Microarchitecture.KabyLake:
+ case Microarchitecture.CoffeeLake: {
uint multiplier = (eax >> 8) & 0xff;
coreClocks[i].Value = (float)(multiplier * newBusClock);
} break;
diff --git a/Hardware/HDD/AbstractHarddrive.cs b/Hardware/HDD/AbstractHarddrive.cs
index ca687e8..0958e84 100644
--- a/Hardware/HDD/AbstractHarddrive.cs
+++ b/Hardware/HDD/AbstractHarddrive.cs
@@ -18,7 +18,7 @@ using System.Text;
using OpenHardwareMonitor.Collections;
namespace OpenHardwareMonitor.Hardware.HDD {
- internal abstract class AbstractHarddrive : Hardware {
+ public abstract class AbstractHarddrive : Hardware {
private const int UPDATE_DIVIDER = 30; // update only every 30s
diff --git a/Hardware/HDD/DriveAttributeValue.cs b/Hardware/HDD/DriveAttributeValue.cs
index 4ce5190..a478406 100644
--- a/Hardware/HDD/DriveAttributeValue.cs
+++ b/Hardware/HDD/DriveAttributeValue.cs
@@ -15,7 +15,7 @@ using System.Runtime.InteropServices;
namespace OpenHardwareMonitor.Hardware.HDD {
[StructLayout(LayoutKind.Sequential, Pack = 1)]
- internal struct DriveAttributeValue {
+ public struct DriveAttributeValue {
public byte Identifier;
public short StatusFlags;
public byte AttrValue;
diff --git a/Hardware/HDD/DriveThresholdValue.cs b/Hardware/HDD/DriveThresholdValue.cs
index 13bc46c..f6119d8 100644
--- a/Hardware/HDD/DriveThresholdValue.cs
+++ b/Hardware/HDD/DriveThresholdValue.cs
@@ -14,7 +14,7 @@ using System.Runtime.InteropServices;
namespace OpenHardwareMonitor.Hardware.HDD {
[StructLayout(LayoutKind.Sequential, Pack = 1)]
- internal struct DriveThresholdValue {
+ public struct DriveThresholdValue {
public byte Identifier;
public byte Threshold;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)]
diff --git a/Hardware/HDD/ISmart.cs b/Hardware/HDD/ISmart.cs
index ac49b29..5afd64d 100644
--- a/Hardware/HDD/ISmart.cs
+++ b/Hardware/HDD/ISmart.cs
@@ -13,8 +13,7 @@ using System.Collections.Generic;
namespace OpenHardwareMonitor.Hardware.HDD {
-
- internal interface ISmart {
+ public interface ISmart {
IntPtr OpenDrive(int driveNumber);
diff --git a/Hardware/HDD/SmartAttribute.cs b/Hardware/HDD/SmartAttribute.cs
index 4c9b8c2..e06674a 100644
--- a/Hardware/HDD/SmartAttribute.cs
+++ b/Hardware/HDD/SmartAttribute.cs
@@ -14,7 +14,7 @@ using System.Collections.Generic;
using OpenHardwareMonitor.Collections;
namespace OpenHardwareMonitor.Hardware.HDD {
- internal class SmartAttribute {
+ public class SmartAttribute {
private RawValueConversion rawValueConversion;
diff --git a/Hardware/HDD/SmartNames.cs b/Hardware/HDD/SmartNames.cs
index 79753ad..07bba5a 100644
--- a/Hardware/HDD/SmartNames.cs
+++ b/Hardware/HDD/SmartNames.cs
@@ -13,7 +13,7 @@ namespace OpenHardwareMonitor.Hardware.HDD {
///
/// Localization class for SMART attribute names.
///
- internal static class SmartNames {
+ public static class SmartNames {
public static string AirflowTemperature {
get { return "Airflow Temperature"; }
diff --git a/Hardware/Hardware.cs b/Hardware/Hardware.cs
index bd28949..7b4fc87 100644
--- a/Hardware/Hardware.cs
+++ b/Hardware/Hardware.cs
@@ -12,7 +12,7 @@ using System;
using OpenHardwareMonitor.Collections;
namespace OpenHardwareMonitor.Hardware {
- internal abstract class Hardware : IHardware {
+ public abstract class Hardware : IHardware {
private readonly Identifier identifier;
protected readonly string name;
diff --git a/Hardware/LPC/Chip.cs b/Hardware/LPC/Chip.cs
index 686cb74..92050c3 100644
--- a/Hardware/LPC/Chip.cs
+++ b/Hardware/LPC/Chip.cs
@@ -19,6 +19,7 @@ namespace OpenHardwareMonitor.Hardware.LPC {
F71862 = 0x0601,
F71869 = 0x0814,
F71869A = 0x1007,
+ F71878AD = 0x1106,
F71882 = 0x0541,
F71889AD = 0x1005,
F71889ED = 0x0909,
@@ -70,6 +71,7 @@ namespace OpenHardwareMonitor.Hardware.LPC {
case Chip.F71858: return "Fintek F71858";
case Chip.F71862: return "Fintek F71862";
case Chip.F71869: return "Fintek F71869";
+ case Chip.F71878AD: return "Fintek F71878AD";
case Chip.F71869A: return "Fintek F71869A";
case Chip.F71882: return "Fintek F71882";
case Chip.F71889AD: return "Fintek F71889AD";
diff --git a/Hardware/LPC/F718XX.cs b/Hardware/LPC/F718XX.cs
index b36806b..e737c6e 100644
--- a/Hardware/LPC/F718XX.cs
+++ b/Hardware/LPC/F718XX.cs
@@ -26,18 +26,27 @@ namespace OpenHardwareMonitor.Hardware.LPC {
private const byte ADDRESS_REGISTER_OFFSET = 0x05;
private const byte DATA_REGISTER_OFFSET = 0x06;
+ private const byte PWM_VALUES_OFFSET = 0x2D;
+
// Hardware Monitor Registers
private const byte VOLTAGE_BASE_REG = 0x20;
private const byte TEMPERATURE_CONFIG_REG = 0x69;
private const byte TEMPERATURE_BASE_REG = 0x70;
private readonly byte[] FAN_TACHOMETER_REG =
new byte[] { 0xA0, 0xB0, 0xC0, 0xD0 };
+ private readonly byte[] FAN_PWM_REG =
+ new byte[] { 0xA3, 0xB3, 0xC3, 0xD3 };
private byte ReadByte(byte register) {
Ring0.WriteIoPort(
(ushort)(address + ADDRESS_REGISTER_OFFSET), register);
return Ring0.ReadIoPort((ushort)(address + DATA_REGISTER_OFFSET));
}
+ private void WriteByte(byte register, byte value) {
+ Ring0.WriteIoPort(
+ (ushort)(address + ADDRESS_REGISTER_OFFSET), register);
+ Ring0.WriteIoPort((ushort)(address + DATA_REGISTER_OFFSET), value);
+ }
public byte? ReadGPIO(int index) {
return null;
@@ -45,7 +54,10 @@ namespace OpenHardwareMonitor.Hardware.LPC {
public void WriteGPIO(int index, byte value) { }
- public void SetControl(int index, byte? value) { }
+ public void SetControl(int index, byte? value) {
+ if(index < controls.Length)
+ WriteByte(FAN_PWM_REG[index], value ?? 128);
+ }
public F718XX(Chip chip, ushort address) {
this.address = address;
@@ -54,7 +66,7 @@ namespace OpenHardwareMonitor.Hardware.LPC {
voltages = new float?[chip == Chip.F71858 ? 3 : 9];
temperatures = new float?[chip == Chip.F71808E ? 2 : 3];
fans = new float?[chip == Chip.F71882 || chip == Chip.F71858 ? 4 : 3];
- controls = new float?[0];
+ controls = new float?[chip == Chip.F71878AD ? 3 : 0];
}
public Chip Chip { get { return chip; } }
@@ -145,7 +157,7 @@ namespace OpenHardwareMonitor.Hardware.LPC {
} break;
}
}
-
+
for (int i = 0; i < fans.Length; i++) {
int value = ReadByte(FAN_TACHOMETER_REG[i]) << 8;
value |= ReadByte((byte)(FAN_TACHOMETER_REG[i] + 1));
@@ -155,6 +167,9 @@ namespace OpenHardwareMonitor.Hardware.LPC {
else
fans[i] = null;
}
+ for (int i = 0; i < controls.Length; i++) {
+ controls[i] = (100*ReadByte((byte)(PWM_VALUES_OFFSET + i)))/256.0f;
+ }
Ring0.ReleaseIsaBusMutex();
}
diff --git a/Hardware/LPC/LMSensors.cs b/Hardware/LPC/LMSensors.cs
index 677a809..57e07e3 100755
--- a/Hardware/LPC/LMSensors.cs
+++ b/Hardware/LPC/LMSensors.cs
@@ -46,7 +46,9 @@ namespace OpenHardwareMonitor.Hardware.LPC {
case "f71882fg":
lmChips.Add(new LMChip(Chip.F71882, path)); break;
case "f71889a":
- lmChips.Add(new LMChip(Chip.F71889AD, path)); break;
+ lmChips.Add(new LMChip(Chip.F71889AD, path)); break;
+ case "f71878ad":
+ lmChips.Add(new LMChip(Chip.F71878AD, path)); break;
case "f71889ed":
lmChips.Add(new LMChip(Chip.F71889ED, path)); break;
case "f71889fg":
diff --git a/Hardware/LPC/LPCIO.cs b/Hardware/LPC/LPCIO.cs
index bbb79a2..53de239 100644
--- a/Hardware/LPC/LPCIO.cs
+++ b/Hardware/LPC/LPCIO.cs
@@ -115,6 +115,13 @@ namespace OpenHardwareMonitor.Hardware.LPC {
logicalDeviceNumber = FINTEK_HARDWARE_MONITOR_LDN;
break;
} break;
+ case 0x11:
+ switch (revision) {
+ case 0x06:
+ chip = Chip.F71878AD;
+ logicalDeviceNumber = FINTEK_HARDWARE_MONITOR_LDN;
+ break;
+ } break;
case 0x52:
switch (revision) {
case 0x17:
@@ -306,6 +313,7 @@ namespace OpenHardwareMonitor.Hardware.LPC {
case Chip.F71858:
case Chip.F71862:
case Chip.F71869:
+ case Chip.F71878AD:
case Chip.F71869A:
case Chip.F71882:
case Chip.F71889AD:
diff --git a/Hardware/Mainboard/Identification.cs b/Hardware/Mainboard/Identification.cs
index ef9e8fe..a190d05 100644
--- a/Hardware/Mainboard/Identification.cs
+++ b/Hardware/Mainboard/Identification.cs
@@ -181,6 +181,8 @@ namespace OpenHardwareMonitor.Hardware.Mainboard {
return Model.X38_DS5;
case "X58A-UD3R":
return Model.X58A_UD3R;
+ case "Z270 PC MATE":
+ return Model.Z270_PC_MATE;
case "X79-UD3":
return Model.X79_UD3;
case "Z68A-D3H-B3":
diff --git a/Hardware/Mainboard/Model.cs b/Hardware/Mainboard/Model.cs
index f076fbb..67f15c7 100644
--- a/Hardware/Mainboard/Model.cs
+++ b/Hardware/Mainboard/Model.cs
@@ -40,6 +40,9 @@ namespace OpenHardwareMonitor.Hardware.Mainboard {
// ECS
A890GXM_A,
+ // MSI
+ Z270_PC_MATE,
+
// EVGA
X58_SLI_Classified,
@@ -87,6 +90,6 @@ namespace OpenHardwareMonitor.Hardware.Mainboard {
FH67,
// Unknown
- Unknown
+ Unknown
}
}
diff --git a/Hardware/Mainboard/SuperIOHardware.cs b/Hardware/Mainboard/SuperIOHardware.cs
index e5fe79d..a847d16 100644
--- a/Hardware/Mainboard/SuperIOHardware.cs
+++ b/Hardware/Mainboard/SuperIOHardware.cs
@@ -214,7 +214,7 @@ namespace OpenHardwareMonitor.Hardware.Mainboard {
case Chip.F71889ED:
case Chip.F71889F:
case Chip.F71808E:
- GetFintekConfiguration(superIO, manufacturer, model, v, t, f);
+ GetFintekConfiguration(superIO, manufacturer, model, v, t, f, c);
break;
case Chip.W83627EHF:
@@ -969,7 +969,7 @@ namespace OpenHardwareMonitor.Hardware.Mainboard {
private static void GetFintekConfiguration(ISuperIO superIO,
Manufacturer manufacturer, Model model,
- IList v, IList t, IList f)
+ IList v, IList t, IList f, IList c)
{
switch (manufacturer) {
case Manufacturer.EVGA:
@@ -1023,6 +1023,9 @@ namespace OpenHardwareMonitor.Hardware.Mainboard {
t.Add(new Temperature("Temperature #" + (i + 1), i));
for (int i = 0; i < superIO.Fans.Length; i++)
f.Add(new Fan("Fan #" + (i + 1), i));
+ for (int i = 0; i < superIO.Controls.Length; i++)
+ c.Add(new Ctrl("Fan Control #" + (i + 1), i));
+
break;
}
}
@@ -1182,6 +1185,99 @@ namespace OpenHardwareMonitor.Hardware.Mainboard {
c.Add(new Ctrl("Chassis Fan #2", 2));
c.Add(new Ctrl("Chassis Fan #3", 3));
break;
+ default:
+ v.Add(new Voltage("CPU VCore", 0));
+ v.Add(new Voltage("Voltage #2", 1, true));
+ v.Add(new Voltage("AVCC", 2, 34, 34));
+ v.Add(new Voltage("3VCC", 3, 34, 34));
+ v.Add(new Voltage("Voltage #5", 4, true));
+ v.Add(new Voltage("Voltage #6", 5, true));
+ v.Add(new Voltage("Voltage #7", 6, true));
+ v.Add(new Voltage("3VSB", 7, 34, 34));
+ v.Add(new Voltage("VBAT", 8, 34, 34));
+ v.Add(new Voltage("VTT", 9));
+ v.Add(new Voltage("Voltage #11", 10, true));
+ v.Add(new Voltage("Voltage #12", 11, true));
+ v.Add(new Voltage("Voltage #13", 12, true));
+ v.Add(new Voltage("Voltage #14", 13, true));
+ v.Add(new Voltage("Voltage #15", 14, true));
+ t.Add(new Temperature("CPU Core", 0));
+ t.Add(new Temperature("Temperature #1", 1));
+ t.Add(new Temperature("Temperature #2", 2));
+ t.Add(new Temperature("Temperature #3", 3));
+ t.Add(new Temperature("Temperature #4", 4));
+ t.Add(new Temperature("Temperature #5", 5));
+ t.Add(new Temperature("Temperature #6", 6));
+ for (int i = 0; i < superIO.Fans.Length; i++)
+ f.Add(new Fan("Fan #" + (i + 1), i));
+ for (int i = 0; i < superIO.Controls.Length; i++)
+ c.Add(new Ctrl("Fan Control #" + (i + 1), i));
+ break;
+ }
+ break;
+ case Manufacturer.MSI:
+ switch (model) {
+ case Model.Z270_PC_MATE: // NCT6795D
+ v.Add(new Voltage("CPU VCore", 0));
+ v.Add(new Voltage("+5V", 1, 4, 1));
+ v.Add(new Voltage("AVCC", 2, 34, 34));
+ v.Add(new Voltage("3VCC", 3, 34, 34));
+ v.Add(new Voltage("+12V", 4, 11, 1));
+ v.Add(new Voltage("Voltage #6", 5, true));
+ v.Add(new Voltage("CPU I/O", 6));
+ v.Add(new Voltage("3VSB", 7, 34, 34));
+ v.Add(new Voltage("VTT", 9));
+ v.Add(new Voltage("CPU SA", 10));
+ v.Add(new Voltage("Voltage #12", 11, true));
+ v.Add(new Voltage("PCH", 12));
+ v.Add(new Voltage("DRAM", 13, 1, 1));
+ v.Add(new Voltage("Voltage #15", 14, true));
+ t.Add(new Temperature("CPU", 0));
+ t.Add(new Temperature("Auxiliary", 1));
+ t.Add(new Temperature("Motherboard", 2));
+ f.Add(new Fan("Pump Fan", 0));
+ f.Add(new Fan("CPU Fan", 1));
+ f.Add(new Fan("System Fan #1", 2));
+ f.Add(new Fan("System Fan #2", 3));
+ f.Add(new Fan("System Fan #3", 4));
+ f.Add(new Fan("System Fan #4", 5));
+ c.Add(new Ctrl("Pump Fan", 0));
+ c.Add(new Ctrl("CPU Fan", 1));
+ c.Add(new Ctrl("System Fan #1", 2));
+ c.Add(new Ctrl("System Fan #2", 3));
+ c.Add(new Ctrl("System Fan #3", 4));
+ c.Add(new Ctrl("System Fan #4", 5));
+ break;
+ default:
+ v.Add(new Voltage("CPU VCore", 0));
+ v.Add(new Voltage("Voltage #2", 1, true));
+ v.Add(new Voltage("AVCC", 2, 34, 34));
+ v.Add(new Voltage("3VCC", 3, 34, 34));
+ v.Add(new Voltage("Voltage #5", 4, true));
+ v.Add(new Voltage("Voltage #6", 5, true));
+ v.Add(new Voltage("Voltage #7", 6, true));
+ v.Add(new Voltage("3VSB", 7, 34, 34));
+ v.Add(new Voltage("VBAT", 8, 34, 34));
+ v.Add(new Voltage("VTT", 9));
+ v.Add(new Voltage("Voltage #11", 10, true));
+ v.Add(new Voltage("Voltage #12", 11, true));
+ v.Add(new Voltage("Voltage #13", 12, true));
+ v.Add(new Voltage("Voltage #14", 13, true));
+ v.Add(new Voltage("Voltage #15", 14, true));
+ t.Add(new Temperature("CPU Core", 0));
+ t.Add(new Temperature("Temperature #1", 1));
+ t.Add(new Temperature("Temperature #2", 2));
+ t.Add(new Temperature("Temperature #3", 3));
+ t.Add(new Temperature("Temperature #4", 4));
+ t.Add(new Temperature("Temperature #5", 5));
+ t.Add(new Temperature("Temperature #6", 6));
+ for (int i = 0; i < superIO.Fans.Length; i++)
+ f.Add(new Fan("Fan #" + (i + 1), i));
+ for (int i = 0; i < superIO.Controls.Length; i++)
+ c.Add(new Ctrl("Fan Control #" + (i + 1), i));
+ break;
+ }
+ break;
default:
v.Add(new Voltage("CPU VCore", 0));
v.Add(new Voltage("Voltage #2", 1, true));
@@ -1210,36 +1306,6 @@ namespace OpenHardwareMonitor.Hardware.Mainboard {
for (int i = 0; i < superIO.Controls.Length; i++)
c.Add(new Ctrl("Fan Control #" + (i + 1), i));
break;
- }
- break;
- default:
- v.Add(new Voltage("CPU VCore", 0));
- v.Add(new Voltage("Voltage #2", 1, true));
- v.Add(new Voltage("AVCC", 2, 34, 34));
- v.Add(new Voltage("3VCC", 3, 34, 34));
- v.Add(new Voltage("Voltage #5", 4, true));
- v.Add(new Voltage("Voltage #6", 5, true));
- v.Add(new Voltage("Voltage #7", 6, true));
- v.Add(new Voltage("3VSB", 7, 34, 34));
- v.Add(new Voltage("VBAT", 8, 34, 34));
- v.Add(new Voltage("VTT", 9));
- v.Add(new Voltage("Voltage #11", 10, true));
- v.Add(new Voltage("Voltage #12", 11, true));
- v.Add(new Voltage("Voltage #13", 12, true));
- v.Add(new Voltage("Voltage #14", 13, true));
- v.Add(new Voltage("Voltage #15", 14, true));
- t.Add(new Temperature("CPU Core", 0));
- t.Add(new Temperature("Temperature #1", 1));
- t.Add(new Temperature("Temperature #2", 2));
- t.Add(new Temperature("Temperature #3", 3));
- t.Add(new Temperature("Temperature #4", 4));
- t.Add(new Temperature("Temperature #5", 5));
- t.Add(new Temperature("Temperature #6", 6));
- for (int i = 0; i < superIO.Fans.Length; i++)
- f.Add(new Fan("Fan #" + (i + 1), i));
- for (int i = 0; i < superIO.Controls.Length; i++)
- c.Add(new Ctrl("Fan Control #" + (i + 1), i));
- break;
}
}
diff --git a/Hardware/Parameter.cs b/Hardware/Parameter.cs
index bbec69d..0d4c00c 100644
--- a/Hardware/Parameter.cs
+++ b/Hardware/Parameter.cs
@@ -12,8 +12,7 @@ using System;
using System.Globalization;
namespace OpenHardwareMonitor.Hardware {
-
- internal struct ParameterDescription {
+ public struct ParameterDescription {
private readonly string name;
private readonly string description;
private readonly float defaultValue;
diff --git a/Hardware/SMBIOS.cs b/Hardware/SMBIOS.cs
index ea49a79..36f799e 100644
--- a/Hardware/SMBIOS.cs
+++ b/Hardware/SMBIOS.cs
@@ -16,7 +16,7 @@ using System.Text;
namespace OpenHardwareMonitor.Hardware {
- internal class SMBIOS {
+ public class SMBIOS {
private readonly byte[] raw;
private readonly Structure[] table;