diff --git a/src/bmeSPI.cxx b/src/bmeSPI.cxx index dd7b28e..7fb7f26 100644 --- a/src/bmeSPI.cxx +++ b/src/bmeSPI.cxx @@ -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(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)); } } \ No newline at end of file