From 2768a49fd1540cfc42652357bea6497b52042a36 Mon Sep 17 00:00:00 2001 From: Randall Spangler Date: Tue, 2 Oct 2012 09:48:15 -0700 Subject: [PATCH] link: Add more info to 'ectool battery' Now prints the rest of the memory-mapped battery info. BUG=chrome-os-partner:14630 BRANCH=link TEST=ectool battery, then compare with 'battery' at ec console Change-Id: I3f5222d898bbcb8b79774a5848f9aed0067a0d49 Signed-off-by: Randall Spangler Reviewed-on: https://gerrit.chromium.org/gerrit/34424 Reviewed-by: Bill Richardson --- util/ectool.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/util/ectool.c b/util/ectool.c index f281fd62ac..43ea8e7c70 100644 --- a/util/ectool.c +++ b/util/ectool.c @@ -1937,6 +1937,35 @@ int cmd_battery(int argc, char *argv[]) goto cmd_error; printf(" Cycle count %u\n", val); + val = read_mapped_mem32(EC_MEMMAP_BATT_VOLT); + if (!is_battery_range(val)) + goto cmd_error; + printf(" Present voltage %u mV\n", val); + + val = read_mapped_mem32(EC_MEMMAP_BATT_RATE); + if (!is_battery_range(val)) + goto cmd_error; + printf(" Present current %u mA\n", val); + + val = read_mapped_mem32(EC_MEMMAP_BATT_CAP); + if (!is_battery_range(val)) + goto cmd_error; + printf(" Remaining capacity %u mAh\n", val); + + val = read_mapped_mem8(EC_MEMMAP_BATT_FLAG); + printf(" Flags 0x%02x", val); + if (val & EC_BATT_FLAG_AC_PRESENT) + printf(" AC_PRESENT"); + if (val & EC_BATT_FLAG_BATT_PRESENT) + printf(" BATT_PRESENT"); + if (val & EC_BATT_FLAG_DISCHARGING) + printf(" DISCHARGING"); + if (val & EC_BATT_FLAG_CHARGING) + printf(" CHARGING"); + if (val & EC_BATT_FLAG_LEVEL_CRITICAL) + printf(" LEVEL_CRITICAL"); + printf("\n"); + return 0; cmd_error: fprintf(stderr, "Bad battery info value. Check protocol version.");