private void dataCheck() { try { string cpuTemp = string.Empty; string gpuTemp = string.Empty; string gpuLoad = string.Empty; string cpuLoad = string.Empty; string ramUsed = string.Empty; string CPUName = string.Empty; string GPUName = string.Empty; // enumerating all the hardware foreach (OpenHardwareMonitor.Hardware.IHardware hw in thisComputer.Hardware) { hw.Update(); switch (hw.HardwareType) { case OpenHardwareMonitor.Hardware.HardwareType.Mainboard: break; case OpenHardwareMonitor.Hardware.HardwareType.SuperIO: break; case OpenHardwareMonitor.Hardware.HardwareType.CPU: CPUName = hw.Name.Substring(4); break; case OpenHardwareMonitor.Hardware.HardwareType.RAM: break; case OpenHardwareMonitor.Hardware.HardwareType.GpuNvidia: GPUName = hw.Name; break; case OpenHardwareMonitor.Hardware.HardwareType.GpuAti: break; case OpenHardwareMonitor.Hardware.HardwareType.TBalancer: break; case OpenHardwareMonitor.Hardware.HardwareType.Heatmaster: break; case OpenHardwareMonitor.Hardware.HardwareType.HDD: break; default: break; } // searching for all sensors and adding data to listbox foreach (OpenHardwareMonitor.Hardware.ISensor sensor in hw.Sensors) { switch (sensor.SensorType) { case OpenHardwareMonitor.Hardware.SensorType.Voltage: break; case OpenHardwareMonitor.Hardware.SensorType.Clock: break; case OpenHardwareMonitor.Hardware.SensorType.Temperature: if (sensor.Value != null) { int curTemp = (int)sensor.Value; switch (sensor.Name) { case "CPU Package": cpuTemp = curTemp.ToString(); break; case "GPU Core": gpuTemp = curTemp.ToString(); break; } } break; case OpenHardwareMonitor.Hardware.SensorType.Load: if (sensor.Value != null) { int curLoad = (int)sensor.Value; switch (sensor.Name) { case "CPU Total": cpuLoad = curLoad.ToString(); break; case "GPU Core": gpuLoad = curLoad.ToString(); break; } } break; case OpenHardwareMonitor.Hardware.SensorType.Fan: break; case OpenHardwareMonitor.Hardware.SensorType.Flow: break; case OpenHardwareMonitor.Hardware.SensorType.Control: break; case OpenHardwareMonitor.Hardware.SensorType.Level: break; case OpenHardwareMonitor.Hardware.SensorType.Factor: break; case OpenHardwareMonitor.Hardware.SensorType.Power: break; case OpenHardwareMonitor.Hardware.SensorType.Data: if (sensor.Value != null) { switch (sensor.Name) { case "Used Memory": decimal decimalRam = Math.Round((decimal)sensor.Value, 1); ramUsed = decimalRam.ToString(); break; } } break; case OpenHardwareMonitor.Hardware.SensorType.SmallData: break; case OpenHardwareMonitor.Hardware.SensorType.Throughput: break; default: break; } } } //string curSong = ""; //Process[] processlist = Process.GetProcesses(); //foreach (Process process in processlist) //{ // if (!String.IsNullOrEmpty(process.MainWindowTitle)) // { // if (process.ProcessName == "AIMP3") // { // curSong = process.MainWindowTitle; // } // else if (process.ProcessName == "foobar2000" && (process.MainWindowTitle.IndexOf("[") > 0)) // { // curSong = process.MainWindowTitle.Substring(0, process.MainWindowTitle.IndexOf("[") - 1); // } // } //} //string arduinoData = "C" + cpuTemp + "c " + cpuLoad + "%|G" + gpuTemp + "c " + gpuLoad + "%|R" + ramUsed + "G|S" + curSong + "|"; string curSong = string.Empty; //string arduinoData = "CPU:" + CPUName + "GPU:" + GPUName + "|" + "CT" + cpuTemp + "ct " + cpuLoad + "|G" + gpuTemp + "c " + gpuLoad + "%|R" + ramUsed + "G|S" + curSong + "|"; //string arduinoData = "CPU:" + CPUName + "GPU:" + GPUName + "|" + "CT" + cpuTemp + "ct " + cpuLoad + "|G" + gpuTemp + "c " + gpuLoad + "%|R" + ramUsed + "G|"; string arduinoData = "CPU:" + CPUName + "GPU:" + GPUName + "CT:" + cpuTemp + "CL:" + cpuLoad + "GT:" + gpuTemp + "GL:" + gpuLoad + "RAM:" + ramUsed + "SONG:" + curSong + "|"; string[] data = new string[] { CPUName, cpuTemp, cpuLoad, GPUName, gpuTemp, gpuLoad }; SensorDataChanged?.Invoke(arduinoData, data); } catch (Exception) { throw; } }
private void OnSensorDataChanged() { SensorDataChanged?.Invoke(this, EventArgs.Empty); }
private void UpdateDelta(SensorData data) { SensorDataChanged?.Invoke(this, data); }