--- a/main/task_user.c Sat Nov 23 21:43:14 2019 +0100 +++ b/main/task_user.c Sat Nov 23 22:31:49 2019 +0100 @@ -85,13 +85,6 @@ -void user_wakeup() -{ - xEventGroupSetBits(xEventGroupUser, TASK_USER_WAKEUP); -} - - - bool user_busy(void) { if (xEventGroupGetBits(xEventGroupUser) & TASK_USER_BUSY) @@ -101,7 +94,6 @@ - /** * @brief Get a keyboard character from the rotary encoder. * @param curkey The referenced value if the key being edited. @@ -681,6 +673,9 @@ } else if (gpio_get_level(io_num) == 1) { PushDuration = (esp_timer_get_time() - pushed) / 1000; ESP_LOGI(TAG, "GPIO rotary button intr, val: %d time: %d", gpio_get_level(io_num), PushDuration); + if (! user_busy()) { + xEventGroupSetBits(xEventGroupUser, TASK_USER_WAKEUP); + } } } else { ESP_LOGE(TAG, "GPIO[%d] unknown intr, val: %d", io_num, gpio_get_level(io_num));