diff --git a/libraries/AP_DroneCAN/AP_DroneCAN.cpp b/libraries/AP_DroneCAN/AP_DroneCAN.cpp index 810e1ba074857..b6f3703b449ec 100644 --- a/libraries/AP_DroneCAN/AP_DroneCAN.cpp +++ b/libraries/AP_DroneCAN/AP_DroneCAN.cpp @@ -506,6 +506,10 @@ void AP_DroneCAN::loop(void) continue; } + // ensure that the DroneCAN thread cannot completely saturate + // the CPU, preventing low priority threads from running + hal.scheduler->delay_microseconds(100); + canard_iface.process(1); safety_state_send();