28 个发布版本

0.11.0 2024年7月2日
0.9.0 2024年6月28日
0.7.0 2022年8月18日
0.6.3 2022年4月14日
0.1.1 2019年11月24日

#57 in 硬件支持

Download history 300/week @ 2024-04-28 195/week @ 2024-05-05 364/week @ 2024-05-12 58/week @ 2024-05-19 456/week @ 2024-05-26 85/week @ 2024-06-02 272/week @ 2024-06-09 412/week @ 2024-06-16 689/week @ 2024-06-23 696/week @ 2024-06-30 318/week @ 2024-07-07 210/week @ 2024-07-14 267/week @ 2024-07-21 685/week @ 2024-07-28 329/week @ 2024-08-04 131/week @ 2024-08-11

1,417 每月下载次数
用于 3 crates

MIT 许可证

275KB
6K SLoC

unsafe forbidden License

libmedium

一个安全的 Rust 库,用于与 lm-sensors 的 sysfs 接口通信。

用法

只需将此内容添加到您的 Cargo.toml 文件中

[dependencies]
libmedium = "0.11"

Cargo-Features

标准特性

  • writeable: 允许写入 sysfs 的所有功能的特性。这包括设置 pwm 值和禁用传感器。
  • sync: 构建所有传感器的同步版本。
  • virtual_sensors: 允许您创建虚拟传感器的特性。虚拟传感器不属于 sysfs,但可以是驱动程序或用户提供的任何文件。

非标准特性

  • uom_units: 传感器值以 uom crate 的类型返回。
  • unrestricted_parsing: 此特性允许解析除 '/sys/class/hwmon' 之外的其他路径。这仅适用于测试和调试。
  • async: 构建所有传感器的异步版本。

示例

  • 打印系统中所有温度传感器的温度
use libmedium::{
    parse_hwmons,
    sensors::sync_sensors::{temp::TempSensor, SyncSensor},
};

let hwmons = parse_hwmons().unwrap();
for hwmon in &hwmons {
    println!("hwmon{} with name {}:", hwmon.index(), hwmon.name());
    for (_, temp_sensor) in hwmon.temps() {
        let temperature = temp_sensor.read_input().unwrap();
        println!("\t{}: {}", temp_sensor.name(), temperature);
    }
}
  • 将所有具有 pwm 能力的风扇的 pwm 值设置为全速(这需要启用 writeable 特性)
use libmedium::{
    parse_hwmons,
    sensors::sync_sensors::pwm::WriteablePwmSensor,
    units::{Pwm, PwmEnable},
};

let hwmons = parse_hwmons().unwrap();
for hwmon in &hwmons {
    for (_, pwm) in hwmon.writeable_pwms() {
        pwm.write_enable(PwmEnable::ManualControl).unwrap();
        pwm.write_pwm(Pwm::FULLSPEED).unwrap();
    }
}

许可证

本项目采用 MIT 许可证 - 请参阅 LICENSE 文件以获取详细信息

依赖项

~0–1.5MB
~27K SLoC