3 #if defined(ARDUINO_ARCH_AVR) 14 extern unsigned int __heap_start;
15 extern void *__brkval;
24 struct __freelist *nx;
28 extern struct __freelist *__flp;
35 struct __freelist* current;
37 for (current = __flp; current; current = current->nx)
40 total += (int) current->sz;
49 if ((
int)__brkval == 0)
51 free_memory = ((int)&free_memory) - ((int)&__heap_start);
55 free_memory = ((int)&free_memory) - ((int)__brkval);
56 free_memory += _freeListSize();
61 #elif defined(ARDUINO_ARCH_ESP8266) || defined(ARDUINO_ARCH_ESP32) 65 #if defined(ARDUINO_ARCH_ESP8266) 66 #include "user_interface.h" 67 #elif defined(ARDUINO_ARCH_ESP32) 68 #include "esp_system.h" 72 return system_get_free_heap_size();