Some checks failed
Deploy to Gitea Releases / deploy-to-gitea-releases (push) Failing after 9s
49 lines
2.5 KiB
C#
49 lines
2.5 KiB
C#
namespace HardwareMonitorStatusWindow.Service;
|
|
|
|
public class Sensor
|
|
{
|
|
public required SensorType Type { get; set; }
|
|
public required string Identifier { get; set; }
|
|
public required string Name { get; set; }
|
|
public required float? Value { get; set; }
|
|
|
|
internal static Sensor Create(LibreHardwareMonitor.Hardware.ISensor sensor)
|
|
{
|
|
return new Sensor
|
|
{
|
|
Type = MapSensorType(sensor.SensorType),
|
|
Name = sensor.Name,
|
|
Identifier = sensor.Identifier.ToString(),
|
|
Value = sensor.Value
|
|
};
|
|
}
|
|
|
|
private static SensorType MapSensorType(LibreHardwareMonitor.Hardware.SensorType sensorType)
|
|
{
|
|
return sensorType switch
|
|
{
|
|
LibreHardwareMonitor.Hardware.SensorType.Voltage => SensorType.Voltage,
|
|
LibreHardwareMonitor.Hardware.SensorType.Current => SensorType.Current,
|
|
LibreHardwareMonitor.Hardware.SensorType.Power => SensorType.Power,
|
|
LibreHardwareMonitor.Hardware.SensorType.Clock => SensorType.Clock,
|
|
LibreHardwareMonitor.Hardware.SensorType.Temperature => SensorType.Temperature,
|
|
LibreHardwareMonitor.Hardware.SensorType.Load => SensorType.Load,
|
|
LibreHardwareMonitor.Hardware.SensorType.Frequency => SensorType.Frequency,
|
|
LibreHardwareMonitor.Hardware.SensorType.Fan => SensorType.Fan,
|
|
LibreHardwareMonitor.Hardware.SensorType.Flow => SensorType.Flow,
|
|
LibreHardwareMonitor.Hardware.SensorType.Control => SensorType.Control,
|
|
LibreHardwareMonitor.Hardware.SensorType.Level => SensorType.Level,
|
|
LibreHardwareMonitor.Hardware.SensorType.Factor => SensorType.Factor,
|
|
LibreHardwareMonitor.Hardware.SensorType.Data => SensorType.Data,
|
|
LibreHardwareMonitor.Hardware.SensorType.SmallData => SensorType.SmallData,
|
|
LibreHardwareMonitor.Hardware.SensorType.Throughput => SensorType.Throughput,
|
|
LibreHardwareMonitor.Hardware.SensorType.TimeSpan => SensorType.TimeSpan,
|
|
LibreHardwareMonitor.Hardware.SensorType.Timing => SensorType.Timing,
|
|
LibreHardwareMonitor.Hardware.SensorType.Energy => SensorType.Energy,
|
|
LibreHardwareMonitor.Hardware.SensorType.Noise => SensorType.Noise,
|
|
LibreHardwareMonitor.Hardware.SensorType.Conductivity => SensorType.Conductivity,
|
|
LibreHardwareMonitor.Hardware.SensorType.Humidity => SensorType.Humidity,
|
|
_ => throw new ArgumentOutOfRangeException(nameof(sensorType), sensorType, null)
|
|
};
|
|
}
|
|
} |