Skip to content

Commit 16d982b

Browse files
committed
WIP: Print extra battery info from customized memmap
Signed-off-by: Daniel Schaefer <dhs@frame.work>
1 parent f872ddf commit 16d982b

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

framework_lib/src/power.rs

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,15 @@ const EC_BATT_FLAG_DISCHARGING: u8 = 0x04;
7171
const EC_BATT_FLAG_CHARGING: u8 = 0x08;
7272
const EC_BATT_FLAG_LEVEL_CRITICAL: u8 = 0x10;
7373

74+
const EC_CUSTOMIZED_MEMMAP_BATT_AVER_TEMP: u16 = 0x103;
75+
const EC_CUSTOMIZED_MEMMAP_BATT_CHARGE_CURR: u16 = 0x104;
76+
const EC_CUSTOMIZED_MEMMAP_BATT_PERCENTAGE: u16 = 0x106;
77+
const EC_CUSTOMIZED_MEMMAP_BATT_STATUS: u16 = 0x107;
78+
const EC_CUSTOMIZED_MEMMAP_BATT_TRIP_POINT: u16 = 0x108;
79+
const EC_CUSTOMIZED_MEMMAP_BATT_MANUF_DAY: u16 = 0x144;
80+
const EC_CUSTOMIZED_MEMMAP_BATT_MANUF_MONTH: u16 = 0x145;
81+
const EC_CUSTOMIZED_MEMMAP_BATT_MANUF_YEAR: u16 = 0x146;
82+
7483
const EC_FAN_SPEED_ENTRIES: usize = 4;
7584
/// Used on old EC firmware (before 2023)
7685
const EC_FAN_SPEED_STALLED_DEPRECATED: u16 = 0xFFFE;
@@ -490,6 +499,23 @@ pub fn power_info(ec: &CrosEc) -> Option<PowerInfo> {
490499
let serial_number = read_string(ec, EC_MEMMAP_BATT_SERIAL);
491500
let battery_type = read_string(ec, EC_MEMMAP_BATT_TYPE);
492501

502+
let average_temp = ec.read_memory(EC_CUSTOMIZED_MEMMAP_BATT_AVER_TEMP, 1);
503+
let charger_current = ec.read_memory(EC_CUSTOMIZED_MEMMAP_BATT_CHARGE_CURR, 1);
504+
let batt_percentage = ec.read_memory(EC_CUSTOMIZED_MEMMAP_BATT_PERCENTAGE, 1);
505+
let batt_status = ec.read_memory(EC_CUSTOMIZED_MEMMAP_BATT_STATUS, 1);
506+
let trip_point = ec.read_memory(EC_CUSTOMIZED_MEMMAP_BATT_TRIP_POINT, 2);
507+
let manuf_day = ec.read_memory(EC_CUSTOMIZED_MEMMAP_BATT_MANUF_DAY, 1);
508+
let manuf_month = ec.read_memory(EC_CUSTOMIZED_MEMMAP_BATT_MANUF_MONTH, 1);
509+
let manuf_year = ec.read_memory(EC_CUSTOMIZED_MEMMAP_BATT_MANUF_YEAR, 2);
510+
println!("{:?}", average_temp);
511+
println!("{:?}", charger_current);
512+
println!("{:?}", batt_percentage);
513+
println!("{:?}", batt_status);
514+
println!("{:?}", trip_point);
515+
println!("{:?}", manuf_day);
516+
println!("{:?}", manuf_month);
517+
println!("{:?}", manuf_year);
518+
493519
Some(PowerInfo {
494520
ac_present: 0 != (battery_flag & EC_BATT_FLAG_AC_PRESENT),
495521
battery: if 0 != (battery_flag & EC_BATT_FLAG_BATT_PRESENT) {

0 commit comments

Comments
 (0)