From e22cca3ffe482dc35f6bb6c8e17e28acfda6f0e5 Mon Sep 17 00:00:00 2001 From: Kamil Sroka Date: Thu, 16 Nov 2017 09:56:37 +0100 Subject: [PATCH] [nRF52840] prevent nRF52840 platform from permanent sleeping (#2345) --- examples/platforms/nrf52840/alarm.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/examples/platforms/nrf52840/alarm.c b/examples/platforms/nrf52840/alarm.c index e2fcf3703..4e472d168 100644 --- a/examples/platforms/nrf52840/alarm.c +++ b/examples/platforms/nrf52840/alarm.c @@ -211,6 +211,13 @@ static void AlarmStartAt(uint32_t aT0, uint32_t aDt, AlarmIndex aIndex) if (AlarmShallStrike(now, aIndex)) { HandleCompareMatch(aIndex, true); + + /** + * Normally ISR sets event flag automatically. + * Here we are calling HandleCompareMatch explicitly and no ISR will be fired. + * To prevent possible permanent sleep on next WFE we have to set event flag. + */ + __SEV(); } else {