Skip to content

Commit 90e7d56

Browse files
committed
--thermal: Decode fan names
Useful for systems with more than one fan (Laptop 16, Desktop) Signed-off-by: Daniel Schaefer <dhs@frame.work>
1 parent 1cf031f commit 90e7d56

2 files changed

Lines changed: 19 additions & 7 deletions

File tree

EXAMPLES.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -484,7 +484,7 @@ Board IDs
484484
F75303_CPU: 44 C
485485
F75303_DDR: 39 C
486486
APU: 62 C
487-
Fan Speed: 0 RPM
487+
API Fan: 0 RPM
488488
```
489489

490490
## Check sensors
@@ -517,7 +517,7 @@ Accelerometers:
517517
F75303_CPU: 41 C
518518
F75303_DDR: 37 C
519519
APU: 42 C
520-
Fan Speed: 7281 RPM
520+
APU Fan: 7281 RPM
521521
522522
# Set a target RPM (all or just fan ID=0)
523523
> sudo framework_tool --fansetrpm 3141
@@ -527,7 +527,7 @@ Accelerometers:
527527
F75303_CPU: 42 C
528528
F75303_DDR: 37 C
529529
APU: 44 C
530-
Fan Speed: 3171 RPM
530+
APU Fan: 3171 RPM
531531
532532
# And back to normal
533533
> sudo framework_tool --autofanctrl
@@ -536,7 +536,7 @@ Accelerometers:
536536
F75303_CPU: 40 C
537537
F75303_DDR: 38 C
538538
APU: 42 C
539-
Fan Speed: 0 RPM
539+
APU Fan: 0 RPM
540540
541541
# Or just for a specific fan (e.g. on Framework Desktop)
542542
> sudo framework_tool --autofanctrl 0

framework_lib/src/power.rs

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -445,13 +445,25 @@ pub fn print_thermal(ec: &CrosEc) {
445445
}
446446

447447
for i in 0..EC_FAN_SPEED_ENTRIES {
448+
let name = match (i, family) {
449+
(0, Some(PlatformFamily::Framework12)) => "APU Fan".to_string(),
450+
(0, Some(PlatformFamily::Framework13)) => "APU Fan".to_string(),
451+
(0, Some(PlatformFamily::Framework16)) => "Left Fan".to_string(),
452+
(1, Some(PlatformFamily::Framework16)) => "Right Fan".to_string(),
453+
(0, Some(PlatformFamily::FrameworkDesktop)) => "APU Fan".to_string(),
454+
(1, Some(PlatformFamily::FrameworkDesktop)) => "Front Fan".to_string(),
455+
(2, Some(PlatformFamily::FrameworkDesktop)) => "Third Fan".to_string(),
456+
_ => format!("Fan {i}"),
457+
};
458+
let name = format!("{name}:");
459+
448460
let fan = u16::from_le_bytes([fans[i * 2], fans[1 + i * 2]]);
449461
if fan == EC_FAN_SPEED_STALLED_DEPRECATED {
450-
println!(" Fan Speed: {:>4} RPM (Stalled)", fan);
462+
println!(" {name:<11} {:>4} RPM (Stalled)", fan);
451463
} else if fan == EC_FAN_SPEED_NOT_PRESENT {
452-
info!(" Fan Speed: Not present");
464+
info!(" {name:<11} Not present");
453465
} else {
454-
println!(" Fan Speed: {:>4} RPM", fan);
466+
println!(" {name:<11} {:>4} RPM", fan);
455467
}
456468
}
457469
}

0 commit comments

Comments
 (0)