diff options
author | Dave Parker <dparker@chromium.org> | 2013-08-01 14:57:09 -0700 |
---|---|---|
committer | ChromeBot <chrome-bot@google.com> | 2013-08-02 12:16:43 -0700 |
commit | 33f8086c90b8ecc3289c4c144103eb5c6dc0eea8 (patch) | |
tree | e98e9cbdda17e6ed45b2881f5e62a5bcaed30a98 | |
parent | 150f175609ceea03a4da2eafb737484790ac8931 (diff) | |
download | chrome-ec-33f8086c90b8ecc3289c4c144103eb5c6dc0eea8.tar.gz |
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: I25f04db56bf62394b5bb2e0d56edbda3a0bb5e25
Signed-off-by: Dave Parker <dparker@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/64280
-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; |