From 1c2bbee5c7a779cb22519e8710213a641b43eeff Mon Sep 17 00:00:00 2001 From: Alec Berg Date: Mon, 28 Sep 2015 10:20:22 -0700 Subject: [PATCH] lightbar: on tap sequence, only get battery percentage once Change tap sequence so that it only gets the battery percentage once. This means we won't dynamically change color and level if the battery percentage changes mid sequence, but that's ok. BUG=chrome-os-partner:45878 BRANCH=none TEST=run tap sequence Change-Id: I2183343b69d01f4835302e291a2e1a0a2c658b1e Signed-off-by: Alec Berg Reviewed-on: https://chromium-review.googlesource.com/302685 Reviewed-by: Vincent Palatin --- common/lightbar.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/common/lightbar.c b/common/lightbar.c index 3a2acb0e78..b0bec0b6b4 100644 --- a/common/lightbar.c +++ b/common/lightbar.c @@ -934,20 +934,20 @@ static uint32_t sequence_TAP_inner(int dir) #endif f_osc = st.p.tap_seg_osc * FP_SCALE / 100; + get_battery_level(); + + if (st.battery_level == 0) + base_color = RED; + else if (st.battery_percent > st.p.tap_pct_green) + base_color = GREEN; + else + base_color = YELLOW; + + ci = st.p.tap_idx[base_color]; + max_led = st.battery_percent / CUT; + start = get_time(); while (1) { - get_battery_level(); - - if (st.battery_level == 0) - base_color = RED; - else if (st.battery_percent > st.p.tap_pct_green) - base_color = GREEN; - else - base_color = YELLOW; - - ci = st.p.tap_idx[base_color]; - max_led = st.battery_percent / CUT; - /* Enable the segments gradually */ gi = elapsed_time / st.p.tap_gate_delay; gr = elapsed_time % st.p.tap_gate_delay;