summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerrit <chrome-bot@google.com>2012-03-20 01:11:50 -0700
committerGerrit Code Review <gerrit@gerrit.golo.chromium.org>2012-03-20 01:11:50 -0700
commit7cf6983eb5eb759a4f58e02bc4c45489b77338e0 (patch)
tree85b83dd22d8870dce9dc01b7c99b5c7a36f164dc
parent1fd7062b29c685d98be8586ded4587e5e1e169ee (diff)
parent13ad11292e37926ceca8f28a17264dd906c24dea (diff)
downloadchrome-ec-7cf6983eb5eb759a4f58e02bc4c45489b77338e0.tar.gz
Merge "Set power adapter LED based on charge state"
-rw-r--r--common/charge_state.c14
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;
}