diff --git a/sphinx-key/src/core/events.rs b/sphinx-key/src/core/events.rs index c8e63d9..c41a1ab 100644 --- a/sphinx-key/src/core/events.rs +++ b/sphinx-key/src/core/events.rs @@ -225,9 +225,10 @@ pub fn make_event_loop( fn restart_esp_if_memory_low() { unsafe { let size = esp_idf_sys::heap_caps_get_free_size(4); - let threshold = 65000; - log::info!("Available DRAM: {}, Restart Threshold: {}", size, threshold); - if size < threshold { + let block = esp_idf_sys::heap_caps_get_largest_free_block(4); + let threshold = 35000; + log::info!("Available DRAM: {}, Max block: {}, Restart Threshold: {}", size, block, threshold); + if block < threshold { log::info!("Restarting esp!"); esp_idf_sys::esp_restart(); }