diff options
author | Duncan Laurie <dlaurie@chromium.org> | 2013-08-09 13:45:31 -0700 |
---|---|---|
committer | ChromeBot <chrome-bot@google.com> | 2013-08-09 13:51:58 -0700 |
commit | e71ba403c4f1893b7f52b1d6b06b124d913833b4 (patch) | |
tree | cfc6d8d5267aad9eae24adab15963ee864018f18 | |
parent | 007ed831156a406b79a2d7305e653109cc2960fe (diff) | |
download | chrome-ec-e71ba403c4f1893b7f52b1d6b06b124d913833b4.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.
Original-Change-Id: I25f04db56bf62394b5bb2e0d56edbda3a0bb5e25
Signed-off-by: Dave Parker <dparker@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/64280
(cherry picked from commit 33f8086c90b8ecc3289c4c144103eb5c6dc0eea8)
Change-Id: I8234d5d0c36716e9e0106eafc720735148c1f02e
Signed-off-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-on: https://gerrit.chromium.org/gerrit/65365
-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; |