summaryrefslogtreecommitdiff
path: root/common/charge_state.c
diff options
context:
space:
mode:
Diffstat (limited to 'common/charge_state.c')
-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;
}