diff --git a/examples/OneOpenAir/OneOpenAir.ino b/examples/OneOpenAir/OneOpenAir.ino index d418a1d9..6d5d8f18 100644 --- a/examples/OneOpenAir/OneOpenAir.ino +++ b/examples/OneOpenAir/OneOpenAir.ino @@ -271,6 +271,7 @@ void setup() { Serial.println("Display brightness: " + String(configuration.getDisplayBrightness())); oledDisplay.setBrightness(configuration.getDisplayBrightness()); + delay(DISPLAY_DELAY_SHOW_CONTENT_MS); } @@ -1422,13 +1423,17 @@ void postUsingCellular(bool forcePost) { // Post success, remove the data that previously sent from queue xSemaphoreTake(mutexMeasurementCycleQueue, portMAX_DELAY); - measurementCycleQueue.erase(measurementCycleQueue.begin(), - measurementCycleQueue.begin() + queueSize); if (measurementCycleQueue.capacity() > RESERVED_MEASUREMENT_CYCLE_CAPACITY) { Serial.println("measurementCycleQueue capacity more than reserved space, resizing.."); - measurementCycleQueue.resize(RESERVED_MEASUREMENT_CYCLE_CAPACITY); + std::vector tmp; + tmp.reserve(RESERVED_MEASUREMENT_CYCLE_CAPACITY); + measurementCycleQueue.swap(tmp); + } else { + // If not more than the capacity, then just clear all the values + measurementCycleQueue.clear(); } + xSemaphoreGive(mutexMeasurementCycleQueue); }