using FanControl.Plugins; namespace FanControl.ChromeboxEC; /// 风扇转速:ectool pwmgetfanrpm [index|all] 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; } }