12个版本
0.1.11 | 2021年8月22日 |
---|---|
0.1.10 | 2021年8月11日 |
0.1.9 | 2021年7月28日 |
0.1.8 | 2021年2月25日 |
0.1.3 | 2020年7月15日 |
#1229 in 硬件支持
每月42次下载
18KB
350 行
此crate与acpi交互需要acpi_call 内核模块。
示例
let mut curve = Curve::new();
curve.set_point(0, 30, 0);
curve.set_point(1, 40, 1);
curve.set_point(2, 50, 4);
curve.set_point(3, 60, 4);
curve.set_point(4, 70, 13);
curve.set_point(5, 80, 40);
curve.set_point(6, 90, 100);
curve.set_point(7, 100, 100);
let board = Board::from_name("GA401IV").unwrap();
curve.apply(board, Fan::Cpu)?;
curve.apply(board, Fan::Gpu)?;
风扇速度和温度
温度单位为摄氏度。
风扇速度大约是百分比风扇速度。该刻度是非线性的,超过100的值似乎会导致风扇速度略高。0值将关闭风扇。
一个温度和速度的配对表示在某个温度下的风扇速度,例如40c:10%表示当温度超过40C时,风扇将以10%的速度运行。
配置字符串格式
配置字符串遵循以下格式
<t>c:<s>%,<t>c:<s>%,<t>c:<s>%,<t>c:<s>%,<t>c:<s>%,<t>c:<s>%,<t>c:<s>%,<t>c:<s>%
其中t是温度,s是风扇速度。
曲线必须正好有8对。此格式应与atrofac使用的格式相匹配。
示例
30c:0%,40c:5%,50c:10%,60c:20%,70c:35%,80c:55%,90c:65%,100c:65%`
Serde
Curve
实现了序列化和反序列化到/从配置字符串格式。
示例
在Cargo.toml
rog_fan_curve = { version = "*", features = ["serde"] }
let json = "\"30c:0%,40c:5%,50c:10%,60c:20%,70c:35%,80c:55%,90c:65%,100c:75%\"";
let curve: Curve = serde_json::from_str(json)?;
let new_json = serde_json::to_string(&curve)?;
assert_eq!(json, new_json);
依赖项
~180KB