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 <alecaberg@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/302685
Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
This commit is contained in:
Alec Berg
2015-09-28 10:20:22 -07:00
committed by chrome-bot
parent 852fb5d7f9
commit 1c2bbee5c7

View File

@@ -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;