28 个发布版本
0.11.0 | 2024年7月2日 |
---|---|
0.9.0 |
|
0.7.0 | 2022年8月18日 |
0.6.3 | 2022年4月14日 |
0.1.1 | 2019年11月24日 |
#57 in 硬件支持
1,417 每月下载次数
用于 3 crates
275KB
6K SLoC
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