summaryrefslogtreecommitdiff
path: root/util
diff options
context:
space:
mode:
authorRandall Spangler <rspangler@chromium.org>2012-10-02 09:48:15 -0700
committerGerrit <chrome-bot@google.com>2012-10-02 12:51:50 -0700
commit2768a49fd1540cfc42652357bea6497b52042a36 (patch)
tree1cc4e4a6c89563f3d63907e2515a6a47fdd63193 /util
parentbc50e0cabbd241118cbab95b7f202ae90b193a11 (diff)
downloadchrome-ec-2768a49fd1540cfc42652357bea6497b52042a36.tar.gz
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 <rspangler@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/34424 Reviewed-by: Bill Richardson <wfrichar@chromium.org>
Diffstat (limited to 'util')
-rw-r--r--util/ectool.c29
1 files changed, 29 insertions, 0 deletions
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.");