- 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
28 lines
854 B
C#
28 lines
854 B
C#
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;
|
||
}
|
||
}
|