Add FanControl.ChromeboxEC plugin, project background, ectool docs
- Add FanControl.ChromeboxEC plugin for Fan Control - Add project background/缘由 in README (EN/zh) - Add docs/ectool-commands-zh.md - Update sln, appsettings, gitignore Made-with: Cursor
This commit is contained in:
27
FanControl.ChromeboxEC/ChromeboxECFanSensor.cs
Normal file
27
FanControl.ChromeboxEC/ChromeboxECFanSensor.cs
Normal file
@@ -0,0 +1,27 @@
|
||||
using FanControl.Plugins;
|
||||
|
||||
namespace FanControl.ChromeboxEC;
|
||||
|
||||
/// <summary>风扇转速:ectool pwmgetfanrpm [index|all]</summary>
|
||||
public sealed class ChromeboxECFanSensor : IPluginSensor
|
||||
{
|
||||
private readonly string _ectoolPath;
|
||||
private readonly string[] _rpmArgs;
|
||||
|
||||
public ChromeboxECFanSensor(string ectoolPath, string[] rpmArgs)
|
||||
{
|
||||
_ectoolPath = ectoolPath;
|
||||
_rpmArgs = rpmArgs is { Length: > 0 } ? rpmArgs : ["pwmgetfanrpm", "0"];
|
||||
}
|
||||
|
||||
public string Id => "ChromeboxEC_Fan";
|
||||
public string Name => "Chromebox EC Fan RPM";
|
||||
public string Origin => "ectool pwmgetfanrpm";
|
||||
public float? Value { get; private set; }
|
||||
|
||||
public void Update()
|
||||
{
|
||||
var (ok, stdout, _) = EctoolRunner.Run(_ectoolPath, _rpmArgs);
|
||||
Value = ok && EctoolRunner.TryParseFanRpm(stdout) is { } rpm ? rpm : null;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user