From dbe0f3c575bf8c681446abc8b4f790f8b3f5cfe6 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Sat, 26 May 2018 17:23:17 +1000 Subject: [PATCH] HAL_ChibiOS: fixed assert in reboot with asserts enabled we can't sleep with interrupts off --- libraries/AP_HAL_ChibiOS/Scheduler.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libraries/AP_HAL_ChibiOS/Scheduler.cpp b/libraries/AP_HAL_ChibiOS/Scheduler.cpp index 98ff7c7b56..24a98419bf 100644 --- a/libraries/AP_HAL_ChibiOS/Scheduler.cpp +++ b/libraries/AP_HAL_ChibiOS/Scheduler.cpp @@ -249,7 +249,8 @@ void Scheduler::reboot(bool hold_in_bootloader) disable_interrupts_save(); // wait for 1ms to ensure all pending DMAs are complete - delay_microseconds(1000); + uint32_t start_us = AP_HAL::micros(); + while (AP_HAL::micros() - start_us < 1000) ; // busy loop // reboot NVIC_SystemReset();