Add Network (NIC) support (updated) (#52)

* [Core] Add Network (NIC) support - All credits to XiaofengdiZhu (https://github.com/XiaofengdiZhu/openhardwaremonitor/commits/EditeByXiaofengdizhu)

* [Core] NIC: Rename InternetSpeed to Throughput, drop non physical devices (like loopback), fix alltime stats for adapter
This commit is contained in:
LORDofDOOM
2018-08-26 10:51:09 +02:00
committed by Phyxion
parent f6d3338cda
commit 4ce099c5bf
17 changed files with 730 additions and 404 deletions
+3
View File
@@ -62,6 +62,9 @@ namespace OpenHardwareMonitor.GUI {
case HardwareType.Aquacomputer:
image = Utilities.EmbeddedResources.GetImage("acicon.png");
break;
case HardwareType.NIC:
image = Utilities.EmbeddedResources.GetImage("nic.png");
break;
default:
image = new Bitmap(1, 1);
break;
+9 -1
View File
@@ -96,6 +96,7 @@ namespace OpenHardwareMonitor.GUI {
this.timer = new System.Windows.Forms.Timer(this.components);
this.splitContainer = new OpenHardwareMonitor.GUI.SplitContainerAdv();
this.treeView = new Aga.Controls.Tree.TreeViewAdv();
this.nicMenuItem = new System.Windows.Forms.MenuItem();
this.logSeparatorMenuItem = new System.Windows.Forms.MenuItem();
this.loggingIntervalMenuItem = new System.Windows.Forms.MenuItem();
this.log1sMenuItem = new System.Windows.Forms.MenuItem();
@@ -247,7 +248,8 @@ namespace OpenHardwareMonitor.GUI {
this.ramMenuItem,
this.gpuMenuItem,
this.fanControllerMenuItem,
this.hddMenuItem});
this.hddMenuItem,
this.nicMenuItem});
this.menuItem5.Text = "Hardware";
//
// mainboardMenuItem
@@ -280,6 +282,11 @@ namespace OpenHardwareMonitor.GUI {
this.hddMenuItem.Index = 5;
this.hddMenuItem.Text = "Hard Disk Drives";
//
// nicItem
//
this.nicMenuItem.Index = 6;
this.nicMenuItem.Text = "Network";
//
// menuItem6
//
this.menuItem6.Index = 5;
@@ -762,6 +769,7 @@ namespace OpenHardwareMonitor.GUI {
private System.Windows.Forms.MenuItem log1hMenuItem;
private System.Windows.Forms.MenuItem log2hMenuItem;
private System.Windows.Forms.MenuItem log6hMenuItem;
private System.Windows.Forms.MenuItem nicMenuItem;
}
}
+7
View File
@@ -58,6 +58,7 @@ namespace OpenHardwareMonitor.GUI {
private UserOption readGpuSensors;
private UserOption readFanControllersSensors;
private UserOption readHddSensors;
private UserOption readNicSensors;
private UserOption showGadget;
private UserRadioGroup plotLocation;
@@ -266,6 +267,12 @@ namespace OpenHardwareMonitor.GUI {
computer.HDDEnabled = readHddSensors.Value;
};
readNicSensors = new UserOption("nicMenuItem", true, nicMenuItem,
settings);
readNicSensors.Changed += delegate(object sender, EventArgs e) {
computer.NICEnabled = readNicSensors.Value;
};
showGadget = new UserOption("gadgetMenuItem", false, gadgetMenuItem,
settings);
showGadget.Changed += delegate(object sender, EventArgs e) {
+37
View File
@@ -576,6 +576,8 @@ namespace OpenHardwareMonitor.GUI {
case SensorType.Data:
format = "{0:F1} GB";
break;
case SensorType.SmallData: format = "{0:F0} MB";
break;
case SensorType.Factor:
format = "{0:F3}";
break;
@@ -585,6 +587,41 @@ namespace OpenHardwareMonitor.GUI {
unitManager.TemperatureUnit == TemperatureUnit.Fahrenheit) {
formatted = string.Format("{0:F1} °F",
UnitManager.CelsiusToFahrenheit(sensor.Value));
} else if(sensor.SensorType == SensorType.Throughput)
{
string result = "-";
switch (sensor.Name){
case "Connection Speed": {
switch (sensor.Value){
case 100000000:
result = "100Mbps";
break;
case 1000000000:
result = "1Gbps";
break;
default: {
if (sensor.Value < 1024)
result = string.Format("{0:F0} bps", sensor.Value);
else if(sensor.Value < 1048576)
result = string.Format("{0:F1} Kbps", sensor.Value / 1024);
else if(sensor.Value < 1073741824)
result = string.Format("{0:F1} Mbps", sensor.Value / 1048576);
else
result = string.Format("{0:F1} Gbps", sensor.Value / 1073741824);
}
break;
}
}
break;
default:{
if (sensor.Value < 1048576)
result = string.Format("{0:F1} KB/s", sensor.Value / 1024);
else
result = string.Format("{0:F1} MB/s", sensor.Value / 1048576);
}
break;
}
formatted = result;
} else {
formatted = string.Format(format, sensor.Value);
}
+33
View File
@@ -29,6 +29,38 @@ namespace OpenHardwareMonitor.GUI {
if (sensor.SensorType == SensorType.Temperature &&
unitManager.TemperatureUnit == TemperatureUnit.Fahrenheit) {
return string.Format("{0:F1} °F", value * 1.8 + 32);
} else if(sensor.SensorType == SensorType.Throughput){ string result = "-";
switch (sensor.Name){
case "Connection Speed": {
switch (value){
case 100000000:
result = "100Mbps";
break;
case 1000000000:
result = "1Gbps";
break;
default: {
if (value < 1024)
result = string.Format("{0:F0} bps", value);
else if (value < 1048576)
result = string.Format("{0:F1} Kbps",value/1024);
else if (value < 1073741824)
result = string.Format("{0:F1} Mbps",value/1048576);
else
result = string.Format("{0:F1} Gbps",value/ 1073741824);
} break;
}
}
break;
default:{
if (value<1048576)
result = string.Format("{0:F1} KB/s",value/1024);
else
result = string.Format("{0:F1} MB/s",value/1048576);
}
break;
}
return result;
} else {
return string.Format(format, value);
}
@@ -55,6 +87,7 @@ namespace OpenHardwareMonitor.GUI {
case SensorType.SmallData: format = "{0:F1} MB"; break;
case SensorType.Factor: format = "{0:F3}"; break;
case SensorType.Frequency: format = "{0:F1} Hz"; break;
case SensorType.Throughput: format = "{0:F1} B/s"; break;
}
bool hidden = settings.GetValue(new Identifier(sensor.Identifier,
+4
View File
@@ -73,6 +73,10 @@ namespace OpenHardwareMonitor.GUI {
this.Image = Utilities.EmbeddedResources.GetImage("clock.png");
this.Text = "Frequencys";
break;
case SensorType.Throughput:
this.Image = Utilities.EmbeddedResources.GetImage("throughput.png");
this.Text = "Throughput";
break;
}
NodeAdded += new NodeEventHandler(TypeNode_NodeAdded);