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>
This commit is contained in:
Randall Spangler
2012-10-02 09:48:15 -07:00
committed by Gerrit
parent bc50e0cabb
commit 2768a49fd1

View File

@@ -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.");