aboutsummaryrefslogtreecommitdiff
path: root/spaghetti-monster/ramping-ui.c
diff options
context:
space:
mode:
Diffstat (limited to 'spaghetti-monster/ramping-ui.c')
-rw-r--r--spaghetti-monster/ramping-ui.c14
1 files 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);
}