restart_esp_if_memory_low

This commit is contained in:
Evan Feenstra
2023-06-27 13:40:17 -07:00
parent 49db229f55
commit d5b89b6544

View File

@@ -140,10 +140,6 @@ pub fn make_event_loop(
log::info!("=> starting the main signing loop..."); log::info!("=> starting the main signing loop...");
let flash_db = ctrlr.persister(); let flash_db = ctrlr.persister();
while let Ok(event) = rx.recv() { while let Ok(event) = rx.recv() {
unsafe {
let size = esp_idf_sys::heap_caps_get_free_size(4);
log::info!("Available DRAM: {}", size);
}
match event { match event {
Event::Connected => { Event::Connected => {
mqtt_sub(&mut mqtt, client_id, SUB_TOPICS); mqtt_sub(&mut mqtt, client_id, SUB_TOPICS);
@@ -170,6 +166,7 @@ pub fn make_event_loop(
if lss_b.len() == 0 { if lss_b.len() == 0 {
// no muts, respond directly back! // no muts, respond directly back!
mqtt_pub(&mut mqtt, client_id, topics::VLS_RETURN, &vls_b); mqtt_pub(&mut mqtt, client_id, topics::VLS_RETURN, &vls_b);
restart_esp_if_memory_low();
} else { } else {
// muts! send LSS first! // muts! send LSS first!
msgs = Some((vls_b, lss_b.clone())); msgs = Some((vls_b, lss_b.clone()));
@@ -198,6 +195,9 @@ pub fn make_event_loop(
// set msgs back to None // set msgs back to None
msgs = None; msgs = None;
mqtt_pub(&mut mqtt, client_id, &ret_topic, &bytes); mqtt_pub(&mut mqtt, client_id, &ret_topic, &bytes);
if ret_topic == topics::VLS_RETURN {
restart_esp_if_memory_low();
}
} }
Err(e) => { Err(e) => {
let err_msg = GlyphError::new(1, &e.to_string()); let err_msg = GlyphError::new(1, &e.to_string());
@@ -222,6 +222,13 @@ pub fn make_event_loop(
Ok(()) Ok(())
} }
fn restart_esp_if_memory_low() {
unsafe {
let size = esp_idf_sys::heap_caps_get_free_size(4);
log::info!("Available DRAM: {}", size);
}
}
fn handle_control_response( fn handle_control_response(
root_handler: &RootHandler, root_handler: &RootHandler,
approver: &SphinxApprover, approver: &SphinxApprover,