scheduler/mqtt running assync with psram, sync without psram

This commit is contained in:
MichaelDvP
2024-08-15 07:56:24 +02:00
parent 7dc4dc67f6
commit 20b833b4ee
5 changed files with 26 additions and 7 deletions

View File

@@ -41,8 +41,12 @@ void MqttSettingsService::startClient() {
}
#ifndef TASMOTA_SDK
if (_state.enableTLS) {
isSecure = true;
_mqttClient = new espMqttClientSecure(espMqttClientTypes::UseInternalTask::NO);
isSecure = true;
if (emsesp::EMSESP::system_.PSram() > 0) {
_mqttClient = new espMqttClientSecure(espMqttClientTypes::UseInternalTask::YES);
} else {
_mqttClient = new espMqttClientSecure(espMqttClientTypes::UseInternalTask::NO);
}
if (_state.rootCA == "insecure") {
static_cast<espMqttClientSecure *>(_mqttClient)->setInsecure();
} else {
@@ -59,8 +63,12 @@ void MqttSettingsService::startClient() {
return;
}
#endif
isSecure = false;
_mqttClient = new espMqttClient(espMqttClientTypes::UseInternalTask::NO);
isSecure = false;
if (emsesp::EMSESP::system_.PSram() > 0) {
_mqttClient = new espMqttClient(espMqttClientTypes::UseInternalTask::YES);
} else {
_mqttClient = new espMqttClient(espMqttClientTypes::UseInternalTask::NO);
}
static_cast<espMqttClient *>(_mqttClient)->onConnect([this](bool sessionPresent) { onMqttConnect(sessionPresent); });
static_cast<espMqttClient *>(_mqttClient)->onDisconnect([this](espMqttClientTypes::DisconnectReason reason) { onMqttDisconnect(reason); });
static_cast<espMqttClient *>(_mqttClient)
@@ -76,7 +84,9 @@ void MqttSettingsService::loop() {
_disconnectedAt = configureMqtt() ? 0 : uuid::get_uptime();
_reconfigureMqtt = false;
}
_mqttClient->loop();
if (emsesp::EMSESP::system_.PSram() == 0) {
_mqttClient->loop();
}
}
bool MqttSettingsService::isEnabled() {