diff options
author | Dave Parker <dparker@chromium.org> | 2013-08-01 14:57:09 -0700 |
---|---|---|
committer | Dave Parker <dparker@chromium.org> | 2013-08-13 16:38:38 -0700 |
commit | c6bebfdcca10cffe34e149114a5243f15f2881c3 (patch) | |
tree | 0bc0f3308822eb0a28ea337a47f6679d4c7edf42 | |
parent | 5c9363937b8cc889f20cc83459233323800ea27a (diff) | |
download | chrome-ec-c6bebfdcca10cffe34e149114a5243f15f2881c3.tar.gz |
CHERRY-PICK:Track the duration of each charge/discharge state.
BUG=chromium:267146
BRANCH=falco,peppy
TEST=Manual. Observe charge state messages on the ec console.
Change-Id: I287d56b4d7ce52e58bbec32cf0641b66d1779f74
Original-Change-Id: I25f04db56bf62394b5bb2e0d56edbda3a0bb5e25
Signed-off-by: Dave Parker <dparker@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/64280
Reviewed-on: https://gerrit.chromium.org/gerrit/65761
-rw-r--r-- | common/charge_state.c | 7 | ||||
-rw-r--r-- | include/charge_state.h | 1 |
2 files changed, 6 insertions, 2 deletions
diff --git a/common/charge_state.c b/common/charge_state.c index 3a9cf252ca..f7a644bfe3 100644 --- a/common/charge_state.c +++ b/common/charge_state.c @@ -686,9 +686,12 @@ void charger_task(void) if (new_state) { ctx->curr.state = new_state; - CPRINTF("[%T Charge state %s -> %s]\n", + CPRINTF("[%T Charge state %s -> %s after %.6ld sec]\n", state_name[ctx->prev.state], - state_name[new_state]); + state_name[new_state], + ctx->curr.ts.val - + ctx->power_state_updated_time.val); + ctx->power_state_updated_time = ctx->curr.ts; hook_notify(HOOK_CHARGE_STATE_CHANGE); } diff --git a/include/charge_state.h b/include/charge_state.h index d2dd4aa052..722de8cd4f 100644 --- a/include/charge_state.h +++ b/include/charge_state.h @@ -108,6 +108,7 @@ struct power_state_data { struct power_state_context { struct power_state_data curr; struct power_state_data prev; + timestamp_t power_state_updated_time; uint32_t *memmap_batt_volt; /* TODO(rong): check endianness of EC and memmap*/ uint32_t *memmap_batt_rate; |