diff --git a/Hardware/HDD/SSDPlextor.cs b/Hardware/HDD/SSDPlextor.cs index c5b382b..02ed57c 100644 --- a/Hardware/HDD/SSDPlextor.cs +++ b/Hardware/HDD/SSDPlextor.cs @@ -10,6 +10,7 @@ namespace OpenHardwareMonitor.Hardware.HDD { using System.Collections.Generic; + using OpenHardwareMonitor.Collections; [NamePrefix("PLEXTOR")] internal class SSDPlextor : AbstractHarddrive { @@ -18,10 +19,20 @@ namespace OpenHardwareMonitor.Hardware.HDD { new List { new SmartAttribute(0x09, SmartNames.PowerOnHours, RawToInt), new SmartAttribute(0x0C, SmartNames.PowerCycleCount, RawToInt), + new SmartAttribute(0xF1, SmartNames.HostWrites, RawToGb, SensorType.Data, + 0, SmartNames.HostWrites), + new SmartAttribute(0xF2, SmartNames.HostReads, RawToGb, SensorType.Data, + 1, SmartNames.HostReads), }; public SSDPlextor(ISmart smart, string name, string firmwareRevision, int index, ISettings settings) : base(smart, name, firmwareRevision, index, smartAttributes, settings) {} + + private static float RawToGb(byte[] rawvalue, byte value, + IReadOnlyArray parameters) + { + return RawToInt(rawvalue, value, parameters) / 32; + } } } diff --git a/Hardware/HDD/SSDSamsung.cs b/Hardware/HDD/SSDSamsung.cs index b19bf2f..b260079 100644 --- a/Hardware/HDD/SSDSamsung.cs +++ b/Hardware/HDD/SSDSamsung.cs @@ -50,7 +50,10 @@ namespace OpenHardwareMonitor.Hardware.HDD { new SmartAttribute(0xC9, SmartNames.SupercapStatus), new SmartAttribute(0xCA, SmartNames.ExceptionModeStatus), new SmartAttribute(0xEB, SmartNames.PowerRecoveryCount), - new SmartAttribute(0xF1, SmartNames.TotalLBAWritten) + new SmartAttribute(0xF1, SmartNames.TotalLBAWritten, + (byte[] r, byte v, IReadOnlyArray p) + => { return RawToInt(r, v, p) * 512 / 1024 / 1024 / 1024; }, + SensorType.Data, 0, SmartNames.TotalLBAWritten) }; public SSDSamsung(ISmart smart, string name, string firmwareRevision,