libled: allow infinite flashing mode

This commit is contained in:
Simone Guscetti
2018-01-19 11:55:39 +01:00
committed by Beat Küng
parent bda929bebb
commit c8a1050323
3 changed files with 6 additions and 7 deletions
+4 -5
View File
@@ -140,14 +140,13 @@ int LedController::update(LedControlData &control_data)
if ((_states[i].current_blinking_time += blink_delta_t) > current_blink_duration) {
_states[i].current_blinking_time -= current_blink_duration;
if (cur_data.blink_times_left == 254) {
// handle toggling for infinite case: toggle between 254 and 255
if (cur_data.blink_times_left == 246) {
// handle toggling for infinite case: decrease between 255 and 246
// In order to handle the flash mode infinite case it needs a
// total of 10 steps.
cur_data.blink_times_left = 255;
++num_blinking_do_not_change_state;
} else if (cur_data.blink_times_left == 255) {
cur_data.blink_times_left = 254;
} else if (--cur_data.blink_times_left == 0) {
cur_data.mode = led_control_s::MODE_DISABLED;
_states[i].current_blinking_time = 0;
+1 -1
View File
@@ -158,7 +158,7 @@ private:
if (priority[next_priority].blink_times_left == 0) {
// handle infinite case
priority[next_priority].blink_times_left = 254;
priority[next_priority].blink_times_left = 246;
}