From 253e787d17d10af5d48e1e5da7a7be13ee7c3e49 Mon Sep 17 00:00:00 2001 From: Arnold Vink Date: Mon, 19 Dec 2022 18:40:27 +0100 Subject: [PATCH] Added code to read configured memory speed and voltage from the SMBios. (#932) --- LibreHardwareMonitorLib/Hardware/SMBios.cs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/LibreHardwareMonitorLib/Hardware/SMBios.cs b/LibreHardwareMonitorLib/Hardware/SMBios.cs index 848ad1e..b292c09 100644 --- a/LibreHardwareMonitorLib/Hardware/SMBios.cs +++ b/LibreHardwareMonitorLib/Hardware/SMBios.cs @@ -1091,6 +1091,8 @@ public class MemoryDevice : InformationBase SerialNumber = GetString(0x18).Trim(); PartNumber = GetString(0x1A).Trim(); Speed = GetWord(0x15); + ConfiguredSpeed = GetWord(0x20); + ConfiguredVoltage = GetWord(0x26); Size = GetWord(0x0C); Type = (MemoryType)GetByte(0x12); @@ -1133,6 +1135,16 @@ public class MemoryDevice : InformationBase /// public ushort Speed { get; } + /// + /// Gets the configured speed of the device, in mega transfers per second (MT/s). + /// + public ushort ConfiguredSpeed { get; } + + /// + /// Gets the configured voltage of this memory device, in millivolts (mV). + /// + public ushort ConfiguredVoltage { get; } + /// /// Gets the type of this memory device. /// @@ -1483,6 +1495,10 @@ public class SMBios r.AppendLine(MemoryDevices[i].BankLocator); r.Append("Memory Device [" + i + "] Speed: "); r.AppendLine(MemoryDevices[i].Speed.ToString()); + r.Append("Memory Device [" + i + "] Configured Speed: "); + r.AppendLine(MemoryDevices[i].ConfiguredSpeed.ToString()); + r.Append("Memory Device [" + i + "] Configured Voltage: "); + r.AppendLine(MemoryDevices[i].ConfiguredVoltage.ToString()); r.Append("Memory Device [" + i + "] Size: "); r.Append(MemoryDevices[i].Size.ToString()); r.AppendLine(" MB");