From aa7e15ca8e13867b4edcbb1cbde2bca496fc764f Mon Sep 17 00:00:00 2001 From: Selene ToyKeeper Date: Thu, 24 Aug 2017 03:20:06 -0600 Subject: Fixed repeating blinks at ends of ramp -- only blinks once now. --- spaghetti-monster/ramping-ui.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/spaghetti-monster/ramping-ui.c b/spaghetti-monster/ramping-ui.c index c85804d..6eeb3b0 100644 --- a/spaghetti-monster/ramping-ui.c +++ b/spaghetti-monster/ramping-ui.c @@ -149,6 +149,7 @@ uint8_t steady_state(EventPtr event, uint16_t arg) { } // hold: change brightness (brighter) else if (event == EV_click1_hold) { + // ramp slower in discrete mode if (arg % ramp_step_size != 0) { return 0; } @@ -159,8 +160,10 @@ uint8_t steady_state(EventPtr event, uint16_t arg) { #ifdef USE_THERMAL_REGULATION target_level = memorized_level; #endif - // FIXME: only blink once - if ((memorized_level == MAX_1x7135) || (memorized_level == MAX_LEVEL)) { + // only blink once for each threshold + if ((memorized_level != actual_level) + && ((memorized_level == MAX_1x7135) + || (memorized_level == MAX_LEVEL))) { set_level(0); delay_ms(7); } @@ -169,6 +172,7 @@ uint8_t steady_state(EventPtr event, uint16_t arg) { } // click-release-hold: change brightness (dimmer) else if (event == EV_click2_hold) { + // ramp slower in discrete mode if (arg % ramp_step_size != 0) { return 0; } @@ -180,8 +184,10 @@ uint8_t steady_state(EventPtr event, uint16_t arg) { #ifdef USE_THERMAL_REGULATION target_level = memorized_level; #endif - // FIXME: only blink once - if ((memorized_level == MAX_1x7135) || (memorized_level == 1)) { + // only blink once for each threshold + if ((memorized_level != actual_level) + && ((memorized_level == MAX_1x7135) + || (memorized_level == 1))) { set_level(0); delay_ms(7); } -- cgit v1.2.3