[SYS] Implement a central queue (#1767)
to avoid concurrency issues when modules or/and gateways want to publish data
This commit is contained in:
1 parent
ca9ef664ab
commit
029409c0c3
39 files changed
+491
-407
No files matched your search
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user