|
|
|
@ -259,7 +259,7 @@ void printBmeSensorData()
|
|
|
|
|
renderer.drawVerticalLine(OledWidth - MaxTextWidth - 2, 0, OledPages - 1); |
|
|
|
|
|
|
|
|
|
if (iaqAccuracy == 0) |
|
|
|
|
snprintf(buffer, MaximumChars, "IAQ:---\n---ppm\n"); |
|
|
|
|
snprintf(buffer, MaximumChars, "IAQ:---\n----ppm\n"); |
|
|
|
|
else |
|
|
|
|
snprintf(buffer, MaximumChars, "IAQ:%d\n%dppm\n", |
|
|
|
|
static_cast<int>(iaq), //
|
|
|
|
@ -323,7 +323,11 @@ extern "C" void sensorTask(void *)
|
|
|
|
|
bmeSensorInit(); |
|
|
|
|
readStateFromEeprom(); |
|
|
|
|
|
|
|
|
|
uint16_t counter = 0; |
|
|
|
|
constexpr auto TaskDelay = 10; |
|
|
|
|
constexpr auto SaveContentDelay = 12 * 60 * 60 * 1000; |
|
|
|
|
constexpr auto SaveContentDelayCounts = SaveContentDelay / TaskDelay; |
|
|
|
|
|
|
|
|
|
uint32_t counter = 0; |
|
|
|
|
|
|
|
|
|
while (1) |
|
|
|
|
{ |
|
|
|
@ -331,13 +335,13 @@ extern "C" void sensorTask(void *)
|
|
|
|
|
bsecRun(); |
|
|
|
|
printBmeSensorData(); |
|
|
|
|
|
|
|
|
|
if (counter++ >= 1000) |
|
|
|
|
if (counter++ >= SaveContentDelayCounts) |
|
|
|
|
{ |
|
|
|
|
counter = 0; |
|
|
|
|
initDisplay(); |
|
|
|
|
writeStateToEeprom(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
vTaskDelay(pdMS_TO_TICKS(10)); |
|
|
|
|
vTaskDelay(pdMS_TO_TICKS(TaskDelay)); |
|
|
|
|
} |
|
|
|
|
} |