[SYS] Optimize memory usage (#1632)
Add MQTT BLEtask stack follow up and reduce allocated stack Other memory usage optimizations
This commit is contained in:
1 parent
b03e18260f
commit
9bbe909661
3 files changed
+15
-14
No files matched your search
@@ -277,7 +277,7 @@ void ActuatorTrigger() {
|
||||
PowerIndicatorOFF();
|
||||
}
|
||||
// Send the state of the switch to the broker so as to update the status
|
||||
StaticJsonDocument<JSON_MSG_BUFFER> jsonBuffer;
|
||||
StaticJsonDocument<64> jsonBuffer;
|
||||
JsonObject ONOFFdata = jsonBuffer.to<JsonObject>();
|
||||
ONOFFdata["cmd"] = (int)level;
|
||||
# ifdef ESP32
|
||||
@@ -292,7 +292,7 @@ void ActuatorTrigger() {
|
||||
|
||||
void stateONOFFMeasures() {
|
||||
//Publish actuator state
|
||||
StaticJsonDocument<JSON_MSG_BUFFER> jsonBuffer;
|
||||
StaticJsonDocument<64> jsonBuffer;
|
||||
JsonObject ONOFFdata = jsonBuffer.to<JsonObject>();
|
||||
ONOFFdata["cmd"] = (int)digitalRead(ACTUATOR_ONOFF_GPIO);
|
||||
pub(subjectGTWONOFFtoMQTT, ONOFFdata);
|
||||
|
||||
+9
-8
@@ -59,6 +59,9 @@ BTConfig_s BTConfig;
|
||||
|
||||
TheengsDecoder decoder;
|
||||
|
||||
static TaskHandle_t xCoreTaskHandle;
|
||||
static TaskHandle_t xProcBLETaskHandle;
|
||||
|
||||
struct decompose {
|
||||
int start;
|
||||
int len;
|
||||
@@ -147,6 +150,7 @@ String stateBTMeasures(bool start) {
|
||||
jo["btqsum"] = btQueueLengthSum;
|
||||
jo["btqsnd"] = btQueueLengthCount;
|
||||
jo["btqavg"] = (btQueueLengthCount > 0 ? btQueueLengthSum / (float)btQueueLengthCount : 0);
|
||||
jo["bletaskstack"] = uxTaskGetStackHighWaterMark(xProcBLETaskHandle);
|
||||
|
||||
if (start) {
|
||||
Log.notice(F("BT sys: "));
|
||||
@@ -348,9 +352,6 @@ public:
|
||||
|
||||
void PublishDeviceData(JsonObject& BLEdata, bool processBLEData = true);
|
||||
|
||||
static TaskHandle_t xCoreTaskHandle;
|
||||
static TaskHandle_t xProcBLETaskHandle;
|
||||
|
||||
atomic_int forceBTScan;
|
||||
|
||||
JsonBundle jsonBTBufferQueue[BTQueueSize];
|
||||
@@ -646,7 +647,7 @@ std::string convertServiceData(std::string deviceServiceData) {
|
||||
char spr[2 * serviceDataLength + 1];
|
||||
for (int i = 0; i < serviceDataLength; i++) sprintf(spr + 2 * i, "%.2x", (unsigned char)deviceServiceData[i]);
|
||||
spr[2 * serviceDataLength] = 0;
|
||||
Log.trace("Converted service data (%d) to %s" CR, serviceDataLength, spr);
|
||||
Log.trace(F("Converted service data (%d) to %s" CR), serviceDataLength, spr);
|
||||
return spr;
|
||||
}
|
||||
|
||||
@@ -969,7 +970,7 @@ void setupBT() {
|
||||
xTaskCreatePinnedToCore(
|
||||
coreTask, /* Function to implement the task */
|
||||
"coreTask", /* Name of the task */
|
||||
10000, /* Stack size in bytes */
|
||||
5120, /* Stack size in bytes */
|
||||
NULL, /* Task input parameter */
|
||||
1, /* Priority of the task */
|
||||
&xCoreTaskHandle, /* Task handle. */
|
||||
@@ -1043,9 +1044,9 @@ void launchBTDiscovery(bool overrideDiscovery) {
|
||||
StaticJsonDocument<JSON_MSG_BUFFER> jsonBuffer;
|
||||
deserializeJson(jsonBuffer, properties);
|
||||
for (JsonPair prop : jsonBuffer["properties"].as<JsonObject>()) {
|
||||
Log.trace("Key: %s", prop.key().c_str());
|
||||
Log.trace("Unit: %s", prop.value()["unit"].as<const char*>());
|
||||
Log.trace("Name: %s", prop.value()["name"].as<const char*>());
|
||||
Log.trace(F("Key: %s"), prop.key().c_str());
|
||||
Log.trace(F("Unit: %s"), prop.value()["unit"].as<const char*>());
|
||||
Log.trace(F("Name: %s"), prop.value()["name"].as<const char*>());
|
||||
String entity_name = String(model_id.c_str()) + "-" + String(prop.key().c_str());
|
||||
String unique_id = macWOdots + "-" + String(prop.key().c_str());
|
||||
# if OpenHABDiscovery
|
||||
|
||||
@@ -13,16 +13,16 @@ void errorDecoder(SHTC3_Status_TypeDef message) // The errorDecoder function pri
|
||||
{
|
||||
switch (message) {
|
||||
case SHTC3_Status_Nominal:
|
||||
Log.notice("Nominal");
|
||||
Log.notice(F("Nominal"));
|
||||
break;
|
||||
case SHTC3_Status_Error:
|
||||
Log.error("Error");
|
||||
Log.error(F("Error"));
|
||||
break;
|
||||
case SHTC3_Status_CRC_Fail:
|
||||
Log.error("CRC Fail");
|
||||
Log.error(F("CRC Fail"));
|
||||
break;
|
||||
default:
|
||||
Log.error("Unknown return code");
|
||||
Log.error(F("Unknown return code"));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user