diff options
author | Rong Chang <rongchang@chromium.org> | 2012-03-19 18:48:56 +0800 |
---|---|---|
committer | Rong Chang <rongchang@chromium.org> | 2012-03-20 14:33:09 +0800 |
commit | 13ad11292e37926ceca8f28a17264dd906c24dea (patch) | |
tree | e684ebb6a42f081a729369e4a0120f230143de31 | |
parent | eb3920ec7a6a5e3e28529fd51a6c63cb6e7509e4 (diff) | |
download | chrome-ec-13ad11292e37926ceca8f28a17264dd906c24dea.tar.gz |
Set power adapter LED based on charge state
Power adapter LED:
GREEN = charge done
YELLOW = charging
RED = error
Signed-off-by: Rong Chang <rongchang@chromium.org>
BUG=chrome-os-partner:8536
TEST=manual
Change-Id: I5580763a4136e1de7f5eae4e3dda8e169309d902
-rw-r--r-- | common/charge_state.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/common/charge_state.c b/common/charge_state.c index 1adea77969..29ea4bba9c 100644 --- a/common/charge_state.c +++ b/common/charge_state.c @@ -14,6 +14,7 @@ #include "gpio.h" #include "lpc.h" #include "lpc_commands.h" +#include "power_led.h" #include "smart_battery.h" #include "timer.h" #include "uart.h" @@ -452,6 +453,10 @@ void charge_state_machine_task(void) batt_flags &= ~EC_BATT_FLAG_CHARGING; batt_flags &= ~EC_BATT_FLAG_DISCHARGING; *ctx.memmap_batt_flags = batt_flags; + + /* Charge done */ + powerled_set(POWERLED_GREEN); + sleep_usec = POLL_PERIOD_LONG; break; case PWR_STATE_DISCHARGE: @@ -466,8 +471,17 @@ void charge_state_machine_task(void) batt_flags |= EC_BATT_FLAG_CHARGING; batt_flags &= ~EC_BATT_FLAG_DISCHARGING; *ctx.memmap_batt_flags = batt_flags; + + /* Charging */ + powerled_set(POWERLED_YELLOW); + sleep_usec = POLL_PERIOD_CHARGE; break; + case PWR_STATE_ERROR: + /* Error */ + powerled_set(POWERLED_RED); + + sleep_usec = POLL_PERIOD_CHARGE; default: sleep_usec = POLL_PERIOD_SHORT; } |