From bb83c281f16402a108e91b0f5d4ae3ee2f1acf12 Mon Sep 17 00:00:00 2001 From: ReggX Date: Sun, 8 Aug 2021 13:55:42 +0200 Subject: [PATCH] Extend ASUS EC detection to other Crosshair VIII models (#511) * Extend ASUS EC detection to other Crosshair VIII models Tested to work on my CROSSHAIR VIII Dark Hero. *Should* also work on the Impact, Formula and Extreme boards since they use the same sensors and thereby most likely the same EC. Alternatively, an extra case with name.Equals("ROG CROSSHAIR VIII DARK HERO", StringComparison.OrdinalIgnoreCase) could be used instead. * Add ROG_CROSSHAIR_VIII_DARK_HERO model * minor formatting * Update EmbeddedController.cs Co-authored-by: PhyxionNL <7643972+PhyxionNL@users.noreply.github.com> --- .../Hardware/Motherboard/Identification.cs | 2 ++ .../Motherboard/Lpc/EC/EmbeddedController.cs | 13 ++++++++++++- .../Hardware/Motherboard/Model.cs | 1 + .../Hardware/Motherboard/SuperIOHardware.cs | 1 + 4 files changed, 16 insertions(+), 1 deletion(-) diff --git a/LibreHardwareMonitorLib/Hardware/Motherboard/Identification.cs b/LibreHardwareMonitorLib/Hardware/Motherboard/Identification.cs index 8dfaf60..3cae3ad 100644 --- a/LibreHardwareMonitorLib/Hardware/Motherboard/Identification.cs +++ b/LibreHardwareMonitorLib/Hardware/Motherboard/Identification.cs @@ -143,6 +143,8 @@ namespace LibreHardwareMonitor.Hardware.Motherboard return Model.CROSSHAIR_III_FORMULA; case var _ when name.Equals("ROG CROSSHAIR VIII HERO", StringComparison.OrdinalIgnoreCase): return Model.ROG_CROSSHAIR_VIII_HERO; + case var _ when name.Equals("ROG CROSSHAIR VIII DARK HERO", StringComparison.OrdinalIgnoreCase): + return Model.ROG_CROSSHAIR_VIII_DARK_HERO; case var _ when name.Equals("M2N-SLI DELUXE", StringComparison.OrdinalIgnoreCase): return Model.M2N_SLI_Deluxe; case var _ when name.Equals("M4A79XTD EVO", StringComparison.OrdinalIgnoreCase): diff --git a/LibreHardwareMonitorLib/Hardware/Motherboard/Lpc/EC/EmbeddedController.cs b/LibreHardwareMonitorLib/Hardware/Motherboard/Lpc/EC/EmbeddedController.cs index 143c14a..05d3af0 100644 --- a/LibreHardwareMonitorLib/Hardware/Motherboard/Lpc/EC/EmbeddedController.cs +++ b/LibreHardwareMonitorLib/Hardware/Motherboard/Lpc/EC/EmbeddedController.cs @@ -43,6 +43,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard.Lpc.EC { case Model.ROG_STRIX_X570_E_GAMING: case Model.ROG_CROSSHAIR_VIII_HERO: + case Model.ROG_CROSSHAIR_VIII_DARK_HERO: { sources.AddRange(new EmbeddedControllerSource[] { @@ -52,7 +53,6 @@ namespace LibreHardwareMonitor.Hardware.Motherboard.Lpc.EC new("T Sensor", 0x3D, SensorType.Temperature, ReadByte), new("VRM", 0x3E, SensorType.Temperature, ReadByte), new("CPU Opt", 0xB0, SensorType.Fan, ReadWordBE), - new("Chipset", 0xB4, SensorType.Fan, ReadWordBE), new("CPU", 0xF4, SensorType.Current, ReadByte) }); @@ -62,7 +62,18 @@ namespace LibreHardwareMonitor.Hardware.Motherboard.Lpc.EC switch (model) { + case Model.ROG_STRIX_X570_E_GAMING: case Model.ROG_CROSSHAIR_VIII_HERO: + { + sources.Add(new EmbeddedControllerSource("Chipset", 0xB4, SensorType.Fan, ReadWordBE)); + break; + } + } + + switch (model) + { + case Model.ROG_CROSSHAIR_VIII_HERO: + case Model.ROG_CROSSHAIR_VIII_DARK_HERO: { // TODO: "why 42?" is a silly question, I know, but still, why? On the serious side, it might be 41.6(6) sources.Add(new EmbeddedControllerSource("Flow Rate", 0xBC, SensorType.Flow, (ecIO, port) => ecIO.ReadWordBE(port) / 42f * 60f)); diff --git a/LibreHardwareMonitorLib/Hardware/Motherboard/Model.cs b/LibreHardwareMonitorLib/Hardware/Motherboard/Model.cs index e5221fa..0e7bf02 100644 --- a/LibreHardwareMonitorLib/Hardware/Motherboard/Model.cs +++ b/LibreHardwareMonitorLib/Hardware/Motherboard/Model.cs @@ -38,6 +38,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard // ASUS CROSSHAIR_III_FORMULA, ROG_CROSSHAIR_VIII_HERO, + ROG_CROSSHAIR_VIII_DARK_HERO, ROG_STRIX_X470_I, ROG_STRIX_X570_E_GAMING, M2N_SLI_Deluxe, diff --git a/LibreHardwareMonitorLib/Hardware/Motherboard/SuperIOHardware.cs b/LibreHardwareMonitorLib/Hardware/Motherboard/SuperIOHardware.cs index 68ebcd8..6289531 100644 --- a/LibreHardwareMonitorLib/Hardware/Motherboard/SuperIOHardware.cs +++ b/LibreHardwareMonitorLib/Hardware/Motherboard/SuperIOHardware.cs @@ -2314,6 +2314,7 @@ namespace LibreHardwareMonitor.Hardware.Motherboard break; } case Model.ROG_CROSSHAIR_VIII_HERO: // NCT6798D + case Model.ROG_CROSSHAIR_VIII_DARK_HERO: // NCT6798D { v.Add(new Voltage("Vcore", 0)); v.Add(new Voltage("Voltage #2", 1, true));