mirror of
https://github.com/Laxilef/OTGateway.git
synced 2025-12-11 02:34:29 +05:00
fixed heap size
fixed core numbers for esp32 tasks compatible with lolin_c3_mini delete task main loop() for esp32
This commit is contained in:
@@ -35,22 +35,18 @@ lib_deps =
|
||||
lib_ignore =
|
||||
extra_scripts =
|
||||
post:tools/build.py
|
||||
build_flags =
|
||||
${env.build_flags}
|
||||
-D RAM_SIZE=81920
|
||||
build_flags = ${env.build_flags}
|
||||
|
||||
[esp32_defaults]
|
||||
platform = espressif32
|
||||
lib_deps =
|
||||
${env.lib_deps}
|
||||
laxilef/ESP32Scheduler@^1.0
|
||||
laxilef/ESP32Scheduler@^1.0.0
|
||||
lib_ignore =
|
||||
extra_scripts =
|
||||
post:tools/esp32.py
|
||||
post:tools/build.py
|
||||
build_flags =
|
||||
${env.build_flags}
|
||||
-D RAM_SIZE=327680
|
||||
build_flags = ${env.build_flags}
|
||||
|
||||
|
||||
; Boards
|
||||
@@ -129,6 +125,21 @@ build_flags =
|
||||
-D LED_STATUS_PIN=11
|
||||
-D LED_OT_RX_PIN=10
|
||||
|
||||
[env:c3_mini]
|
||||
platform = ${esp32_defaults.platform}
|
||||
board = lolin_c3_mini
|
||||
lib_deps = ${esp32_defaults.lib_deps}
|
||||
lib_ignore = ${esp32_defaults.lib_ignore}
|
||||
extra_scripts = ${esp32_defaults.extra_scripts}
|
||||
build_flags =
|
||||
-D PIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH
|
||||
-D OT_IN_PIN_DEFAULT=8
|
||||
-D OT_OUT_PIN_DEFAULT=10
|
||||
-D SENSOR_OUTDOOR_PIN_DEFAULT=0
|
||||
-D SENSOR_INDOOR_PIN_DEFAULT=1
|
||||
-D LED_STATUS_PIN=4
|
||||
-D LED_OT_RX_PIN=5
|
||||
|
||||
[env:nodemcu_32s]
|
||||
platform = ${esp32_defaults.platform}
|
||||
board = nodemcu-32s
|
||||
|
||||
@@ -7,22 +7,37 @@ public:
|
||||
MainTask(bool _enabled = false, unsigned long _interval = 0) : Task(_enabled, _interval) {}
|
||||
|
||||
protected:
|
||||
const char* taskName = "Main task";
|
||||
const int taskCore = 2;
|
||||
|
||||
unsigned long lastHeapInfo = 0;
|
||||
unsigned long firstFailConnect = 0;
|
||||
unsigned int minFreeHeapSize = RAM_SIZE;
|
||||
unsigned int heapSize = 0;
|
||||
unsigned int minFreeHeapSize = 0;
|
||||
|
||||
const char* getTaskName() {
|
||||
return "Main";
|
||||
}
|
||||
|
||||
int getTaskCore() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
void setup() {
|
||||
pinMode(LED_STATUS_PIN, OUTPUT);
|
||||
|
||||
#if defined(ESP32)
|
||||
heapSize = ESP.getHeapSize();
|
||||
#elif defined(ESP8266)
|
||||
heapSize = 81920;
|
||||
#elif
|
||||
heapSize = 99999;
|
||||
#endif
|
||||
minFreeHeapSize = heapSize;
|
||||
}
|
||||
|
||||
void loop() {
|
||||
if (eeSettings.tick()) {
|
||||
INFO("Settings updated (EEPROM)");
|
||||
}
|
||||
|
||||
|
||||
if (vars.parameters.restartAfterTime > 0 && millis() - vars.parameters.restartSignalTime > vars.parameters.restartAfterTime) {
|
||||
vars.parameters.restartAfterTime = 0;
|
||||
|
||||
@@ -88,7 +103,7 @@ protected:
|
||||
}
|
||||
|
||||
if (millis() - lastHeapInfo > 10000 || minFreeHeapSizeDiff > 0) {
|
||||
DEBUG_F("Free heap size: %u of %u bytes, min: %u bytes (diff: %u bytes)\n", freeHeapSize, RAM_SIZE, minFreeHeapSize, minFreeHeapSizeDiff);
|
||||
DEBUG_F("Free heap size: %u of %u bytes, min: %u bytes (diff: %u bytes)\n", freeHeapSize, heapSize, minFreeHeapSize, minFreeHeapSizeDiff);
|
||||
lastHeapInfo = millis();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,12 +12,17 @@ public:
|
||||
MqttTask(bool _enabled = false, unsigned long _interval = 0) : Task(_enabled, _interval) {}
|
||||
|
||||
protected:
|
||||
const char* taskName = "Mqtt task";
|
||||
const int taskCore = 1;
|
||||
|
||||
unsigned long lastReconnectAttempt = 0;
|
||||
unsigned long firstFailConnect = 0;
|
||||
|
||||
const char* getTaskName() {
|
||||
return "Mqtt";
|
||||
}
|
||||
|
||||
int getTaskCore() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
void setup() {
|
||||
DEBUG("[MQTT] Started");
|
||||
|
||||
|
||||
@@ -12,8 +12,13 @@ public:
|
||||
}
|
||||
|
||||
protected:
|
||||
const char* taskName = "OpenTherm task";
|
||||
const int taskCore = 2;
|
||||
const char* getTaskName() {
|
||||
return "OpenTherm";
|
||||
}
|
||||
|
||||
int getTaskCore() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
void setup() {
|
||||
vars.parameters.heatingMinTemp = settings.heating.minTemp;
|
||||
@@ -27,7 +32,7 @@ protected:
|
||||
ot->begin(OpenThermTask::handleInterrupt, this->responseCallback);
|
||||
|
||||
ot->setYieldCallback([](void* self) {
|
||||
static_cast<OpenThermTask*>(self)->yield();
|
||||
static_cast<OpenThermTask*>(self)->delay(10);
|
||||
}, this);
|
||||
|
||||
#ifdef LED_OT_RX_PIN
|
||||
|
||||
@@ -11,9 +11,6 @@ public:
|
||||
RegulatorTask(bool _enabled = false, unsigned long _interval = 0) : LeanTask(_enabled, _interval) {}
|
||||
|
||||
protected:
|
||||
const char* taskName = "Regulator task";
|
||||
const int taskCore = 2;
|
||||
|
||||
bool tunerInit = false;
|
||||
byte tunerState = 0;
|
||||
byte tunerRegulator = 0;
|
||||
@@ -21,8 +18,14 @@ protected:
|
||||
float prevEtResult = 0;
|
||||
float prevPidResult = 0;
|
||||
|
||||
|
||||
void setup() {}
|
||||
const char* getTaskName() {
|
||||
return "Regulator";
|
||||
}
|
||||
|
||||
int getTaskCore() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
void loop() {
|
||||
byte newTemp = vars.parameters.heatingSetpoint;
|
||||
|
||||
|
||||
@@ -6,9 +6,6 @@ public:
|
||||
SensorsTask(bool _enabled = false, unsigned long _interval = 0) : LeanTask(_enabled, _interval) {}
|
||||
|
||||
protected:
|
||||
const char* taskName = "Sensors task";
|
||||
const int taskCore = 2;
|
||||
|
||||
OneWire* oneWireOutdoorSensor;
|
||||
OneWire* oneWireIndoorSensor;
|
||||
|
||||
@@ -25,7 +22,10 @@ protected:
|
||||
bool emptyIndoorTemp = true;
|
||||
|
||||
|
||||
void setup() {}
|
||||
const char* getTaskName() {
|
||||
return "Sensors";
|
||||
}
|
||||
|
||||
void loop() {
|
||||
if (settings.sensors.outdoor.type == 2) {
|
||||
outdoorTemperatureSensor();
|
||||
|
||||
@@ -27,11 +27,17 @@ public:
|
||||
WifiManagerTask(bool _enabled = false, unsigned long _interval = 0) : Task(_enabled, _interval) {}
|
||||
|
||||
protected:
|
||||
const char* taskName = "WifiManager";
|
||||
const int taskCore = 1;
|
||||
bool connected = false;
|
||||
unsigned long lastArpGratuitous = 0;
|
||||
|
||||
const char* getTaskName() {
|
||||
return "WifiManager";
|
||||
}
|
||||
|
||||
int getTaskCore() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
void setup() {
|
||||
wm.setDebugOutput(settings.debug);
|
||||
|
||||
|
||||
@@ -17,10 +17,6 @@
|
||||
|
||||
|
||||
|
||||
#ifndef RAM_SIZE
|
||||
#define RAM_SIZE 999999
|
||||
#endif
|
||||
|
||||
#ifndef OT_IN_PIN_DEFAULT
|
||||
#define OT_IN_PIN_DEFAULT 0
|
||||
#endif
|
||||
|
||||
@@ -81,4 +81,8 @@ void setup() {
|
||||
Scheduler.begin();
|
||||
}
|
||||
|
||||
void loop() {}
|
||||
void loop() {
|
||||
#if defined(ESP32)
|
||||
vTaskDelete(NULL);
|
||||
#endif
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user