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:
@@ -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;
|
||||
|
||||
Generated
+9
-1
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user