From a6c39dee84fc7ac0ba88fc002a9fdf4d961ef794 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Thu, 7 Jan 2016 08:33:33 +1100 Subject: [PATCH] AP_NavEKF: don't allocate EKF1 unless it will leave 4k free memory --- libraries/AP_NavEKF/AP_NavEKF.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libraries/AP_NavEKF/AP_NavEKF.cpp b/libraries/AP_NavEKF/AP_NavEKF.cpp index a2c631a94e..0a3c97ebdf 100644 --- a/libraries/AP_NavEKF/AP_NavEKF.cpp +++ b/libraries/AP_NavEKF/AP_NavEKF.cpp @@ -421,6 +421,11 @@ bool NavEKF::InitialiseFilterDynamic(void) return false; } if (core == nullptr) { + if (hal.util->available_memory() < 4096 + sizeof(*core)) { + _enable.set(0); + GCS_MAVLINK::send_statustext_all(MAV_SEVERITY_CRITICAL, "NavEKF: not enough memory"); + return false; + } core = new NavEKF_core(*this, _ahrs, _baro, _rng); if (core == nullptr) { _enable.set(0);