1.1 --- a/Hardware/HDD/DebugSmart.cs Sun Jan 01 17:12:34 2012 +0000
1.2 +++ b/Hardware/HDD/DebugSmart.cs Mon Jan 02 18:44:19 2012 +0000
1.3 @@ -46,7 +46,7 @@
1.4 internal class DebugSmart : ISmart {
1.5
1.6 private Drive[] drives = {
1.7 - new Drive("KINGSTON SNV425S264GB", 16,
1.8 + new Drive("KINGSTON SNV425S264GB", null, 16,
1.9 @" 01 000000000000 100 100
1.10 02 000000000000 100 100
1.11 03 000000000000 100 100
1.12 @@ -65,7 +65,7 @@
1.13 AA 07007B000000 100 100
1.14 AD 0E1E71304919 100 100"),
1.15
1.16 - new Drive("PLEXTOR PX-128M2S", 16,
1.17 + new Drive("PLEXTOR PX-128M2S", "1.03", 16,
1.18 @" 01 000000000000 100 100 0
1.19 03 000000000000 100 100 0
1.20 04 000000000000 100 100 0
1.21 @@ -84,7 +84,7 @@
1.22 C6 000000000000 100 100 0
1.23 C7 000000000000 100 100 0"),
1.24
1.25 - new Drive("OCZ-VERTEX2", 16,
1.26 + new Drive("OCZ-VERTEX2", "1.25", 16,
1.27 @" 01 DADAD5000000 100 106 50
1.28 05 000000000000 100 100 3
1.29 09 DF0900004A2F 100 100 0
1.30 @@ -105,7 +105,7 @@
1.31 F1 000600000000 0 0 0
1.32 F2 801200000000 0 0 0"),
1.33
1.34 - new Drive("WDC WD5000AADS-00S9B0", 10,
1.35 + new Drive("WDC WD5000AADS-00S9B0", null, 10,
1.36 @" 1 000000000000 200 200
1.37 3 820D00000000 149 150
1.38 4 610800000000 98 98
1.39 @@ -127,7 +127,7 @@
1.40 5 000000000000 0 0
1.41 1 000000000000 0 0"),
1.42
1.43 - new Drive("INTEL SSDSA2M080G2GC", 10,
1.44 + new Drive("INTEL SSDSA2M080G2GC", null, 10,
1.45 @" 3 000000000000 100 100
1.46 4 000000000000 100 100
1.47 5 010000000000 100 100
1.48 @@ -143,7 +143,7 @@
1.49 184 000000000000 100 100
1.50 1 000000000000 0 0"),
1.51
1.52 - new Drive("OCZ-VERTEX", 10,
1.53 + new Drive("OCZ-VERTEX", null, 10,
1.54 @" 1 000000000000 0 8
1.55 9 000000000000 30 99
1.56 12 000000000000 0 15
1.57 @@ -167,7 +167,7 @@
1.58 212 000000000000 0 0
1.59 213 000000000000 0 0"),
1.60
1.61 - new Drive("INTEL SSDSA2CW120G3", 16,
1.62 + new Drive("INTEL SSDSA2CW120G3", null, 16,
1.63 @"03 000000000000 100 100 0
1.64 04 000000000000 100 100 0
1.65 05 000000000000 100 100 0
1.66 @@ -186,7 +186,26 @@
1.67 E8 000000000000 100 100 0
1.68 E9 000000000000 100 100 0
1.69 F1 FF4300000000 100 100 0
1.70 - F2 264F00000000 100 100 0")
1.71 + F2 264F00000000 100 100 0"),
1.72 +
1.73 + new Drive("CORSAIR CMFSSD-128GBG2D", "VBM19C1Q", 16,
1.74 + @"09 100900000000 99 99 0
1.75 + 0C 560200000000 99 99 0
1.76 + AF 000000000000 100 100 10
1.77 + B0 000000000000 100 100 10
1.78 + B1 2A0000000000 99 99 17
1.79 + B2 180000000000 60 60 10
1.80 + B3 4B0000000000 98 98 10
1.81 + B4 B50E00000000 98 98 10
1.82 + B5 000000000000 100 100 10
1.83 + B6 000000000000 100 100 10
1.84 + B7 000000000000 100 100 10
1.85 + BB 000000000000 100 100 0
1.86 + C3 000000000000 200 200 0
1.87 + C6 000000000000 100 100 0
1.88 + C7 810100000000 253 253 0
1.89 + E8 240000000000 60 60 10
1.90 + E9 630594120000 92 92 0")
1.91 };
1.92
1.93 public IntPtr OpenDrive(int driveNumber) {
1.94 @@ -225,7 +244,7 @@
1.95 throw new ArgumentOutOfRangeException();
1.96
1.97 name = drives[driveNumber].Name;
1.98 - firmwareRevision = "";
1.99 + firmwareRevision = drives[driveNumber].FirmwareVersion;
1.100 return true;
1.101 }
1.102
1.103 @@ -234,8 +253,9 @@
1.104
1.105 private class Drive {
1.106
1.107 - public Drive(string name, int idBase, string value) {
1.108 + public Drive(string name, string firmware, int idBase, string value) {
1.109 this.Name = name;
1.110 + this.FirmwareVersion = firmware;
1.111
1.112 string[] lines = value.Split(new[] { '\r', '\n' },
1.113 StringSplitOptions.RemoveEmptyEntries);
1.114 @@ -280,6 +300,8 @@
1.115 public DriveThresholdValue[] DriveThresholdValues { get; private set; }
1.116
1.117 public string Name { get; private set; }
1.118 +
1.119 + public string FirmwareVersion { get; private set; }
1.120 }
1.121
1.122 public IntPtr InvalidHandle { get { return (IntPtr)(-1); } }