[SYS] Implement a central queue (#1767)

to avoid concurrency issues when modules or/and gateways want to publish data
This commit is contained in:
Florian authored and GitHub committed 2023-11-08 07:26:21 -06:00
1 parent ca9ef664ab
commit 029409c0c3
39 files changed
+491 -407

No files matched your search

+4 -4
View File
@@ -44,8 +44,8 @@ void MeasureDistance() {
if (millis() > (timeHCSR04 + TimeBetweenReadingHCSR04)) {
timeHCSR04 = millis();
Log.trace(F("Creating HCSR04 buffer" CR));
StaticJsonDocument<JSON_MSG_BUFFER> jsonBuffer;
JsonObject HCSR04data = jsonBuffer.to<JsonObject>();
StaticJsonDocument<JSON_MSG_BUFFER> HCSR04dataBuffer;
JsonObject HCSR04data = HCSR04dataBuffer.to<JsonObject>();
digitalWrite(HCSR04_TRI_GPIO, LOW);
delayMicroseconds(2);
digitalWrite(HCSR04_TRI_GPIO, HIGH);
@@ -69,8 +69,8 @@ void MeasureDistance() {
Log.trace(F("HC SR04 Distance hasn't changed" CR));
}
distance = d;
if (HCSR04data.size() > 0)
pub(subjectHCSR04, HCSR04data);
HCSR04data["origin"] = subjectHCSR04;
enqueueJsonObject(HCSR04data);
}
}
}