fix heap monitoring on esp32

This commit is contained in:
Yurii
2023-12-14 06:20:30 +03:00
parent e13984f869
commit adbf67ac13
3 changed files with 16 additions and 9 deletions

View File

@@ -51,9 +51,9 @@ protected:
digitalWrite(settings.externalPump.pin, false);
}
#if defined(ESP32)
#if defined(ARDUINO_ARCH_ESP32)
heapSize = ESP.getHeapSize();
#elif defined(ESP8266)
#elif defined(ARDUINO_ARCH_ESP8266)
heapSize = 81920;
#elif
heapSize = 99999;
@@ -82,7 +82,6 @@ protected:
}
if (WiFi.status() == WL_CONNECTED) {
//timeClient.update();
vars.sensors.rssi = WiFi.RSSI();
if (!tMqtt->isEnabled() && strlen(settings.mqtt.server) > 0) {
@@ -140,7 +139,11 @@ protected:
void heap() {
unsigned int freeHeapSize = ESP.getFreeHeap();
unsigned int maxFreeBlockSize = ESP.getMaxFreeBlockSize();
#if defined(ARDUINO_ARCH_ESP32)
unsigned int maxFreeBlockSize = ESP.getMaxAllocHeap();
#else
unsigned int maxFreeBlockSize = ESP.getMaxFreeBlockSize();
#endif
if (freeHeapSize < 1024 || maxFreeBlockSize < 1024) {
vars.actions.restart = true;
@@ -152,7 +155,11 @@ protected:
}
unsigned int minFreeHeapSizeDiff = 0;
uint8_t heapFrag = ESP.getHeapFragmentation();
#if defined(ARDUINO_ARCH_ESP32)
uint8_t heapFrag = 0;
#else
uint8_t heapFrag = ESP.getHeapFragmentation();
#endif
if (freeHeapSize < minFreeHeapSize) {
minFreeHeapSizeDiff = minFreeHeapSize - freeHeapSize;

View File

@@ -269,7 +269,7 @@ protected:
Log.sinfoln(FPSTR(S_WIFI), F("Connected. IP: %s, RSSI: %hhd"), WiFi.localIP().toString().c_str(), WiFi.RSSI());
}
#if defined(ESP8266)
#if defined(ARDUINO_ARCH_ESP8266)
if (connected && millis() - lastArpGratuitous > 60000) {
arpGratuitous();
lastArpGratuitous = millis();

View File

@@ -9,9 +9,9 @@
#include "ESPTelnetStream.h"
#endif
#if defined(ESP32)
#if defined(ARDUINO_ARCH_ESP32)
#include <ESP32Scheduler.h>
#elif defined(ESP8266)
#elif defined(ARDUINO_ARCH_ESP8266)
#include <Scheduler.h>
#elif
#error Wrong board. Supported boards: esp8266, esp32
@@ -117,7 +117,7 @@ void setup() {
}
void loop() {
#if defined(ESP32)
#if defined(ARDUINO_ARCH_ESP32)
vTaskDelete(NULL);
#endif
}