From 0bb730d550687a2fb4a9b92ed8cfce00dd67bd57 Mon Sep 17 00:00:00 2001 From: Rahix <rahix@rahix.de> Date: Sat, 14 Sep 2019 20:04:27 +0200 Subject: [PATCH] fix(pmic): Fix interrupts getting ignored during startup Fixes #156 Signed-off-by: Rahix <rahix@rahix.de> --- epicardium/modules/pmic.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/epicardium/modules/pmic.c b/epicardium/modules/pmic.c index af336fe7..f8760532 100644 --- a/epicardium/modules/pmic.c +++ b/epicardium/modules/pmic.c @@ -314,6 +314,13 @@ void vPmicTask(void *pvParameters) } xTimerStart(pmic_timer, 0); + /* + * Poll once before going to sleep in case the PMIC had triggered an + * interrupt already. This can occur, for example, if the user presses + * the power-button during the version splash-screen. + */ + pmic_poll_interrupts(&button_start_tick, 0); + while (1) { uint32_t reason; if (button_start_tick == 0) { -- GitLab