mirror of
https://github.com/openhardwaremonitor/openhardwaremonitor
synced 2025-09-03 15:55:26 +00:00
Added upper bound for valid fan RPM on IT87.
This commit is contained in:
@@ -111,7 +111,8 @@ namespace OpenHardwareMonitor.Hardware.CPU {
|
|||||||
AppendRegister(nameBuilder, edx);
|
AppendRegister(nameBuilder, edx);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
cpuBrandString = nameBuilder.ToString().Trim('\0').Trim();
|
nameBuilder.Replace('\0', ' ');
|
||||||
|
cpuBrandString = nameBuilder.ToString().Trim();
|
||||||
nameBuilder.Replace("(R)", " ");
|
nameBuilder.Replace("(R)", " ");
|
||||||
nameBuilder.Replace("(TM)", " ");
|
nameBuilder.Replace("(TM)", " ");
|
||||||
nameBuilder.Replace("(tm)", " ");
|
nameBuilder.Replace("(tm)", " ");
|
||||||
|
@@ -69,10 +69,24 @@ namespace OpenHardwareMonitor.Hardware.LPC {
|
|||||||
new byte[] { 0x18, 0x19, 0x1a, 0x81, 0x83 };
|
new byte[] { 0x18, 0x19, 0x1a, 0x81, 0x83 };
|
||||||
private const byte VOLTAGE_BASE_REG = 0x20;
|
private const byte VOLTAGE_BASE_REG = 0x20;
|
||||||
|
|
||||||
private byte ReadByte(byte register) {
|
/* private byte ReadByte(byte register) {
|
||||||
WinRing0.WriteIoPortByte(
|
WinRing0.WriteIoPortByte(
|
||||||
(ushort)(address + ADDRESS_REGISTER_OFFSET), register);
|
(ushort)(address + ADDRESS_REGISTER_OFFSET), register);
|
||||||
return WinRing0.ReadIoPortByte((ushort)(address + DATA_REGISTER_OFFSET));
|
return WinRing0.ReadIoPortByte((ushort)(address + DATA_REGISTER_OFFSET));
|
||||||
|
} */
|
||||||
|
private byte ReadByte(byte register) {
|
||||||
|
return new Utilities.HexStringArray(
|
||||||
|
@"19 00 00 00 00 00 00 00 00 80 3F C9 07 9B A3 FF
|
||||||
|
FF FF FF 73 D7 80 81 40 00 03 FF FF FF FF FF FF
|
||||||
|
50 70 D2 B9 BA 57 48 FF BD 24 24 2D 84 DC DC DC
|
||||||
|
FF FF FF FF FF FF FF FF FF FF EF FF FF FF FF FF
|
||||||
|
3C 7F 70 7F 70 7F 5F 74 2D 40 9C 22 FF FF FF FF
|
||||||
|
FF 15 7F 7F 7F 50 FF 56 90 0A 03 12 64 00 00 83
|
||||||
|
00 00 50 7F 10 24 FF FF 00 23 50 40 10 24 FF FF
|
||||||
|
7F 7F 7F 00 00 24 FF FF FF FF FF FF FF FF FF FF
|
||||||
|
19 00 00 00 00 00 00 00 00 80 3F C9 07 9B A3 FF
|
||||||
|
FF FF FF 73 D7 80 81 40 00 03 FF FF FF FF FF FF
|
||||||
|
50 70 D2 B9 BA 57 48 FF BD 24 24 2D 84 DC DC DC")[register];
|
||||||
}
|
}
|
||||||
|
|
||||||
public IT87XX(Chip chip, ushort address) : base (chip) {
|
public IT87XX(Chip chip, ushort address) : base (chip) {
|
||||||
@@ -162,7 +176,7 @@ namespace OpenHardwareMonitor.Hardware.LPC {
|
|||||||
int value = ReadByte(FAN_TACHOMETER_REG[sensor.Index]);
|
int value = ReadByte(FAN_TACHOMETER_REG[sensor.Index]);
|
||||||
value |= ReadByte(FAN_TACHOMETER_EXT_REG[sensor.Index]) << 8;
|
value |= ReadByte(FAN_TACHOMETER_EXT_REG[sensor.Index]) << 8;
|
||||||
|
|
||||||
if (value > 0) {
|
if (value > 0x3f) {
|
||||||
sensor.Value = (value < 0xffff) ? 1.35e6f / ((value) * 2) : 0;
|
sensor.Value = (value < 0xffff) ? 1.35e6f / ((value) * 2) : 0;
|
||||||
if (sensor.Value > 0)
|
if (sensor.Value > 0)
|
||||||
ActivateSensor(sensor);
|
ActivateSensor(sensor);
|
||||||
|
Reference in New Issue
Block a user