diff --git a/components/services/audio_controls.c b/components/services/audio_controls.c index d950a1d3..8bcd9887 100644 --- a/components/services/audio_controls.c +++ b/components/services/audio_controls.c @@ -148,7 +148,7 @@ static void control_rotary_handler(void *client, rotary_event_e event, bool long case ROTARY_PRESSED: if (long_press) rotary.long_state = !rotary.long_state; else if (rotary.volume_lock) action = ACTRLS_TOGGLE; - else action = KNOB_RIGHT; + else action = KNOB_PUSH; break; default: break; diff --git a/components/services/buttons.c b/components/services/buttons.c index 93e842fe..eed67640 100644 --- a/components/services/buttons.c +++ b/components/services/buttons.c @@ -81,7 +81,8 @@ static void IRAM_ATTR gpio_isr_handler(void* arg) if (xTimerGetPeriod(button->timer) > button->debounce / portTICK_RATE_MS) xTimerChangePeriodFromISR(button->timer, button->debounce / portTICK_RATE_MS, &woken); // does that restart the timer? else xTimerResetFromISR(button->timer, &woken); - // ESP_EARLY_LOGI(TAG, "INT gpio %u level %u", button->gpio, button->level); + if (woken) portYIELD_FROM_ISR(); + ESP_EARLY_LOGD(TAG, "INT gpio %u level %u", button->gpio, button->level); } /****************************************************************************************