6 个版本

0.3.1 2024年7月2日
0.3.0 2024年5月7日
0.2.2 2024年4月23日
0.2.1 2023年12月5日
0.1.0 2023年12月5日

#336硬件支持

Download history 42/week @ 2024-04-24 60/week @ 2024-05-01 48/week @ 2024-05-08 2/week @ 2024-05-15 10/week @ 2024-05-22 104/week @ 2024-06-26 53/week @ 2024-07-03

每月381 次下载

MIT 许可证

27KB
546

unsafe forbidden License

libfancontrold

libfancontrold 是 fancontrold 的基本库,fancontrold 是一个用 Rust 编写的系统守护进程,根据可配置的传感器输入控制计算机的风扇。

用法

只需将其添加到您的 Cargo.toml 文件中

[dependencies]
libfancontrold = "0.2"

Cargo-Features

  • async:构建此库的异步版本。

配置

Libfancontrold 支持 json 格式的配置。

配置必须具有以下结构

{
    "channels": [channel objects]
}

每个通道对象需要以下字段

  • "hwmon_device_path":要控制的风扇的 hwmon 设备路径。"/sys/devices/platform/nct6775.2592" 或类似路径。
  • "index":控制的风扇的索引。
  • "temps":一个温度对象数组,从中提取风扇速度。此数组中必须至少有一个温度对象或 "virtual_temps" 中的路径。每个温度对象需要以下字段
    • "hwmon_device_path":温度的 hwmon 设备路径。
    • "index":温度传感器的索引。
  • "virtual_temps":一个文件路径数组,从中提取风扇速度。此数组中必须至少有一个路径或 "temps" 中的温度对象。
  • "curve":一个对象,包含温度和 pwm 值的配对,形成类似于这样的曲线
"Curve": {
    "40": 50,
    "50": 100,
    "60": 200
}

通道对象的可选字段

  • "mtf":如果 temps 数组中有多个对象,此字段确定哪个温度将被检查以计算风扇速度。有三个可能的值
    • "Min" - 选择最低温度。
    • "Max" - 选择最高温度。
    • "Average" - 计算所有温度的平均值。
  • "min_pwm":(0-255)此通道的最小 pwm 值。默认为 100。
  • "min_start":(0-255)如果风扇停止,则重新启动此风扇的 pwm 值。仅当 min_pwm 大于零时使用。
  • "pwm_mode":风扇速度调节模式。它可以有以下值
    • "PWM" - 脉宽调制。需要四针连接器。
    • "DC" - 电压控制。应仅与三针风扇一起使用。
    • "Automatic" - 如果主板连接器支持 PWM,则使用 PWM,否则使用 DC。推荐并默认值。
  • "average":(1-10)用于计算平均温度的经过秒数。可用于平滑温度峰值。默认值为 1。

依赖关系

~1–3MB
~60K SLoC