summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDuncan Laurie <dlaurie@chromium.org>2013-08-09 13:45:31 -0700
committerChromeBot <chrome-bot@google.com>2013-08-09 13:51:58 -0700
commite71ba403c4f1893b7f52b1d6b06b124d913833b4 (patch)
treecfc6d8d5267aad9eae24adab15963ee864018f18
parent007ed831156a406b79a2d7305e653109cc2960fe (diff)
downloadchrome-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.c7
-rw-r--r--include/charge_state.h1
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;