Skip to content

Commit 5572db3

Browse files
committed
--thermal: log in csv format
Signed-off-by: Daniel Schaefer <[email protected]>
1 parent d515b02 commit 5572db3

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

framework_lib/src/power.rs

+37
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,11 @@ enum TempSensor {
8484
NotPowered,
8585
NotCalibrated,
8686
}
87+
impl From<&u8> for TempSensor {
88+
fn from(t: &u8) -> Self {
89+
TempSensor::from(*t)
90+
}
91+
}
8792
impl From<u8> for TempSensor {
8893
fn from(t: u8) -> Self {
8994
match t {
@@ -310,6 +315,38 @@ pub fn print_sensors(ec: &CrosEc) {
310315
}
311316

312317
pub fn print_thermal(ec: &CrosEc) {
318+
println!("timestamp, fan0,fan1,temp0,temp1,temp2,temp3,temp4,temp5,temp6,temp7,");
319+
loop {
320+
let temps = ec.read_memory(EC_MEMMAP_TEMP_SENSOR, 0x0F).unwrap();
321+
let fans = ec.read_memory(EC_MEMMAP_FAN, 0x08).unwrap();
322+
let now = std::time::SystemTime::now();
323+
let timestamp = now.duration_since(std::time::SystemTime::UNIX_EPOCH);
324+
325+
print!("{},", timestamp.unwrap().as_secs());
326+
327+
for i in 0..2 {
328+
let fan = u16::from_le_bytes([fans[i * 2], fans[1 + i * 2]]);
329+
if fan == EC_FAN_SPEED_STALLED_DEPRECATED || fan == EC_FAN_SPEED_NOT_PRESENT {
330+
print!(" ,");
331+
} else {
332+
print!("{:>4},", fan);
333+
}
334+
}
335+
336+
for temp in temps.iter().take(8) {
337+
if let TempSensor::Ok(c) = TempSensor::from(temp) {
338+
print!(" {:>4?},", c);
339+
} else {
340+
print!(" ,");
341+
}
342+
}
343+
println!();
344+
345+
crate::os_specific::sleep(1000_000)
346+
}
347+
}
348+
349+
pub fn foo_thermal(ec: &CrosEc) {
313350
let temps = ec.read_memory(EC_MEMMAP_TEMP_SENSOR, 0x0F).unwrap();
314351
let fans = ec.read_memory(EC_MEMMAP_FAN, 0x08).unwrap();
315352

0 commit comments

Comments
 (0)